La evolución del área tecnológica emerge a un ritmo tan rápido que ni siquiera nos damos cuenta de lo mucho que ya forma parte de nuestras actividades diarias. Si pensamos que era increÃble ir a una Café Internet a principios de los 2000, hoy no podemos vivir sin nuestro teléfono inteligente conectado. Ya sea para intercambiar rápidamente mensajes o texto, unirse a redes sociales o incluso pasar tiempo jugando. El #10yearschallenge representarÃa uno de los cambios más drásticos en la sociedad en la última década.
Durante gran parte de mi vida profesional en TI, que se remonta al #10yearschallenge, siempre he visto muchas aplicaciones en el modelo de servidor de aplicaciones y bases de datos. Normalmente, el desarrollador de la aplicación se centró solo en sus caracterÃsticas, sin preocuparse por problemas como la escalabilidad. Para tener una comparación más actual, es similar a un desarrollador que solo se preocupa por el front-end de una aplicación, pero no por el back-end.
Con la evolución tecnológica, los elementos que antes no se tenÃan en cuenta se han convertido en obligatorios. Las razones para esto son variadas, pero uno de los propósitos más relevantes es el desarrollo de una infraestructura sin puntos de falla, una tarea crucial para la administración de datos. Con el fin de implementar, administrar y escalar aplicaciones y servicios, las estrategias de “Contenedor como servicio†(CaaS) se han adoptado cada vez más porque están alineadas con métodos de software ágiles, especialmente con la metodologÃa DevOps.
Entendiendo el concepto de contenedores
Para explicar la función adecuada de los términos especÃficos de TI, siempre trato de extraer analogÃas de nuestra vida cotidiana. A lo largo de los años de capacitación, he aprendido que el uso de analogÃas simplifica la comprensión de las nuevas tecnologÃas, como los contenedores. ¡Échale un vistazo!
Algo que vemos mucho estos dÃas en las calles, asà como junto a los bares y festivales son los Food Trucks. Aparentemente, este último formato de vehÃculos móviles con el interior equipado para la venta de alimentos y bebidas no tiene nada que ver con el área de TecnologÃa de la Información. No exactamente. De hecho, los Food Trucks funcionan de manera similar a los contenedores de TI.
Por lo general, solo se vende un tipo de alimento en cada uno de los camiones de comida. Por supuesto, se pueden encontrar diferentes opciones de Food Trucks que venden hamburguesas, hot dogs, pizzas, comida japonesa, tacos, entre otros, y en el mismo lugar. Como un buen fanático de las hamburguesas, tomaré como ejemplo el Food Truck para hamburguesas.
Como su nombre lo indica, entendemos automáticamente el tipo de alimentos que servirá este Food Truck. En este caso, los insumos básicos necesarios para la producción de una hamburguesa son: pan, carne (hamburguesa), queso, lechuga, tomate, mayonesa, mostaza y salsa de tomate. Nota: No incluyo elementos como algas, salmón o camarones, ya que son elementos tÃpicos de un camión de comida japonés.
Al prestar atención a los insumos, entendemos que solo serán necesarios aquellos realmente utilizados para producir y servir los alimentos. No hay razón para almacenar otros artÃculos. Y es en este momento que podemos hacer una comparación con la tecnologÃa de contenedores. En un contenedor, solo se insertarán las entradas necesarias para ejecutar y servir la aplicación requerida.
De esta manera, la operación se optimiza y los contenedores pueden reducir considerablemente el tamaño de los datos. Por lo tanto, es posible mover un contenedor a diferentes servidores y lograr la misma funcionalidad. Es lo mismo que un Food Truck, que puede estar en una avenida en una ciudad grande en un dÃa, y en un festival de música ubicado en otra ciudad al dÃa siguiente. No obstante, siempre mantendrá el mismo contenido y lo servirá.
Hay recursos que se deben consumir del entorno en el que estamos. En el caso de un vehÃculo que transporta y vende alimentos, puede consumir electricidad del lugar donde se encuentra. Por otro lado, un ejemplo de un recurso de entorno utilizado y ejecutado por los contenedores es el recurso computacional y las librerÃas comunes, que ofrece el núcleo del sistema en ejecución.
Escalabilidad y orquestación
En el caso del contenedor, hay varios tipos de posibles ensamblajes. Docker, la tecnologÃa para la ejecución de contenedores, es la aplicación actual más común. Sin embargo, hay otras tecnologÃas para la ejecución de contenedores, como CRI-O, que está orientada hacia una ejecución más liviana, especialmente cuando se trata de escalabilidad.
El concepto de escalabilidad, por cierto, es un requisito previo para cualquier aplicación en estos dÃas. Es necesario ser a prueba de fallas, pero ¿dónde entra el concepto DevOps? Asegurar la entrega continua con calidad y validaciones antes de comenzar la producción, retomando la analogÃa, es como cualquier nueva receta de cocina. Las entradas deben evaluarse, asà como la receta final en sÃ, para que el Food Truck (o, mejor dicho, el contenedor) no deje de ofrecer la aplicación.
Hay varias herramientas para orquestar contenedores. La más usada hoy es Kubernetes, un concepto que encontrarás bajo las más variadas pronunciaciones. Una de las funciones principales de esta herramienta de código abierto es garantizar que, si aumenta la demanda de solicitudes, la ejecución de más contenedores y su distribución se llevarán a cabo en la misma medida. ¿Alguna vez has pensado en no tener que hacer cola en un Food Truck para que te sirvan?
“Si algo puede salir mal, saldrá mal”. Reflexionando sobre la ley de Murphy, ¿qué podemos pensar que podrÃa salir mal en el caso de un Food Truck? Que se termine el pan u otro insumo obligatorio, por ejemplo, significa cerrar el servicio. En el caso de un contenedor, esto significarÃa que la aplicación ya no responde. En tales casos, Kubernetes elimina este contenedor que dejó de responder y ejecuta uno nuevo para realizar el servicio, evitando que las nuevas conexiones se envÃen a este “contenedor sin pan”, sin el debido recurso.
Estas son algunas de las caracterÃsticas de un nuevo mundo de tecnologÃa, donde pensamos en la integración sin problemas, entrega de aplicaciones, entornos y aplicaciones escalables que ofrece el cómputo en la nube nativo. No hay puntos de falla en él. Con los Food Trucks, todavÃa no tenemos orquestadores, ¡pero tenemos varias opciones de comida!
¿Ves lo fácil que es entender una nueva tecnologÃa a través de una analogÃa? Nada que una hamburguesa no pueda resolver.
-Aslan Carlos, ingeniero de ventas de SUSE
