¿Puedo ponerme al día con los contenedores de Linux sobre cómo obtener un bitcoin?

Nube, Contenedores Linux, y orquestación de contenedores (en la forma de Kubernetes) son los temas que escucho más discutidos hoy. La mayoría de las organizaciones de TI están discutiendo DevOps y microservicios. La voluntad de profundizar en ese grupo de nuevas experiencias está llevando a muchas organizaciones a reconsiderar las herramientas, la cultura y los procesos internos. Las empresas quieren todos los beneficios de esta transformación digital, pero, ¿están realmente preparados para este nuevo paradigma? ¿Estás realmente listo para contenedores?

Con el fin de estandarizar entornos, aislar procesos o aumentar la modularidad, para poder producir mejor código, servicios y proporcionar mantenimiento, la solución que resulta más útil son los contenedores. Una huella más pequeña que está estandarizada y aislada mientras se consumen los recursos del host fue la receta perfecta. Haga clic aquí para entender qué son los contenedores.

¿Qué pasa si ha roto esa aplicación en pequeños servicios? En caso de que haya tenido un problema de pago con tarjeta de crédito, los usuarios que toman informes, revisan la página de inicio, pagan con tarjetas de débito, bitcoins, etc., no deberían verse afectados porque son pagando usando otros metodos. Y sus servicios son aislados e independientes, por lo tanto, un problema en un contenedor / aplicación no debe interferir en otro. Administrar sus contenedores

Una vez que haya dividido su gran aplicación en microservicios y los haya colocado en contenedores, ¿cómo va a administrarlos y disfrutar del beneficio real de ellos? ¿Debo configurar los permisos de usuario? ¿Debo almacenar datos dentro de un contenedor? ¿Qué hay de las sesiones HTTP? ¿Qué pasa con la autenticación de microservicio? Un contenedor está bien para administrar. ¿Qué hay de diez, cien o mil contenedores? ¿Cómo se puede ampliar (aumentar el número de contenedores en funcionamiento) cuando aumenta la carga de su sitio web? ¿O cómo puedes reducirlo de la noche a la mañana cuando nadie accede a él? ¿Qué tal tener una forma de hacerlo automáticamente? ¿Cómo o dónde puede el registro ser escrito por su aplicación? ¿Y cómo puedes acceder a ellos más tarde?

¿Ver? eso es muchas preguntas Ahora, respondamos esas preguntas. Como se mencionó anteriormente, los contenedores incluyen el entorno necesario para su aplicación, proporcionan aislamiento y son independientes, lo que significa que no requieren otros contenedores o recursos externos, sin embargo, es posible tener una base de datos u otros servicios vinculados o dependientes de ella. Y como están aislados, la premisa es que tendrá el mismo comportamiento independientemente del entorno. Entonces no volverás a escuchar “Funciona en mi computadora portátil”. Evita ejecutar como root

El usuario que se configurará para ejecutar su aplicación no debe ser root. Debería tener los derechos necesarios para escribir y leer de los directorios que su aplicación necesita, y eso es todo. No más derechos de los necesarios Asignar los permisos correctos y la propiedad en la carpeta necesaria es una mejor práctica de controlar y mantener su entorno. Explotación florestal

Si los registros de su aplicación no están escritos en / var / log, ¿qué deberíamos hacer? Los enviamos a la salida estándar (STDOUT). Hacemos eso para que una aplicación que se compone y tiene el propósito de recopilar y almacenar registros pueda hacer su trabajo. En consecuencia, se puede acceder a los registros a través de esta aplicación en cualquier momento. No es necesario que los desarrolladores soliciten registros del equipo de Operaciones y no tengan que copiar registros para que los desarrolladores los analicen. Consulte la solución utilizada para capturar, administrar y luego ver los registros de los contenedores. Datos almacenados

Si su aplicación utiliza algún directorio para mantener una configuración o conservar cualquier tipo de datos dentro del contenedor, por ejemplo, registrando datos en una base de datos, primero debe reconsiderar la necesidad de escribir localmente. Desde que los contenedores entran en juego, la base de datos o los directorios deben escribirse en un almacenamiento dedicado, que su contenedor leerá / escribirá, integrado por su solución de orquestación de contenedores. ¿Por qué integrado? Si usa OpenShift, puede integrar su plataforma de contenedor con soluciones de almacenamiento, como Red Hat OpenShift Container Storage. Por lo tanto, la solución de almacenamiento proporcionará el almacenamiento solicitado bajo demanda para aplicaciones que se ejecutan en contenedores sobre OpenShift. Evite la declaración “CMD”

Una cosa que también debería tenerse en cuenta es que cuando comienzas a dividir tu servicio en microservicios, se le quitan algunas responsabilidades. Uno de ellos es Autenticación. Su aplicación no es responsable de la autenticación. ¿Qué ocurre si una aplicación de autenticación, una aplicación diseñada solo para eso, puede autenticar y autorizar sus microservicios? Entonces, tu aplicación solo tendría la responsabilidad de hacer aquello para lo que fue diseñada. Para ayudarlo a implementar este tipo de servicio, debe considerar usar aplicaciones de inicio de sesión único, como el inicio de sesión único de Red Hat. Almacenamiento en caché

Una vez más, los contenedores son efímeros, y no es responsabilidad de su aplicación almacenar en caché los datos por sí mismo. Esta responsabilidad debe asignarse a una aplicación diseñada para eso. Esa es una razón por la cual las aplicaciones de caché se están volviendo cada vez más populares en estos días. Redis, por ejemplo, es un proyecto de código abierto que ayuda a su microservicio a datos de caché.

OpenShift también ofrece la posibilidad de realizar un control de estado de sus contenedores, de modo que sus contenedores solo reciban tráfico si todavía están en ejecución y listos para recibir solicitudes. Si el contenedor no supera la prueba de disponibilidad o la sonda “liveness”, OpenShift lo matará y lo reiniciará según la política. En consecuencia, los usuarios no deben enrutarse a contenedores que no están atendiendo solicitudes. OpenShift

Por lo tanto, para utilizar completamente los contenedores realmente, tendrá que pensar en la escala y la orquestación, al mismo tiempo lograr todos esos puntos. Eso es posible cuando la adopción Openshift entra en juego. Realmente permite a su equipo implementar aplicaciones en contenedores. De forma predeterminada, OpenShift no permite que los contenedores se ejecuten utilizando el usuario raíz, aunque es posible configurar una excepción.

Dado que OpenShift está basado en Kubernetes, maneja la orquestación y maneja la implementación y el desarrollo de versiones también. Además, un enrutador recibirá todo el punto de tráfico externo a sus servicios de aplicación. Los servicios equilibrarán todas las solicitudes entre contenedores. Teniendo en cuenta todos los temas mencionados, seguro que puedes captura hasta contenedores en su negocio.

Renato Puccini trabaja como OpenShift TAM en América del Sur, Brasil. Tiene experiencia y está certificado en administración y desarrollo de contenedores, especialista de OpenShift por Red Hat y administración de System / JBoss (RHCSA, RHCJA). Renato ha guiado a los clientes de América del Sur en la transición de la aplicación de monolitos a las aplicaciones de microservicios en contenedores en el entorno de la nube. Además, sus actividades diarias incluyen las mejores prácticas en CI / CD, automatización de tuberías, administración OpenShift e implementación de contenedores para los clientes de Red Hat.

banner