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.

Git sencillo con Eclipse

Nueva versión del curso de Git sencillo para desarrollados, ahora en Eclipse.

Entorno de desarrollo Eclipse

Eclipse es uno de los principales entornos de desarrollo, sobre todo dentro del mundo java.

Es la base de varias herramientas de desarrollo, por ejemplo el JBoss Developer Studio y la herramienta de Spring están basadas en Eclipse.

Y esta herramientas desde hace ya unas cuantas versiones lleva incorporado un cliente de git, concretamente se llama egit.

Git sencillo para desarrolladores con Eclipse

Para que podais aprender los conceptos de git con la herramienta que prefiráis he creado el curso git sencillo para desarrolladores con Eclipse.

La parte teórica y el indice es el mismo que el curso con SourceTree. Simplemente se explica con Eclipse en vez de SourceTree.

Diferencias entre las herramientas

En mi opinión ambas herramientas son muy válidas para usar con Git. Pero si que creo que para empezar es más sencilla SourceTree. Probablemente porque sea una herramienta nativa y en el caso del EGit es una adaptación al funcionamiento del Eclipse.

Si que es cierto que permite hacer algunas cosas más avanzadas de forma gráfica que Sourcetree no permite.

Hay personas que prefieren que la herramienta de control de versiones esté integrada dentro de su entorno de trabajo, algo que SourceTree no permite.

Para un uso habitual de comitear y gestión de ramas básicas creo que es perfectamente válida. Su uso es bastante sencillo y nos evita el tedioso proceso de instalación de Sourcetree, que en más de una ocasión me ha dado problemas.

Con Egit es mucho mas simple ya que viene incluido en la herramienta.

De todas maneras tenéis la posibilidad de elegir cual de las dos queréis aprender a usar, o con cual de las dos vais a trabajar.

El curso de Sourcetree es un poco más largo porque hay que explicar el funcionamiento del programa, cosa que en el caso del EGit no he hecho porque asumo que el que quiera utilizar Egit ya tiene unos conceptos mínimos del entorno de desarrollo.

Inscríbete

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.

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.

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

Git sencillo con SourceTree #4 Trabajo sin conexión

Conexión o mas bien la falta de conexión es de lo que quiero hablar. Porque es con una de las características que le pido aun control de versiones. Una característica que el típico subversión no proporciona pero si Git.

Es algo que puede parecer accesorio pero creo que es útil.

Video de la lección Trabajo sin conexión

Transcripción de la lección Trabajo sin conexión

Bien esta es una característica que cuando lees la documentación de git la verdad es que yo creo, en mi modesta opinión, la explican muy mal.

Porque dicen es que si vas en un avión que no tienes conexión y puedes hacer un comit. Y dices claro si yo normalmente no viajo en avión y la gente con la que trabajo en los proyectos normalmente no viaja en avión.

Con lo cual parece que es una característica que no necesitas porque bueno si yo estoy siempre en mis oficinas… Pero lo que sí que es cierto es que por lo menos a mí a veces sí que me ha pasado y sobre todo cada vez más con que proliferan más los portátiles que te puedes encontrar que tú estás con tu portátil y estás en en un cliente en el que no tienes conexión a tu oficina, a tu repositorio.

Y poder estar haciendo en esas situaciones commit o tener acceso a todo el histórico de los cambios en el código pues la verdad es que es una característica que a mí por lo menos me parece que es bastante interesante.

Puede ser que haya gente que no lo necesite nunca porque tiene un ordenador de sobremesa y no tiene posibilidad de trabajar fuera de su ordenador con su conectividad con su servidor.

Pero la verdad es que yo creo que es una funcionalidad que es bastante bastante interesante

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.

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.

Git sencillo con SourceTree #3 Que le pido a un control de versiones

Creo que la mejor forma, o por lo menos la mas amena, de explicar porque git es un scm (control de versiones) tan bueno es enfocarlo desde una perspectiva de que es lo que le pediría a un control de versiones.

Vídeo de la lección

Transcripción de la lección

Probablemente la mejor forma de entender por qué el git está teniendo tanto éxito últimamente es contando qué es lo que, por lo menos yo le pido a un control de versiones.

De tal forma que podremos ver que efectivamente git encaja o da respuesta a todas estas necesidades.

Y ese es uno de los motivos por los cuales está teniendo tantísimo éxito.

Entonces vamos a ir viendo uno a uno todas esas cosas que yo por lo menos le pido a un control de versiones.

Para pues entender que es cada cosa, en qué situación nos puede servir, nos puede ser de utilidad y ver pues que efectivamente el git nos encaja en todas esas cosas

 

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.

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.

Git sencillo con SourceTree #2 Temario y objetivos

En esta ocasión quiero explicarte cual es el temario y objetivos del curso git sencillo para desarrolladores con SourceTree.

Es algo importante para que puedas saber si este curso te puede interesar o no. Espero que sea que si. Y si tienes alguna duda sobre el curso me la puedes dejar en los comentarios.

Lección Temario y Objetivos

Transcripción de la lección

Como en la introducción del curso he comentado el objetivo de este curso es explicar enseñaros lo que es git de una forma muy muy didáctica.

Es el ejemplo que os puse es el ejemplo de la situación que yo quiero resolver, y a la que me dirijo en este curso. Que es que venga mi jefe y me diga: Iñigo tienes un compañero nuevo que en este caso serías tu y no sabe git, cuéntale lo que necesita saber.

Lógicamente en esas situaciones pues lo que se hace es dar unas explicaciones muy concretas, nadie se pone en plan academicista a explicar todas las opciones que tiene la herramienta, sino que bueno pues se va a explicar lo concreto, lo que se necesitan en el día a día, para que pueda funcionar en un proyecto.

En esas situaciones nadie pretende que te conviertas en el híper experto que sabe absolutamente todas las opciones y todos los parámetros que tiene la herramienta. Sino que lo que se quiere es ser capaz de producir, qué es lo qué estas en una empresa normalmente.

El temario del curso, bueno es el que aquí tenéis. Hay una primera parte en la que lo que hago es explicar que es git o porque git está tan de moda.

Es decir básicamente en vez de estar enumerando todas las cualidades, pues básicamente es un enfoque de decir bueno que es lo que le pido yo a un control de versiones.

Después de haber trabajado con diferentes controles de versiones en diferentes proyectos, de diferentes tamaños, diferentes tipos de equipos, bueno que es lo que yo le pediría a un control de versiones.

Y ahí se ve porque realmente git es tan bueno y está teniendo tanto auge.

Luego en el siguiente bloque ya entraríamos más en lo que es el uso del git. Vamos a ir viendo todos los conceptos necesarios con ejemplos prácticos de lo que necesitaríamos en el día a día en un proyecto y en el trabajo con un con un control de versiones.

Y luego para finalizar lo que hay es un bloque sobre los flujos de trabajo en git. Al final como git es tan bueno manejando ramas y mergeando entre entre las ramas, pues eso da pie a que se pueden hacer diferentes flujos de trabajo con la herramienta.

Entonces veremos todos los, bueno todos los flujos de trabajo no, los flujos de trabajo más típicos, porque realmente el flujo de trabajo que tú tienes con un control de versiones es la traslación directa de cómo es tu organización, de cómo es tu proyecto y cómo trabajas en él.

Osea cuando hay diferentes tipos de flujos de trabajo es porque hay diferentes necesidades. Entonces en un curso es imposible ver todas las opciones. Vamos a ver las más típicas porque realmente elegir un flujo de trabajo para una determinada organización o un determinado proyecto es más un trabajo de consultoría. De preguntar al cliente que es lo que necesita, como trabaja o como quiere trabajar y adecuar el control de versiones a ese a ese flujo