Maximiliano Osorio

lightning talk




¿Qué es OpenShift?



OpenShift es una plataforma de RedHat.
Del tipo PaaS que permite a personas deploy, host, scale de manera rápida una aplicación en la nube

¿Que es PaaS?


Es una categoría de servicios de la nube.

Que permite fácil desarrollo de aplicaciones sin el costo y la complejidad de manejar, comprar y administrar hardware y software.

Preocuparse del código, no la administración de sistema.

¿No existe Amazon EC2 para esto?


No, Amazon EC2, OpenStack son IaaS. O sea  se preocupa de la máquina y almacenamiento.
 No se preocupa directamente de la aplicación.


¿Qué puedo hacer con OpenShift?


Node.js
Perl
Go Language
Java
Python 2.6/2.7/3.3
Ruby 1.8/1.9

Base de datos

  1. MySQL
  2. MariaDB
  3. PostgreSQL
  4. MongoDB

¿Y cómo lo comienzo a usar?


Tres alternativas.

  • Openshift Online
  • Openshift Enterprise
  • OpenShift Origin

Arquitectura


Arquitectura de OpenShift


Broker: Es un punto de contacto de todas las tareas de administración.

Tareas:
    • DNS
    • Estados de la aplicación
    • Orquesta de los nodos

Nodos


Los nodos son quienes realizan "hosteo" de las aplicaciones de los usuarios

Comunicación


Comunicación es basada:
  • Clientes externos.
  • Broker se comunica con los nodos.OpenShift Enterprise Communication Mechanisms

Función del broker


  • Estado general de la aplicación
  • DNS dinamico por BIND
  • Auth.

Redundacia


  • El broker puede ser balanceado directamente (HaProxy)
  • Los mensajes puede ser balanceado con n activemq
  • Multiples mongodb puede ser configurados en replicas sets.
  • DNS puede configurado con esclavos

Implementing Redundancy in OpenShift Enterprise

GIT


  • Los deploys de las aplicación se hace a través de GIT, permitiendo que sea limpio.
  • Hooks

Acceso SSH


  • Al crear una aplicación tiene acceso también SSH para poder trabajar directamente.

Duda válida: ¿Y la seguridad? 

SElinux al rescate.

Y más


  • Alias, configuración de alias de HTTP
  • Certificados SSL personalizados.


Conceptos


Cartridges:  Son componentes que son unidos a una aplicación. Por ejemplo base de datos, lenguajes de programación. 
Ej: MariaDB, Ruby, Perl.

Gears: Representan el espacio donde se encuentra la aplicación. CPU, RAM y disco.

Simple app creation

Espera! Hablaste de escalar. ¿Como lo hace?


HaProxy: HAProxy is an open source TCP/HTTP load balancer, commonly used to improve the performance of web sites and services by spreading requests across multiple servers


A un click! -> activar balanceo de carga -> disfrutar.


El 90/10: Un gear tiene 10 conexiones, si tiene 9 conexiones ocupadas, crea otro gear!


Scaled Application

Links


Como contribuir:

OpenShift Enterprise

Title


Maximiliano Osorio

lightning talk

lightning talk

By sirspock

lightning talk

  • 299