Autoescalado en Openshift

OpenShift autoescalado

Quiero hablaros del autoescalado en openshift, una de las características que más llama la atención cuando vemos por primera vez el producto.

Que es el autoescalado

El concepto de autoescalado en OpenShift es bastante sencillo de explicar.

Tenemos un número mínimo de instancias de nuestro servicio o aplicación y queremos que cuando esa «máquina» llegue a una determinada carga se cree una instancia nueva. El motivo es  descargar a las que ya existen de trabajo y repartirselo entre más.

Aportación del autoescalado en openshift

En mi opinión el autoescalado en openshift lo que nos puede aportar es una mayor densidad de servicios en el mismo hardware.

El poder crear automáticamente nuevas instancias cambia la perspectiva. Ya no estamos obligados a tener levantadas todas las máquinas para dar servicio a los picos de carga. Es más no necesitamos que las máquinas tengan un dimensionamiesto grande. Podemos empezar con una capacidad básica y según se necesite se irán creando nuevas. Y cuando dejen de necesitarse se destruirán.

Que aporta a la optimización de equipos de desarrollo

Realmente el autoescalado no creo que aporte mucho a la optimización de los equipos de desarrollo. Básicamente porque es una característica que resulta más útil en entornos productivos.

En esos entornos es donde puede ser más necesario el disponer de diferentes instancias y que se vayan creando o destruyendo para adecuarse a la carga del momento.

En un equipo de desarrollo es más útil la creación de entornos en base a plantillas. Como ya vimos con en el articulo de wordpress con openshift es muy fácil de realizar.

Cuando entre un nuevo integrante al equipo por ejemplo.

El vídeo

Os dejo aqui el vídeo en el que os enseño el autoescalado en OpenShift. La URL de la aplicación que se usa en el ejemplo es esta: https://github.com/inigoserrano/cursoOpenShiftAppSin

Si os interesan estos temas no dudes en pasaros por mi página de cursos en la que podréis encontrar contenidos sobre esta temática.

OpenShift sencillo para desarrolladores

OpenShift sencillo para desarrolladores. La sabiduría popular dice que no hay dos sin tres, y este es mi tercer curso.

El futuro del desarrollo y los contenedores Docker

Creo que el futuro, y ya casi presente, del desarrollo de aplicaciones pasa por los contenedores. Lo que popularmente conocemos como Docker.

Los contenedores son una tecnología muy potente y que proporciona claros beneficios. Pero como toda tecnología disruptiva tienen un inconveniente. Hay que conocerla.

Como sabeis los que me seguís en este blog estoy muy interesado en la optimización de los equipos de desarrollo. Y ante una tecnología tan interesante se me plantea una cuestión.

¿Como consigo introducir esta tecnología en el equipo de trabajo?

La primera forma que se me viene a la cabeza es mediante la formación.

OpenShift sencillo para desarrolladores

Con esta necesidad en mente he creado el curso OpenShift sencillo para desarrolladores.

Es un curso muy didáctico y práctico. Con un planteamiento muy simple. Es como si viniese mi jefe y me digese que tengo un nuevo compañero en el equipo que no sabe OpenShift y que tengo que contarle lo necesario para que pueda ser productivo.

Los que hemos estado en esa situación sabemos que nadie se pone en plan academicista. Se cuenta lo que hace falta saber y sin tecnicismos.

Ese es el enfoque del curso. Y de hecho del resto de cursos que tengo.

Gratis vs de pago

Hay personas que plantean que toda la información está gratuitamente en Internet. Es cierto, hay documentación de buena calidad en el web de OpenShift. Pero la cuestión es:

¿En cuanto valoras tu tiempo?

El curso tiene un precio bastante económico y en un par de horas vas a tener una visión general de que es OpenShift y como funciona. Buscando por internet te llevaría bastante más tiempo conseguir.

Además de que con el curso puedes conseguir una certificación que podrás añadir al curriculum.

Curso de Docker vs curso de OpenShift

Tengo también un curso sobre Docker, de hecho fue el primero. La duda podría surgir sobre que es lo que aporta el curso de OpenShift sobre el de Docker.

Son cursos complementarios, de hecho para hacer el curso de OpenShift es imprescindible conocer Docker.

El curso de Docker está más orientado a conocer los fundamentos de la tecnología de contenedores, mientras que el de OpenShift está orientado a conocer la herramienta, y como poner esos contenedores dentro de un entorno empresarial.

OpenShift vs Docker

A la hora de llevar los contenedores Docker a ámbitos empresariales tenemos varias opciones.

Probablemente la que sea más sencilla de ver sea Docker Enterprise. Pero hay otras opciones, como OpenShift.

En el área en el que me muevo RedHat es bastante fuerte. Hay muchos clientes con Linux de RedHat y servidores de aplicaciones JBoss.

Así que, en mi opinión, la evolución lógica es seguir con un fabricante que ya conoces y con el que estás contento. Y sobre todo que tiene un buen producto.

OpenShift se basa en la misma tecnología de los contenedores Docker y en otra serie de herramientas líderes en el mercado, como puede ser Kubernetes.

Pero tampoco quiero destripar todo OpenShift en este post.

Mejor hacer el curso.

Os dejo también el video de presentación

https://youtu.be/LTisjNetUzA

Optimizar equipos con contenedores Docker

Vamos a seguir profundizando en como optimizar equipos de desarrollo.

Ya vimos en una entrada anterior que podíamos optimizar equipos mediante el concepto del aula invertida.  Con este planteamiento vimos que podíamos mejorar la formación de nuestro equipo para reducir los tiempos que necesitan para ser productivos.

Infraestructura

En esta ocasión vamos a tratar otra de las formas de malgasto de tiempo en nuestros equipos como es el tiempo dedicado a las infraestructuras, lo que popularmente se conoce como la «fontanería».

Visión histórica

Antiguamente cuando empezó toda esta arquitectura de aplicaciones basadas en el Web las aplicaciones solían ser bastante sencillas. Normalmente un servidor de aplicaciones y una base de datos y como librerías la de logs y el driver de acceso a base de datos. Y poco mas se usaba.

Hoy día en cambio las aplicaciones son bastante mas complejas, debido a que nuestros clientes nos exigen mas funcionalidades.

Porqué se dedica tanto tiempo a la infraestructura

El hecho de que las aplicaciones sean mas complejas y requieran de innumerables librerías, servidores de cache, de mensajería,  gestores de contenidos, de portales, etc, hace que la instalación de todas esas herramientas sea complejo.

En los entornos web normalmente el desarrollador suele tener la infraestructura instalada en su ordenador local. Lo que hace que los desarrolladores tengan que replicar todos esa infraestructura en su ordenador.

A proyecto mas grande, mas actualizaciones suele haber. Actualizaciones que el desarrollador tiene que incorporarse en su ordenador. Y al final si se hace a mano se dedica mucho tiempo.

Docker optimiza el desarrollo

Docker permite crear una infraestructura mediante una sintaxis muy sencilla y tenerla disponible para los desarrolladores, de tal forma que cualquier programador se pueda conectar al servidor de imágenes Docker, seleccionar la que necesite y bajarla a su ordenador.

Esto hace que sea relativamente sencillo distribuir a los desarrolladores servidores correctamente configurados para el proyecto en que se esté trabajando.

Con esta herramienta podemos reducir los tiempos necesarios para tener la infraestructura en local, tenerla documentada y de forma reproducible.

Formación en Docker

Si te interesa profundizar en Docker y lo que puede aportarte en la optimización del equipo de desarrollo, tengo un curso en Docker con lo que necesita saber un equipo de desarrollo sobre Docker.

Docker UI: Portainer, primer vistazo

Las personas que suelan utilizar Docker sabrán que la interface gráfica que trae por defecto, Kitematic, es un poco simple. Y la línea de comandos puede resultar un poco dura para ciertas personas.

Hay alternativas, como la que suelo utilizar yo, que es el plugin del eclipse. Que es ideal cuando utilizas para tu trabajo el Eclipse. El problema viene cuando no se usa habitualmente ya que es muy pesado abrirlo solo para manejar mas cómodamente el Docker.

Hoy os traigo una alternativa que se llama Portainer.io

Pero no me enrollo mas y os dejo el vídeo.

Curso Docker sencillo para desarrolladores: Ver logs

Esta es la última entrada basada en el curso sobre Docker sencillo para desarrolladores. En ella os cuento como ver los blogs de un contenedor.

Puede parecer algo trivial pero ya he tenido alguna persona que me ha preguntado por como se podían ver los los.

Además esta vez hay ración doble de vídeos, una con la teoría y otra con la práctica.

Recordar que tenéis disponible el curso en la opción Curso del menú superior.

Curso Docker sencillo para desarrolladores: Moda

Cada vez que surge una tecnología disruptiva una de las primeras pregunta que me suelo hacer es cuanto tiene de moda y cuanto de tecnología realmente disruptiva.

Creo que Docker tiene algo de moda, pero también que ha venido para quedarse. Puede que con el tiempo se le empiezan a encontrar carencias, pero que las soluciones tecnológicas serán diferentes, porque nos habremos acostumbrado a ciertas funcionalidades y será difícil que nos las substituyan por algo que no sea como mínimo igual o mejor que lo que ya tenemos.

En resumen creo que Docker ha venido para quedarse.

Os dejo el vídeo y os recuerdo que tenéis toda la información sobre el curso en la opción superior de Cursos. Con un descuento que deja el precio del curso bastante módico.

Curso Docker sencillo para desarrolladores: DevOps

La pregunta que podemos hacernos es si encaja Docker en la tendencia actual por los temas de DevOps.

La respuesta es que si, en el momento que permite acercar los mundos de desarrollo y de operadores, ya que permite que los desarrolladores trabajen con la infraestructura que les proporcionan los operadores de una forma mas sencilla.

Ya no estaremos en las tipicas situaciones en las que los desarrolladores instalamos la infraestructura bajo nuestro criterio. Criterio que luego no coincide con el de los operadores.

Docker permite que la infraestructura se convierta en software y consiguientemente se pueda manejar como tal.

Os dejo la clase de mi cruso sobre Docker en la que hablo sobre este aspecto.

Podeis acceder a mi curso completo sobre Docker en la página de cursos

Cadena de suministro de Software

Lo primero decir que me encanta la imagen destacada de esta entrada. Primero porque representa una cadena y segundo porque me parece muy bonita estéticamente hablando.

El concepto de cadena de suministro de Software no es muy usado, está mas de moda el de devops. Pero a mi la verdad es que el de devops no me gusta tanto, porque hace referencia a desarrolladores y operadores y prefiero utilizar el de cadena de suministro de software, como hacen referencia en Nexus de Sonatype.

Me gusta mas porque desde que nuestro cliente tiene una necesidad, hasta que esa necesidad se pone en producción en forma de un programa, hay que pasar por una serie de fases o una cadena para suministrar ese Software.

Por eso me gusta mas, porque creo que representa mejor lo que pasa, pero claro devops es un nombre mas cortito.

Os dejo bastantes reflexiones mas sobre este concepto en el vídeo

Curso Docker sencillo para desarrolladores: Tamaño

Quizá pueda parecer que el problema de distribuir un entorno de trabajo no sea un problema tan importante.

Pero hay que tener en cuenta el tamaño. En un proyecto pequeño las posibilidades de tener cambios en la infraestructura suelen ser pequeños, pero en equipos u organizaciones grandes si hay más posibilidades.

En este vídeo, que es parte del sobre Docker que tengo, os hablo un poco de este tema.

Curso Docker sencillo para Desarrolladores: Visión histórica

Os podréis preguntar, como se ha llegado a la necesidad de utilizar herramientas como Docker y porque antes no eran necesarias.

En este vídeo os cuento un poco de visión histórica de como se han desarrollado las aplicaciones web, desde hace casi veinte años.

Obviamente está basado en mi experiencia personal. Pero creo que es bastante representativa.

Este vídeo es parte del curso que dispongo sobre Docker. En este podéis acceder a el curso con un cupón de descuento incluido.