Podcast Píldoras Tecnológicas… a la segunda va la vencida.

Bueno, pues hoy empezamos una etapa nueva. Un podcast que puedes escuchar en Spotify, iTunes y en otras plataformas

Realmente, casi se podría decir que es un segundo intento de algo que ya intente hace algún tiempo que es tener un podcast

Lo que pasa es qué bueno en la primera etapa básicamente lo que tenía era los contenidos que hacía en los vídeos pasados a audio.

Entonces, pues tampoco le encontraba mucho sentido y tampoco le di mucha continuidad. 

Así que ahora lo que hago es una segunda intentona, básicamente porque han pasado unos cuantos años y pues ya todo lo que es el contenido, tanto del canal como de la página web pues ya se ha ido asentando.

Y sí que tenía yo una cierta sensación en los últimos tiempos de qué bueno pues lo que es el canal de youtube, que la verdad es que está teniendo mucho éxito, para lo que yo me esperaba, ya vamos por los 4500 suscriptores.

Pues como os decía ese canal de Youtube si que me estaba dando cuenta pues que hay algunos vídeos en los que básicamente son de opinión, que yo lo único que hago es hablar.

Y claro, aunque pueda parecer un poco pues que estoy aquí contando mis penas y mis lamentaciones.

Realmente grabar un vídeo lleva bastante trabajo, porque a diferencia de lo que sería un screencast que bueno que es grabar la pantalla y la voz.

En el caso de lo que es salir una persona, o salir yo en este caso hablando, pues claro un screencast lo puedes grabar como se suele decir vulgarmente en pijama pero cuándo sales ya pues tú en pantalla, pues tienes que cuidar un poco más todas las cosas, tienes que preocuparte de la iluminación etc. 

Entonces es bastante más complicado y lo que sí que estaba viendo es que me estaba costando, me resultaba un poco… me daba pereza directamente. Osea me daba un poco pereza grabar los vídeos.

Entonces lo que quiero es probar este formato de podcast, a ver si en esta segunda intentona consigo darle un poco de cuerpo y sentirme un poco más cómodo, para pues tener todo este tipo de contenido, que básicamente va a ser el mismo, la misma temática que lo que hablo en el canal y en la página web.

Pero para tener informaciones o contenidos que sea un poco más… que no requiera tener una pantalla, simplemente que sea audio.

Eso no quiere decir en ningún momento, que voy a dejar de subir vídeos. Cuando haya algún contenido que comentaros pues que requiera lo que sería una pantalla o ver una pantalla, una página web, una aplicación, o lo que sería el ordenador por supuesto lo voy a seguir subiendo a Youtube.

Y el contenido pues va a ser como decía el mismo, o sea, sobre temas de lo que sería cadena suministro software o DevOps que se llama ahora más.

Luego temas de arquitectura de aplicaciones voy a intentar que sea más lo que serían aplicaciones cloud nativas, o sea que arquitecturas más estilo o más orientadas a la nube. Y sobre todo, pues bueno, un poco todas estas cosas que están relacionadas con el desarrollo y lo que vendría a ser básicamente las dos piezas fundamentales: 

DevOps, sobre todo con muchos temas de contenedores kubernetes que es lo que hoy día más se está moviendo.

Y arquitecturas de aplicaciones orientadas a estas plataformas de contenedores de kubernetes. Lo que sería orientado a la nube, el cloud native.

Quiero que los contenidos sean cortitos de máximo 4 o 5 minutillos porque no me gusta, una de las cosas que no me gustan de los podcast que he estado viendo es que suelen ser contenidos pues de una hora, media hora y a mí eso pues la verdad es que se me hace muy pesado.

Quiero que sean contenidos mucho más cortos, más concretos para que sea más ameno el escucharlo 

Así qué bueno, pues para este primer episodio, pues simplemente agradecerte que estés ahí escuchando.

Espero que me sigáis dando el apoyo como he tenido en la página web y en el canal de youtube, que la verdad es que lo agradezco muchísimo y a ver si entre todos, pues bueno, vamos generando una comunidad en torno a estos conceptos, a estas temáticas de desarrollo y de todo lo que es el DevOps todo lo que es kubernetes, openshift, contenedores, arquitectura de aplicaciones, etcétera

Nos vemos en el próximo episodio

s2i: más alternativas a Dockerfile

s2i otra alternativa a Dockerfile

Después del éxito de la anterior entrada sobre jib, en esta te voy a mostrar la otra alternativa que comentaba en la entrada anterior. Source To Image (s2i) se usa en OpenShift.

s2i Source To Image

Es una alternativa para construir imágenes de tecnología Docker. Tiene sus ventajas e inconvenientes, como todo. Para mi el inconveniente sobre todo si usas java y maven es que cada vez se baja las dependencias, al ejecutarse dentro de un contenedor nuevo.

La ventaja es que si tu imagen la vas a desplegar en OpenShift vas a usar en tu local la misma herramienta que luego se usará en OpenShift.

Pero mejor te dejo el video para que puedas verlo en acción, y recuerda pasarte por mis cursos si quieres formarte en estos temas de Docker, OpenShift, Kubernetes, etc

Alternativa para Dockerfile

Jib alternativa a Dockerfile

Si, existen alternativas para los Dockerfiles. Ya vimos hace unos pocas semanas la posibilidad de utilizar podman, que es un remplazo completo a Docker y hoy quiero enseñarte otra alternativa, pero restringida a la construcción de las imágenes.

No sé tú, pero yo he llegado al mundo de los contenedores, Kubernetes, OpenShift y en general a la cultura DevOps desde la parte de desarrollo. Así que me preocupa mucho que el equipo de desarrollo pueda aprovechar la tecnología de contenedores de una forma fácil.

Podemos usar la herramienta s2i que vimos en el curso de OpenShift pero realmente implica un paso más.

Jib de Google

Jib es una alternativa para Dockerfile creada por Google, que para mí tiene un importante beneficio y es que se integra con maven de tal forma que podemos crear una imagen Docker con la misma herramienta con la que generamos nuestro aplicativo.

Te invito a echarle un vistazo en el siguiente vídeo

Y no olvides que si necesitas aprender sobre OpenShift o Kubernetes tienes disponibles mis cursos sencillos y orientados a desarrolladores.

kubens: cambia rápidamente de namespace en Kubernetes

kubectx y kubens

Si usas varios namespaces en kubernetes y te resulta un incordio andar cambiando entre ellos ene esta entrada te voy a contar una forma de hacer esas tareas de forma más sencilla.

Kubectx y Kubens

Kubectx y kubens son dos herramientas de linea de comandos que nos simplifican enormemente la tarea de manejar diferentes contextos y namespaces de kubernetes.

En este video te enseño como instalarlos y un breve ejemplo de uso, espero que te guste.

Y si quieres aprender sobre kubernetes pásate por mi curso Kubernetes sencillo para desarrolladores

Kubernetes en Visual Studio Code

Kubernetes en Visual Studio Code

Kubernetes en Visual Studio Code, dos de las herramientas del momento juntas.

Kubernetes

El orquestador de contenedores estándar de facto en el mercado es Kubernetes. Cada día que pasa van tomando más importancia los contenedores y con ello la necesidad de gestionarlo adecuadamente.

En estas labores Kubernetes se destaca como el mejor orquestador, incluido en multitud de nubes, como la de Azure, Google y Amazon y en productos de nube hídrica como OpenShift.

Sin duda una herramienta que hay que conocer.

Visual Studio Code

Probablemente el editor de código más en boga actualmente. Lejos van quedando los pesados entornos de desarrollo como Eclipse y Netbeans. Hoy día empiezan a predominar este tipo de editores más ligeros basados en HTML.

Si quieres aprender más sobre Kubernetes no dejes de pasarte por mi curso Kubernetes sencillo para desarrolladores

En este video te enseño como puedes utilizar Kubernetes dentro del Visual Studio Code.

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