Saltar al contenido principal
Página

Tema 3.6 - Herramientas para el Apoyo de la Cultura DevOps

Herramientas para el apoyo de la cultura DevOps

El uso de herramientas no es hacer DevOps.

Hacer DevOps sin el uso de herramientas es complejo si entendemos que DevOps tiene componentes de automatización. DevOps es y será un tema cultural y no será tan solo el conjunto de herramientas. 

Miremos un ejemplo, las herramientas no hacen cultura, pensemos en una empresa que desea hacer que sus reuniones internas inicien a tiempo. Si la compañía compra un software de gestión de reuniones, ¿logrará que las reuniones inicien a tiempo?

Si la cultura interna es iniciar reuniones tarde, se deberá trabajar en cambiar la cultura interna primero. La herramienta por más buena que sea no logrará hacer que la cultura cambie.

¿Qué herramientas para DevOps o llamadas DevOps conocen los candidatos a la Certificación DevOps Essentials? ¿Qué hacen puntualmente esas herramientas?


Sin herramientas adecuadas, la fusión de roles y deberes de DevOps puede crear caos y resultados no deseados que incluyen problemas relacionados con escalabilidad, confiabilidad y  administración de  carga.


Herramientas DevOps-GIT

GIT fue producido siguiendo los requerimientos de la comunidad Linux para SCM, es decir, el software Source-Control-Management que podría soportar sistemas distribuidos.

Esta es la herramienta más comúnmente utilizada para el manejo de fuentes que está disponible hoy en día.

Su ventaja consiste en tener grandes características adicionales en las solicitudes de bifurcación y tracción; Además GitHub también proporciona plugins que son capaces de conectar Jenkins y facilitar  la integración y despliegue.

Las pruebas de velocidad que se ejecutan en una operación de red GIT generan resultados impresionantes, ya que los protocolos GIT para la transferencia de datos están altamente optimizados.

Sin embargo, con el tiempo, las implementaciones internas de GIT revelan limitaciones que pueden tener impactos en la velocidad y eficiencia de las tuberías de entrega.


Plataforma Nube

La automatización de la nube se compone de objetos de automatización discreta o tareas que realizan cosas como la hilatura de servidores de VM, la instalación de imágenes de SO y el  despliegue de  aplicaciones y funciones de red.

Las tareas en la automatización de la nube son realizadas por muchas herramientas de automatización como scripts y herramientas de gestión local para la gestión de la configuración.

La automatización de DevOps utiliza funciones de automatización discreta como herramientas de integración, compilación y administración continuas para configuraciones de software.

Las orquestas de DevOps son una coordinación automatizada por procesos de DevOps personalizados en las herramientas y tareas de organización y automatización que se están llevando a cabo en el  proceso.

La infraestructura de la nube juega junto con las herramientas de DevOps para la automatización y orquestación de despliegues de aplicaciones, además coordina el apoyo a los procesos deseados.

abarcar tareas de automatización de DevOps en coordinación con la infraestructura para obtener la orquestación de DevOps.

Los desarrolladores que utilizan Docker crean entornos Docker en el portátil para desarrollar y probar localmente aplicaciones en los contenedores.

Dentro de este entorno se realizan ensayos en pilas de servicio compuestas con múltiples contenedores  Docker.

Los múltiples contenedores de Docker convergen como pilas de un solo servicio, como las pilas LAMP y tardan segundos en crear una instancia.


Docker

Docker aporta portabilidad a las aplicaciones a través de la tecnología de contenedores, donde las aplicaciones pueden ejecutarse en unidades autónomas que se mueven a través de las plataformas.

Se compone de un motor Docker (una herramienta de tiempo de ejecución y de embalaje ligero y un Docker Hub) que son servicios en la nube para el uso compartido y automatización de flujo de trabajo.

Docker ha formado una parte vital de la próxima generación de pruebas de Yelp e infraestructura para la gestión de servicios.

El aislamiento dependiente y los rápidos arranques de los contenedores permiten un ciclo de desarrollo más corto y aumentan las velocidades de prueba en más del 400 %.

Algunos entornos pueden ejecutar el host Docker dentro de otro host Docker (Docker-in-Docker) en los entornos de compilación. Docker puede aumentar la velocidad de una tubería de CI utilizando  Union-FileSystems y Copy-on-Write (COW).

Para lograr velocidades incrementadas para dar Entrega Continua (CD) del software, se pueden usar muchas técnicas de Docker.


 JS

JS permite la creación sencilla de aplicaciones de red rápidas y escalables.

Las plataformas JS tienen bibliotecas que permiten a las aplicaciones servir como servidores web sin necesidad de software como el Apache-HTTP-Server o el Microsoft-IIS, sin tener que  hacer que los  servidores web acorten las listas de tareas pendientes de DevOps y optimicen el flujo de código desde el desarrollo hasta el despliegue. Además, el JavaScript se puede utilizar tanto en cliente como en  servidor.

Los desarrolladores encuentran una ventaja de eficiencia debido a la reutilización del código. Las aplicaciones NODE.JS pueden ejecutarse en tiempo de ejecución NODE.JS en Microsoft Windows, OSX, Linux y FreeBSD.

Ha sido diseñado para una operación rápida con gran experiencia del usuario. Un modelo de E/S sin bloqueo y controlado por eventos en NODE.JS permite aplicaciones ligeras que son altamente eficientes.

Muchas organizaciones líderes de pensamiento abarcaron NODE.JS, como SAP, Groupon, LinkedIn, PayPal y Wal-Mart.


Chef

Las herramientas Chef DevOps proporcionan marcos para automatizar y administrar la infraestructura a través de DSL simple. 

El activo real es un código que trae los servidores y servicios que proporcionan vida.

Chef pone una confianza en sus definiciones reutilizables llamados libros de cocina y recetas escritas en Ruby.

Este nivel de abstracción aumenta la productividad y permite a los desarrolladores crear fácilmente configuraciones personalizadas para aplicaciones. Las recetas se ejecutan de forma independiente  mediante el uso de CHEF SOLO o un servidor que tenga CHEF SERVER que actúe como hubs para los datos de configuración.

Los servidores almacenan libros de cocina o políticas aplicadas a los nodos y los metadatos que describen el nodo registrado administrado por chef-client. 

Chef es una herramienta de gestión multi-plataforma para Windows, Linux, Mac OS, etc., y puede integrarse con los principales proveedores de cloud.


Jenkins

Este es un motor para la integración extensible y continua que se utiliza como una de las principales herramientas de los ingenieros de DevOps que  desean monitorear repetidas ejecuciones de trabajo.

Con Jenkins, el ingeniero de DevOps encuentra más fácil integrar los cambios en los proyectos y puede acceder a las salidas fácilmente cuando encuentran que algo va mal.

Las características clave son sus enlaces permanentes, la integración de RSS, correo electrónico/mensajería instantánea, un etiquetado después de los hechos, su informe de prueba Junit/TestNG y  las compilaciones distribuidas.


Puppet

Puppet permite la gestión de la configuración y del software durante la realización de cambios rápidos y repetibles.

Puppet impone automáticamente la coherencia en entornos y puede trabajar en máquinas físicas y virtuales.

Tiene cadenas de herramientas comunes y respalda las mejores prácticas clave en DevOps que incluyen la entrega continua.

Puppet Enterprise ofrece la orquestación de centros de datos mediante la automatización de la configuración y gestión de las máquinas y software.

También existen versiones de Puppet de fuente abierta disponibles que han sido utilizadas por la Universidad de Stanford para colmar las lagunas en el desarrollo de software para su servicio de  biblioteca digital y administración del sistema, necesarias para mantener los servicios funcionando de manera segura.

Última modificación: martes, 17 de agosto de 2021, 11:06