Alternativas a Docker

¿Alternativas a docker? Pues si efectivamente las hay.

Os voy a contar alguna opcion que hay para tener alternativas a docker.

Lo primero que tenemos que aclarar es: ¿que es lo que entendemos por docker? Hay dos formas de entender docker.

Docker como contenedor

Realmente la primera es entender docker como contenedor. Docker es simplemente como la tecnología de contenedores.

En este caso Docker es una parte de lo que es el instalable que
nos podemos bajar y tener los contenedores, los dockers, en nuestro ordenador.

La alternativa más típica viene a ser el CRI o el CRI-O, que es la máquina que ha desarrollado Google muy orientado a orquestador Kubernetes.

Igual que nosotros podemos bajarnos el docker community edition para utilizarlo en nuestro portátil, en nuestro equipo de trabajo, hay una versión que lleva implementada la máquina de ejecución de contenedores del CRI que os comentaba, que se llama minishift.

Que al final lo que nos da es lo que sería la tecnología de contenedores más el orquestador. Viene a ser una versión para trabajo en el local del openshift, que ahora vamos a hablar.

Docker como empresa

Y por otra parte si lo que vemos o entendemos como docker es lo que sería la empresa que nos da los productos. como la versión enterprise de Docker, también hay más alternativas.

Realmente podemos tener alternativas en la nube tanto de google como de amazon etcétera etcétera y lo que sería más para instalar onpremise, instalar en nuestros ordenadores, en nuestros servidores, en nuestro cpd, la opción es openshift.

OpenShift de Red Hat

Openshift es de redhat. Hay una versión que es de la comunidad y luego hay otra versión que la distribuye redhat con un servicio de subscripciones y soporte.

Entonces OpenShift es lo que vendría a ser el equivalente a docker enterprise que nos da, ya no sólo la tecnología de contenedores, sino también lleva incorporado el kubernetes como el orquestador y toda una serie de servicios que necesitamos para desplegar contenedores en un entorno empresarial.

Tengo una entrada en la que explico por qué los contenedores en una empresa no son suficientes y también alguna serie de consideraciones de seguridad que hay que tener en cuenta con respecto a los contenedores.

La ventaja que tiene redhat es que proporciona tanto el sistema operativo como la tecnología de contenedores como el sistema operativo sobre el que corren esos contenedores. Incluso en muchos casos pues los servidores de aplicaciones.

Es el típico jboss o el Fuse para colas, infinispan para lo que sería o datagrid para lo que sería caché etcétera.

Saber más sobre OpenShift

Si queréis ampliar conocimientos sobre openshift tengo un curso de openshift  con un descuento bastante importante, el precio más barato que vais a poder encontrar.

Os dejo el video

Curso de Docker gratis

¿Un curso de docker gratis? Os estáis preguntando si hay algo mal… Pues no, no hay nada mal.

Curso de Docker gratis

Hoy os quiero anunciar que he hecho público, en YouTube mi curso Docker sencillo para desarrolladores. Así que vais a poder tener acceso a un curso de docker gratis.

Lógicamente en YouTube no se puede tener un certificado de finalización del curso. Para obtenerlo tendríais que recurrir a mi curso. Sí que es cierto que es de pago pero es muy económico.

En mi web vais a encontrar el precio más barato y ahí sí que podéis tener un certificado de finalización.

Si solo os interesa el conocimiento en YouTube podéis tener el mismo curso, exactamente el mismo curso.

Este curso se compone de una serie de secciones.

Sección teoría Docker

Hay una primera parte que es teórica, en la que pues explica lo que es el docker, qué problemas o qué situaciones se solventa.

Ya sé que la parte teórica no es la parte que más suele gustar. Pero creo que es importante para entender un poco y contextualizar lo que es el producto.

Sección instalación Docker

Luego hay otra parte que es de instalación. Vamos a instalar el Docker tanto en Linux, como en windows, como en mac.

Y como entorno de desarrollo vamos a utilizar el eclipse. Básicamente porque es el entorno típico en entornos de desarrollo java, que es en donde yo más me muevo.

Sección uso de Docker

Luego viene una parte que básicamente lo que vamos es a aprender cómo utilizar contenedores o imágenes docker que ya existen.

Vamos a bajarnoslas y vamos a ejecutarlas. Vamos a utilizar el WildFly y una base de datos mysql o maría db.

Sección personalizar Docker

Luego hay otra sección que en la que lo que vamos a ver es cómo crear nuestros propios contenedores.

No vamos a coger un contenedor ya hecho sino que en base a un nuevo existente lo vamos a personalizar.

Sección cadena suministro software con Docker

Y luego ya por último lo que hay es una sección en la que lo que vamos a ver son unas pinceladas de lo que sería Docker dentro de la cadena de suministro de software. Con github, docker compose etcétera etcétera.

Esta parte no la he desarrollado mucho porque creo que el futuro, o más bien el presente son las distribuciones de Kubernetes como OpenShift ahora renombrada a OKD, pero eso en otra entrada 😉

Espero que os resulte interesante, si es así dejármelo en los comentarios que os lo agradecería. Podéis subscribiros al canal y así os llega notificaciones y de paso me ayudáis a propagar el contenido.

Riesgos de seguridad en los contenedores Docker

En esta ocasión os quiero hablar de una cosa que normalmente se nos suele pasar por alto a la mayoría de nosotros cuando trabajamos con los contenedores Docker.

Y es el sistema operativo sobre el que se ejecutan los contenedores, no tanto sobre el que se ejecuta el motor de contenedores, sino sobre el sistema operativo sobre el que se ejecuta nuestro contenedor.

Sobre el contenedor que nos basamos a la hora de crear la imagen.

Los contenedores Docker

Esto de los contenedores está muy bien porque realmente nos proporcionan un servidor que no tenemos que configurar, ya está configurado y simplemente nosotros metemos nuestra aplicación.

Con lo cual como desarrolladores esto lógicamente es una funcionalidad muy interesante.

Sí que es cierto que normalmente los desarrolladores solemos tener una cierta tendencia a no preocuparnos de estas cosas de infraestructura.

Pero realmente esa aplicación que nosotros estamos corriendo sobre un servidor de aplicaciones, típicamente por ejemplo un JBoss eap o un Wildfly etcétera, tienen por debajo unas librerías de un sistema operativo.

Contenedores seguros

La cuestión es que ese sistema operativo nos puede afectar. Ya que tenemos que tener en cuenta que ese sistema operativo tiene bugs y tiene normalmente parches de seguridad que van saliendo.

Con lo cual si nosotros no nos preocupamos de mantener actualizado el sistema operativo sobre el que está ejecutándose en nuestro contenedor podemos tener unos problemas de seguridad.

Se puede ver un ejemplo en las imágenes que están en el Docker Hub, que es el repositorio más popular de imágenes de contenedores. La mayor parte de las imágenes tienen serios problemas de librerías.

Quizás normalmente la última versión es la que puede tener los parches más actualizados.

Lógicamente porque normalmente se han generado hace poco tiempo con lo cual se basa en un sistema operativo que ya tiene corregido todas las vulnerabilidades.

Pero realmente las versiones un poquito más viejas podemos ver que realmente suelen tener bastantes problemas.

Para verlo simplemente tenemos que entrar en el hub de docker. Loguearnos. Ir a la imagen que estemos utilizando, que queramos utilizar y ver cuál es el estado de la  seguridad.

Lógicamente si somos mínimamente exigentes con la seguridad de nuestra infraestructura estas  imágenes no las podríamos utilizar en producción.

En el resto internos sí que se pueden utilizar pero no en producción.

Mantener actualizado los contenedores

Cuando queramos utilizar contenedores tenemos que tener la seguridad de que tenemos un soporte sobre el sistema operativo sobre el que se están ejecutando esos contenedores. Y en general de toda la infraestructura que está por debajo de nuestra aplicación.

Podemos encargarnos nosotros o utilizar un proveedor que nos proporcione esta base actualizada.

Más sobre contenedores

Si queréis pues ampliar conocimientos sobre el tema de los contenedores podéis echar un vistazo a mis cursos sobre contenedores y sobre openshift.

OpenShift es un poco la evolución de los contenedores más orientados a entornos empresariales. Por qué sí que es cierto que un contenedor lo podemos utilizar en nuestro portátil para hacer unas pruebas a nuestro desarrollo. Pero cuando ya entramos en lo que es el uso en entornos empresariales, entornos grandes pues los contenedores se nos quedan un poquito cortos y necesitamos herramientas como openshift

Os dejo el video en el que comentos más sobre este tema

Los contenedores Docker no son suficientes

Si estáis empezando o lleváis un cierto tiempo trabajando con contenedores, lo que popularmente conocemos como docker, este artículo probablemente os resulte interesante. Porque os voy a contar porque los contenedores no son suficientes en una empresa.  Cuales son las carencias o de las limitaciones que tienen los contenedores.

Como comento en mi curso sobre “Docker sencillo para desarrolladores” al final lo que es el docker no deja de ser un contenedor y viene de lo que es los contenedores físicos que se utilizan para transportar mercancías.

El símil que se hace es que antiguamente las mercancías no se transportaban todas de la misma forma. Es decir es la típica imagen de la película de época en la que hay una grúa subiendo con una red, subiendo los baúles de la señora que se va a hacer el viaje en el barco.

Cada mercancía se transportaba de una determinada forma. Con lo cual, pues claro, eso era un problema. ¿Qué solución se le dio?. Meterlo en cajas, qué son los contenedores.

Y los contenedores están muy bien, pero al igual que en un mundo físico los contenedores simplemente solos no sirven para transportar mercancías, porque solo son una caja. Solo es el contenedor que dentro lleva la mercancía. En el mundo del software con los contenedores software pasa exactamente lo mismo.

Es decir un contenedor, una imagen, un contenedor es una imagen en ejecución y realmente para desarrollar pues está muy bien. Pero si tú quieres meterlo dentro de un entorno empresarial pues se quedan un poco corto.

Igual que en el tema de los transportes, el contenedor solo es la caja, pero necesitas los camiones, las grúas, los barcos portacontenedores para mover una mercancía de un sitio a otro. Pues aquí pasa exactamente lo mismo.

¿Porque se nos quedan cortos los contenedores?

Pues porque realmente dentro de lo que es un despliegue de una aplicación normalmente tú no tienes un único contenedor. Sino que tienes múltiples contenedores. Cada aplicación normalmente va en un único contenedor. Y tienes varias copias ejecutándose de ese contenedor.

Entonces realmente puedes llegar a tener un volumen de contenedores en ejecución muy alto y eso es muy difícil de manejar manualmente. Así que necesitas herramientas que te ayuden a manejar esa complejidad y ese volumen.

Aparte de que luego hay una serie de necesidades , por ejemplo de logs, porque como ya sabéis los contenedores son efímeros. Pueden desaparecer en un momento determinado y aparecer en otra máquina etcétera.

Con lo cual pues toda la gestión de logs que tradicionalmente se hacía entrando a la máquina y consultando el fichero pues aquí te puedes encontrar que esa máquina que sería el contenedor ya no existe, ha desaparecido.

Entonces hay un serie de necesidades que surgen con el uso de los contenedores que con el contenedor simplemente no se pueden solventar.

OpenShift como solución a las carencias de los contenedores

Necesitamos herramientas que nos ayuden a esa gestión. Herramientas como OpenShift que es una de las mejores herramientas que hay en este momento para trasladar lo que son los contenedores al mundo empresarial.

Como adquirir conocimiento sobre OpenShift

Si estáis interesados en avanzar en el conocimiento de los contenedores y su empleo en entornos empresariales podéis pasaros por mi página de cursos en el cual tengo referencias a un par de cursos que tengo.

Uno sobre contenedores, sobre docker, y otro sobre concretamente openshift. Enfocados ambos a lo que sería un perfil de desarrollador no tanto a un perfil de sistemas de instalación de los productos. Y yo creo que ahí os podréis hacer una idea más precisa de las interioridades de lo que es el producto openshift.

Os dejo el vídeo en el que explico estas situaciones

Progresar profesionalmente con eventos

RedHat OpenShift

Hoy os quiero hablar, retomando estos articulos que suelo hacer sobre mentoring, sobre marca personal, de una experiencia que yo creo que puede ser interesante para mejorar o para progresar en vuestro trabajo.

Ya sé que os gustan más los contenidos más sobre tecnología, pero creo que es importante también otra serie de conocimientos que nos pueden ayudar a progresar dentro de lo que es una empresa.

Evento junto con RedHat, Intel y Serikat

Concretamente lo que os quiero contar es una experiencia que he tenido hace unos pocos días a través de la empresa en la que trabajo. Ya que hemos organizado un evento junto con RedHat e Intel.

Intel y RedHat suelen montar unos eventos anuales que se llaman “infraestructure tour”. Estos eventos se organizan por las diferentes zonas geográficas de España junto con un partner local. Este año han elegido la empresa en la que trabajo. Y Serikat ha contado conmigo para dar una ponencia.

Concretamente la ponencia era sobre las siete claves de una infraestructura moderna. Yo lo que he estado hablando es un poco sobre lo que es OpenShift. El presente del desarrollo de las aplicaciones y un poco del futuro. Cuál es, cómo se venían haciendo hasta ahora las aplicaciones, qué problemas plantean y qué soluciones podemos tener con herramientas, con contenedores y herramientas como OpenShift.

El reto de preparar una ponencia

Claro cuando tú te enfrentas a estar hablando en un evento en el que están la mayor parte de los clientes de la empresa. Prácticamente todos los jefes de la empresa, pues puede dar un cierto vértigo.

Porque es el típico momento en el que quieres no cagarla. Porque hay mucha gente mirándote y es, como os digo, es el peor momento para liarla. Esa es la típica situación que quieres sí o sí que salga bien.

Claro a la hora de abordarlo pues puedes hacer dos cosas. Puedes entrar en pánico y que te entren sudores fríos o coger y, el planteamiento que he tenido yo, y es un poco a lo que os quería venir y un poco el objetivo de contaros en este artículo.

Es decir: Bueno es una sala con cuarenta y pico personas. Pero al final realmente lo que yo iba a contar era el mensaje que estoy transmitiendo últimamente. Si que enfocado un poco diferente porque el formato era más corto en tiempo y era un perfil de gente más específico que aquí que es un poco más general.

Pero el mensaje era el mismo de siempre y realmente pues, claro, cuando tú estás hablando, o estás en un canal de youtube, o los cursos que tengo. En el que pues ahora mismo tengo 1500 suscriptores. Hay vídeos pues que tienen más de 200 visualizaciones. Pues piensas: realmente puedo hacerlo.

Es decir realmente no es muy diferente de lo que estoy haciendo. Realmente es ser capaz de tener claro cuál es el mensaje que quieres transmitir y simplemente contarlo.

Con lo cual, pues hombre, la verdad es que a mí todas estas cosas que estoy haciendo con los vídeos, que ya tengo pues unos 200 vídeos en youtube más unos cuantos si contamos todos los cursos que tengo, que además son pues eso del tema de docker, OpenShift, git.

Pues la verdad es que eso realmente a mí me ha dado unas tablas para poder enfrentarme a una situación como ésta que os estoy contando de una demo de este tipo de tecnologías. En las que realmente nos jugábamos todos bastante y poder salir muy contento de la experiencia.

Inevitablemente por mucha experiencia que puedas coger en este tipo de cosas pues lógicamente también los compañeros de la empresa te ayudan.

Hicimos ahí unos cuantos ensayos generales para ir puliendo todas estas cosas. Porque realmente cuando tú estás haciendo una demo no es como enYoutube que si algo no va pues lo puedes cortar y puedes editar el vídeo. Ahí ya en directo pues es más complicado. Te lo juegas un poco como a una única carta.

Crecer profesionalmente

Esto es un poco lo que os quería transmitir. No me parece que sea una mala idea el ir haciendo este tipo de cosas de este tipo, de tener canales en youtube o en otras plataformas o hacer y preparar vídeos y contar cursos de las cosas que vamos a sabiendo.

Porque realmente nos da unas tablas para luego poder el afrontar con muchas más garantías este tipo de situaciones. Porque realmente ya no es tan diferente de lo que sueles hacer.

Realmente a mí de todo esto lo que más me costó fue el adaptar el mensaje a un formato que no estaba acostumbrado y a un tipo de gente mucho más específico que lo que es aquí los vídeos y el blog.

Una vez que eso lo conseguí, como os comentaba también con el feedback que me dieron mis compañeros de la empresa, pues la verdad es que fue todo muy bien.

Lógicamente siempre tienes un poquito de miedo escénico, pero la verdad es que estas tablas que he conseguido, con este tipo de tareas que hago aquí en youtube y en los cursos pues me han venido muy bien.

Y eso es un poquitín lo que os quería comentaros animaros a que os podáis meter en este tipo de cosas.

Si os interesan este tipo de conocimientos sobre OpenShift, Git, Docker no dejes de pasaros por mis cursos.

Os dejo el vídeo

Las 7 claves de una infraestructura moderna

Evento RedHat Serikat. Las 7 claves de una infraestructura moderna

El pasado día 17 participé como ponente en la presentación “Las 7 claves de una infraestructura moderna” organizada por RedHat, Intel y Serikat.

Las 7 claves de una infraestructura moderna

La presentación tuvo lugar en el Palacio Euskalduna de Bilbao y conversamos sobre las necesidades de las organizaciones en el ámbito de las tecnologías de la información.

La transformación digital es un concepto que está muy de actualidad.

Comenzó la jornada Iñigo Landa haciendo una presentación sobre la importancia de la transformación digital y la trayectoria de Serikat como partner de RedHat.

Automatización con Ansible

Una de las necesidades de las organizaciones es dotarse de mayor agilidad para poder responder más rápidamente a las necesidades del negocio.

En esta parte de la sesión Javier Martínez Nohalés de RedHat nos introdujo cuales son esas necesidades que se están demandando hoy día por parte de las organizaciones.

Me gustó especialmente el planteamiento del auto consumo de las TI. Tradicionalmente cuando alguien de la organización necesita algún servicio tiene que solicitarlo mediante alguna herramienta de ticket. Este proceso es muy lento y lo que necesitamos es velocidad.

El enfoque que se está imponiendo es dar a los usuarios la posibilidad de consumir directamente el TI de la organización. Igual que cuando compras almacenamiento en una nube, por ejemplo. Simplemente lo solicitas, pagas y disfrutas del servicio, todo en minutos.

Este enfoque lleva a que se necesite automatizar las operaciones de TI. De tal forma que los operadores ya no se dediquen a aprovisionar manualmente, sino que centren su trabajo en definir las automatizaciones y las reglas por las que se rige el aprovisionamiento automático.

Javier nos mostró las posibilidades de la herramienta Ansible en este aspecto.

El camino hacia los microservicios con OpenShift

Esta parte de la presentación la comencé yo hablando de cual ha sido el pasado y el presente del desarrollo de las aplicaciones.

Fue una presentación muy didáctica en la que expuse que oportunidades de mejora hay en el desarrollo de las aplicaciones, siguiendo un enfoque de cadena de suministro de software. Desde que negocio solicita una funcionalidad hasta que esa funcionalidad llega a producción.

Vimos las oportunidades de mejora en la fase de construcción, operaciones y explotación y como OpenShift puede ayudarnos a dotarnos de mayor agilidad.

La argumentación fue un condensado de todo el contenido que he ido compartiendo tanto en este blog, como en los vídeos de YouTube y en mis cursos.

Para rematar la jornada volvió a coger el testigo Javier y nos habló del futuro de la construcción o más bien arquitectura de las aplicaciones. Futuro que está cada vez mas evolucionando hacia los microservicios.

En resumen un evento muy interesante y enriquecedor que pudimos compartir con muchos de nuestros clientes.

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

Versiones de OpenShift

Quiero hablaros de las versiones de OpenShift. Porque hay confusión, sobre todo buscando por internet. Hay recursos, con un par de años o más que no corresponden con las últimas versión del producto

Hay dos grandes grupos de versiones de OpenShift. El cambio fundamental se produjo en la versión 3 de OpenShift.

Versiones de OpenShift anteriores a la 3

Las versiones anteriores a la 3 se basan en el concepto de Gear. Una solución técnica propia de OpenShift. En estas versiones existían los cartuchos. Estos contenían los programas a ejecutar.

Pero como os comentaba es una solución propietaria.

Versiones de OpenShift 3 y superiores

A partir de la versión 3 de OpenShift el producto lo han reescrito para usar la tecnología de contenedores. Es lo que popularmente conocemos como Docker. Y también para usar Kubernetes. Aparte de otra serie de herramientas que complementan y arropan a estas dos, que son las principales.

Contenedores en OpenShift

La piedra angular de las versiones 3 de OpenShift son los contenedores. Todo lo que se despliega y se construye en openshift son contenedores. Es la unidad mínima de trabajo de OpenShift.

Si estais interesados en manejar OpenShift, bien para instalar y mantener el producto como si simplemente queréis usarlo, debes conocer de contenedores docker.

Kubernetes orquestador de contenedores

Una de las problemáticas de los contenedores, sobre todo cuanto más hacia los micro servicios orientemos nuestra arquitectura, es lo atómico de los servicios.

El planteamiento de los contenedores acaba llevando hacia una arquitectura mas cercana a los micro servicios que las arquitecturas tradicionales. Esto hace que no se tengan servidores con multitud de aplicaciones corriendo en ellos.

Se tiende más a un servidor con una aplicación.

Esto da lugar a muchos servidores desplegados, con lo que es necesario disponer de una solución de orquestación.

Esta es la responsabilidad de Kubernetes.

Como mejorar la base de conocimientos

Si os interesa este mundo de OpenShift y de los contenedores, que tanto auge está teniendo actualmente, es necesario tener unos sólidos conocimientos de la tecnología de contenedores.

En la página de cursos dispongo de algunos recursos para poder adquirir estos conocimientos. También en esta misma página hay más contenido sobre OpenShift y sobre Docker

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.