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

https://youtu.be/eaFOigowtrs

OpenShift origin vs OpenShift online vs Minishift

OpenShift origin, OpenShift online, minishift… Muchas opciones para aparentemente lo mismo.

Te voy a contar cuales son las diferencias entre ellos y cual te puede resultar más interesante para cada situación.

Estrategia de RedHat

RedHat tiene una filosofía de trabajo que consiste en tener, por decirlo así, dos versiones de sus productos. Por una parte tiene la versión de la comunidad, que es gratuita y sin soporte, salvo la que puedas conseguir de la propia comunidad.

Y por otra parte tiene el producto comercial, basado en el de la comunidad. Este producto es el que tiene soporte, por el que hay que pagar, lógicamente. Estas versiones comerciales también son sometidas a controles de calidad para certificarlos en determinados entornos.

OpenShift origin

Una vez entendida la filosofía de trabajo de RedHat es más fácil entender que es OpenShift Origin.

En este caso estamos hablando de la versión de la comunidad del OpenShift. Es una versión que te puedes descargar libremente e instalar en cualquier servidor de tu organización.

Lógicamente como hemos comentado no tiene soporte salvo el que provee la comunidad.

La dirección es www.openshift.org . Si te das cuenta acaba en .org

OpenShift online

OpenShift online en contraposición al origin no es una versión de la comunidad sino que es comercial.

Es decir tendrás un soporte por parte del fabricante.

La particularidad es que es una versión albergada en servidores en la nube y operada por RedHat.

No vas a necesitar instalar nada en tus servidores, simplemente tendrás que pagar por lo que consumas.

OpenShift dedicated

Quizá seas de los que no gustas de tener tus aplicaciones en la nube y prefieres tenerlos en tus servidores dentro de tu organización.

Para estas necesidades existe la versión OpenShift dedicated. Es el planteamiento tradicional, pagar por un software e instalarlo y operado tu mismo.

Esta versión te da acceso también al soporte del fabricante.

MiniShift y Container Development Kit

Quizá quieras echarle un vistazo de forma rápida a como funciona OpenShift sin pagar por la versión en la nube, pero sin necesidad de hacer una instalación completa de OpenShift.

Para esta situación puedes utilizar Minishift o bien el Container Development Kit.

En esencia son versiones de OpenShift origin y dedicated pero instaladas en una única máquina para que puedas realizar las pruebas de forma facil.

Introducirte en OpenShift

Si estás interesado en OpenShift y quieres ir por la vía rápida puedes utilizar mi curso OpenShift sencillo para desarrolladores.

En un poco más de dos horas vas a poder ver el funcionamiento básico de OpenShift. Así te será más fácil poder tomar una decisión.

OpenShift oc client

Cliente de OpenShift

El openshift oc client es la forma de interactuar con nuestro openshift. Vamos a ver como utilizarlo.

OpenShift oc client vs Minishift client

Hay que diferenciar los dos clientes que intervienen en el uso de openshift, sobre todo cuando lo instalamos con un minishift.

Las primeras veces que trabajamos con openshift en un minishift resulta confuso el motivo de que existan dos clientes.

El motivo es muy sencillo, minishift es una forma fácil de tener un openshift origin instalado en local. Es por ello que necesitamos dos clientes, uno para interactuar con el minishift y otro para interactuar con el openshift.

Que aporta el cliente oc de OpenShift

La respuesta rápida es: todo. Es la herramienta para interactuar con el openshif y realizar las tareas de gestión.

Hay que tener en cuenta que el openshift es una herramienta eminentemente de infraestructura. Independientemente de que desde desarrollo nos aprovechemos de sus cualidades.

Las personas que normalmente manejan este tipo de infraestructuras están bastante habituadas a la línea de comandos.

Sobre todo porque el tener una línea de comandos potente facilita hacer scripts. Y esta automatización es lo que nos interesa en este tipo de herramientas.

El contenido del vídeo

En el video lo que vamos a ver como acceder al cliente oc desde una instalación de minishift. Veremos algunos de los comandos y explicaremos las diferencias entre las dos herramientas. Esta herramienta  nos dará acceso a toda la potencia de openshift.

https://youtu.be/KfE4Gu2NhAI

Si os interesa este tipo de contenido no dejes de pasar por la página de cursos. Donde podréis encontrar más contenido referido a todos los temas de optimización de equipos de desarrollo que tengo ahora publicados.

Con ello me ayudáis a costear los materiales necesarios para crear el resto de contenido gratuito que hay tanto en este web como en el canal de YouTube.

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

Configurar Minishift

Quiero enseñaros a configurar Minishift. Por lo menos la configuración básica.

Configurar Minishift vs OpenShift.

Lo primero que hay que aclarar es que la configuración de Minishift es completamente diferente a la de OpenShift.

Realmente Minishift es una versión empaquetada de OpenShift. Es decir es una forma fácil de tener un OpenShift instalado en nuestro ordenador.

Esto hace que tengamos dos configuraciones. La propia del minishift. Es decir como queremos configurar la máquina virtual en la que corre el OpenShift.

Y por otra parte la configuración propia del OpenShift.

Ene ste caso vamos a ver la configuración del Minishift.

Configuración básica

La configuración que vamos a ver en el vídeo es la configuración básica. Lógicamente no vamos a ver todas las opciones.

Normalmente dentro del enfoque de un equipo de desarrollo lo que vamos a necesitar configurar son cosas básicas. Normalmente necesitaremos subirle la memoria o el espacio en disco duro.

No es tan habitual tener que modificar la configuración de red. Si es el caso normalmente ese tipo de configuración la suele hacer la gente de sistemas. Ya que ellos son los que mejor conocen todas las peculiaridades de la red.

De todas maneras el procedimiento es el mismo tanto para subir la memoria como para cambiar el resto de configuraciones.

A tener en cuenta

Cuando vayáis a configurar el minishift tener en cuenta que hay ciertos parámetros que si los cambiáis puede que os obligue a empezar de cero. Así que lo mejor es dimensionar bien la máquina.

Aunque el minishift se utiliza principalmente en entornos locales.

El video

Os dejo el video en el que os muestro como configurar el minishift.

https://youtu.be/cqiQ40DPup4

SI os ha gustado el video y quereis más contenido sobre optimización de equipos de desarrollo podéis echarle un vistazo a mi página de cursos. Ahí encontrareis más contenido y me ayudáis a costear el contenido gratuito que tengo.

Desinstalar MiniShift

En esta ocasión vamos a ver como desinstalar MiniShift.

Desinstalar Minishift

Desinstalar un minishift no es un proceso complejo. Simplemente hay que saber que ficheros y directorios hay que borrar.

Hay diferentes grados el desinstalaciones. La primera es simplemente desinstalar la máquina virtual.

Esto nos puede ser útil si lo que queremos es volver a empezar de cero, por ejemplo si hemos hecho pruebas con el openshift y queremos empezar de una copia limpia.

Luego también podemos hacer eliminaciones mas drásticas. Es decir desinstalar completamente el producto.

El vídeo

Creo que lo mejor es que veáis el vídeo en el que os enseño todos los pasos a dar para desintalar minishift. Básicamente porque no hay mucho mas en lo que me pueda explicar. Es una desinstalación.

https://youtu.be/ANwK3ynbf_s

Lo único recordaros que si os interesan este tipo de contenidos y quereis profundizar en alguno de ellos podéis pasaros por la página de cursos. Ahí encontrareis contenido mas completo y estructurado. Y también me ayudáis a sufragar los costes del contenido gratuito que produzco.

OpenShift: instalar Minishift

Vamos a instalar Minishift la versión local del OpenShift, el competidor de Docker Enterprise de Red Hat.

Que es minishift

Minishift es una versión del OpenShift Origin empaquetada en una máquina virtual para usar en entornos locales.

Normalmente es para hacer pruebas sin tener que instalar todo un cluster completo. También se puede utilizar cuando lo que se quiere es tener un openshift en local para no usar los openshift de los entornos productivos. Por ejemplo porque no tenemos buena conectividad con esos entornos.

Porque usar MiniShift

Creo que es una forma muy fácil de introducirse en el mundo del OpenShift y por extensión del empleo de contenedores Docker en entornos empresariales. Sobre todo teniendo en cuenta la fuerza que tiene el fabricante, RedHat, en el mercado empresarial.

Formas de instalación

Hay dos forma de instalar el Minishift. Nosotros vamos a optar por la mas sencilla que es utilizando VirtualBox. Porque sirve para todas las plataformas. Tanto Windows, como Linux y macOS.

Es una instalación muy sencilla de realizar, básicamente va sola, pero hay que saber ciertas cosas para arrancarla adecuadamente.

Arranque del MiniShift

El arranque del Minishift es bastante sencillo, pero hay que conocer algunos parámetros par poder realizadlo correctamente.

En otro video explicaré como poder facilitarnos el trabajo de arrancarlo ya parametrizado, para no tener que andar recordando la sintaxis de los parámetros.

Video instalar MiniShift

Como siempre os dejo el vídeo.

https://youtu.be/RcZW4ZRzl-Q

¿Te interesa OpenShift?

Si estás leyendo esta página la pregunta puede resultar un poco obvia. Estoy pensando en realizar un curso sobre OpenShift y si te interesa el tema estaría encantado de escuchar opiniones.

No tengas el más mínimo reparo es dejármelas en los comentarios. Si tienes alguna experiencia con OpenShift también me gustaría que la compartiésemos. Esta web no pretende ser un canal unidireccional sino bidireccional.

Evolución sobre Docker: Openshift

Vamos a hablar de OpenShift como evolución de Docker.

Ya sé que no es una entrada típica porque os voy a hacer un anuncio/pregunta.

Antecedentes

Los que me seguís ya sabéis que llevo bastante tiempo metiéndome en el mundo de los contenedores, lo que popularmente conocemos como Docker.

Algunos incluso habréis cursado mi curso Docker sencillo para desarrolladores.

Algunos de los alumnos del curso me plantearon que lo ampliase dándole un enfoque más empresarial, más de despliegue de aplicaciones y no tanto para un entorno sencillo como puedes conseguir solo con Docker.

OpenShift, evolución lógica

Probablemente pensemos que la evolución lógica sea utilizar Docker Enterprise. Pero también existe otra opción, que es el Openshift.

Esta es la alternativa de Red Hat. Es decir son productos competidores. En mi caso y por mi trabajo yo soy más de Red Hat que de Docker. Por eso estoy metiéndome en la plataforma ofrecida por Red Hat.

Así que estoy empezando a preparar un curso con las cosas que voy aprendiendo. Va a ser un enfoque similar al curso de docker pero con Openshift.

Es decir muy práctico, como si entrases en mi equipo y tuvieses que ponerte a trabajar. Saber lo que se necesita en el día a día. Luego ya podremos ir profundizando.

Creo que es más sencillo dar el salto a soluciones empresariales con este planteamiento que desde Docker Enterprise.

¿Tienes alguna experiencia con Openshift o Docker Enterprise? Déjamela en los comentarios. Y si tienes algún tema de Openshift que te interese que trate en el curso también.

WordPress en Openshift, un blog en un periquete

Como instalar un WordPress en OpenShift para tener un blog en un periquete.

Motivación

Estoy mejorando este web poco a poco y el otro día tuve un problema de configuración. Así que necesitaba hacer alguna prueba. Lo típico instalar un wordpress limpio, probar y borrar.

Pero claro estando tan orientado a la optimización de equipos de desarrollo como estoy no era plan de hacerlo de cualquier manera.

WordPress en Openshift

Aquí es donde ha venido al rescate OpenShift. Básicamente porque me ha permitido tener un WordPress con su correspondiente base de datos sin apenas esfuerzo.

Lo único que hay que tener es un Minishift y la plantilla de WordPress en OpenShift.

OpenShift en la optimización de equipos

Este uso de wordpress es una muestra, muy pequeña, de lo que nos puede aportar OpenShift a la optimización de los equipos de desarrollo.

En muy poco tiempo hemos podido disponer de una infraestructura para usarla. Lo que mas ha tardado es esperar a que se bajasen las imágenes.

Y lo que es mas importante la podemos eliminar sin dejar rastro. No mas ordenadores lentos por tanta porqueria de instalar y desinstalarla programas.

Yo ya no instalo nada directamente en mi ordenador. Antes todo lo hacia a través de Docker y ahora usando MiniShift/OpenShift. Es infinitamente más cómodo.

Las plantillas de WordPress

Desde el punto de vista de un desarrollador toda la potencia está en tener las plantillas.

En este caso disponemos de una ya hecha que hemos podido utilizar directamente. Pero si necesitásemos personalizarla también podríamos.

Esta es la gran potencia de esta herramienta, la facilidad para disponer de infraestructura en un par de «botonazos».

Eso si para personalizar las plantillas es muy recomendable, por no decir imprescindible, conocer Docker.

Si no te manejas con los contenedores Docker tengo un curso en el que explico de forma muy sencilla los principios básicos. Te invito a echarle un vistazo.

Os dejo el vídeo

Aquí te dejo el vídeo para que puedas ver como tener un wordpress en un periquete.