Weaveworks Cloud & Flux: control de versiones de Git para la configuración automatizada del servidor web Kubernetes

Según Alexis Richardson, cofundador / CEO de Tejidosy William Denniss, director de proyectos de Google Cloud Platform, GitOps son “prácticas recomendadas modernas para el desarrollo de aplicaciones de alta velocidad con herramientas nativas de la nube”. Con GitOps, la configuración del servidor web se considera un código y está sujeta al control de versiones, donde Git opera “como una única fuente de verdad para todo el sistema”. GitOps depende de canales de entrega de software completamente automatizados, con monitoreo y observabilidad 24 horas al día, 7 días a la semana “desde el principio”, donde la seguridad de los datos es de “importancia crítica. Todo tiene que ser controlado por versiones y almacenado en una única fuente de verdad desde la cual usted puede recuperar.” En los equipos de desarrollo ágil, Terraform, Spinnaker, Puppet y Ansible son actualmente populares para la automatización de scripts de servidores web utilizando Git para impresiones de imágenes de disco con Docker y Kubernetes en hosts de nube pública para los requisitos de CI / CD en la gestión de proyectos. Weaveworks ha desarrollado una serie de plataformas en la nube que abordan el desarrollo de software y la canalización de hosting de servidores web de manera integral, como Weave Cloud, Weave Flux y los productos integrados de administración de contenedores de AWS. GitOps permite a los desarrolladores realizar cientos de pequeños cambios por día en la ejecución de sitios web y aplicaciones móviles en producción en vivo en lugar de implementar actualizaciones monolíticas. YAML se utiliza para crear declaraciones de infraestructura declarativas que se pueden repetir e implementar como estándares para la automatización de redes en la nube. En GitOps, las alertas de diferencias y las solicitudes de extracción se gestionan a través de redes descentralizadas de programadores en equipos ágiles desde cualquier ubicación de oficina utilizando Git, lo que aumenta la flexibilidad de gestión en los tiempos de contratación y productividad de los trabajadores. GitOps ahora se ha convertido en estándar en el desarrollo de aplicaciones web / móviles para corporaciones empresariales, empresas de nueva creación, organizaciones sin fines de lucro, agencias gubernamentales y pymes en todo el mundo.

Weaveworks Cloud & amp;  Flux: control de versiones de Git para la configuración automatizada del servidor web de Kubernetes

Weave Cloud DevOps: adoptando Git como una única fuente de verdad para todo el sistema

Los tres pilares de GitOps son canalizaciones, observabilidad y control. Las canalizaciones se relacionan con el proceso de desarrollo de software para sitios web y aplicaciones móviles combinados con los requisitos de hosting en la nube para mantenerlos en producción. Las aplicaciones web y móviles necesitan actualizaciones continuas de nuevas funciones codificadas a medida, como GUI, perfiles, carritos de compras, temas, etc., con parches de seguridad para lenguajes de programación, bases de datos, sistemas operativos y extensiones que deben actualizarse en la web. servidor con regularidad. Los equipos de programación ágil necesitan la automatización de la canalización de lanzamiento de software que se logra mejor en la actualidad mediante “el uso de Git como una fuente de verdad para el estado deseado de las aplicaciones admitidas en producción”. La observabilidad se puede lograr a través de un repositorio de GitOps con un repositorio por aplicación o servicio. Se recomienda utilizar una rama separada para cada entorno, es decir, puesta en escena, producción y desarrollo. Los programadores ágiles pueden enviar cambios a las ramas de ensayo primero y luego implementar el nuevo código en producción como solicitudes de fusión mediante Git después de que se complete la prueba de errores en un entorno limitado. Esto permite una mejor supervisión, registro, seguimiento y visualización del código de software en el hosting web, incluida una vista holística del estado real del sistema que muestra las tasas de tráfico de los usuarios, el uso de recursos y los requisitos de procesamiento. Los administradores pueden usar “canarios” a través de Istio con implementaciones por etapas para probar los cambios de código, lo que permite a los equipos introducir nuevas funciones con mejores registros de notación y documentación en la fuente.

GitOps – Operaciones por solicitud de extracción:

William Denniss es el autor de varios borradores de Internet de IETF, incluido OAuth 2.0 para aplicaciones nativas, y fundó AppAuth, el cliente OAuth de código abierto líder para aplicaciones nativas. Alexis es cofundador y director ejecutivo de Weaveworks. También es presidente del TOC de CNCF y cofundador de las reuniones Coed: Code. Anteriormente estuvo en Pivotal, como jefe de productos para Spring, RabbitMQ, Redis, Apache Tomcat y vFabric.

Obtenga más información sobre la base nativa de la nube.

Con GitOps, cada microservicio debe tener un panel unificado para comentarios y análisis en tiempo real que los programadores y administradores de sistemas puedan consultar. Se puede considerar que el control se desarrolla a partir de patrones operativos en las implementaciones de servicios. Con Git, todas las configuraciones de servidor web de DevOps se tratan como código y están sujetas al control de versiones. El comando “kubectl get -o yaml” se puede usar para extraer la configuración de un servidor activo y transferirlo a un repositorio de Git para la integración de Kubernetes. Los secretos sellados permiten el uso de claves públicas / privadas cifradas almacenadas en Git por programador como medio de autorización. Se prefiere la orquestación de Git, utilizando comandos diff & synch, sobre el uso de kubectl en Weave Flux para la sincronización de contenedores de Kubernetes. El punto clave de GitOps es que si bien todos los equipos de programadores desarrollarán un flujo de trabajo y métodos de colaboración únicos, el uso de las mejores prácticas reconocidas por la industria puede ahorrar tiempo, aumentar la eficiencia y aumentar la productividad en acción. Los servidores web se pueden optimizar aún más, incluido el aumento de datos y densidad de usuarios por VM o partición, a través de la partición orientada a objetos del software de pila en instancias de contenedor con equilibrio de carga de Kubernetes / Open Stack / AWS de solicitudes de paquetes de datos.

Weave Cloud DevOps: adoptando Git como una única fuente de verdad para todo el sistema

Nube de tejido:

Implemente, administre y monitoree fácilmente aplicaciones basadas en contenedores … Totalmente integrado con CNCF Kubernetes, Docker Swarm / UCP, AWS ECS, Apache Mesos y Mesosphere DC / OS, Weave Cloud se puede agregar a su canal de desarrollo sin necesidad de que usted ‘ replatform ‘: facilita la configuración y agiliza la entrega “.

Más información sobre Weave Cloud.

Weave Flux: patrones de código YAML para la integración de Git, Kubectl e Istio

YAML permite a los equipos de DevOps crear una infraestructura declarativa que pueda reproducir la arquitectura de la red en la nube a partir de declaraciones. YAML se usa en Kubernetes, Docker, Terraform, Ansible, Spinnaker, Puppet, Bitnami y GitHub como la lógica de devops donde “la configuración es código”. A partir de esta base, los programadores y administradores de sistemas también pueden aplicar el control de versiones de Git a los archivos YAML para una mejor organización de los recursos del proyecto con la automatización de Kubernetes o Docker Swarm. La mayor parte de esta actividad se produce a través de alertas de diferencias y solicitudes de extracción, donde cualquier desarrollador puede unirse a un equipo ágil a través de GitHub, utilizando claves de seguridad validadas para conexiones cifradas.

Los tres principios básicos de GitOps:

  1. Utilice la configuración declarativa para definir su aplicación y sus servicios.
  2. Todos los cambios deben pasar por su proceso de revisión de Git; nadie debería usar kubectl directamente.
  3. Utilice un operador en el clúster para llevar el estado del clúster observado al estado deseado, según lo declarado por su configuración en Git.

Flujo de tejido permite que los equipos de programación ágil practiquen CI / CD utilizando imágenes de contenedor con la orquestación de Docker y Kubernetes, con el control de versiones de Git asegurando que el código se pueda revisar, probar y revertir cuando sea necesario en la restauración. La implementación automatizada de servidores web conduce a una mayor eficiencia en la producción aprovechando las nuevas plataformas de clústeres elásticos en hosts de nube pública. Los equipos de mantenimiento o los desarrolladores ágiles pueden introducir cambios de código en las aplicaciones en ejecución más rápidamente. La resolución de problemas y la depuración se mejoran con los cambios incrementales introducidos por Git con abundantes comentarios y anotaciones por parte de los trabajadores del personal. Weave Flux para la automatización de Kubernetes está disponible en GitHub.

Weave Flux: patrones de código YAML para Git, Kubectl y amp;  Integración de Istio

Weave Cloud en AWS: administre Kubernetes con Git, Terraform y Ansible

Nube de Weaveworks es una solución para ejecutar Kubernetes en AWS que compite con muchos otros en el mercado al agregar funciones de administración unificadas, además de herramientas y utilidades para los requisitos de DevOps. La plataforma Weave Cloud incluye utilidades para virtualización de hardware, redes en la nube, equilibrio de carga, seguridad de datos, ELB, instancias RDS, soporte de tablas DynamoDB, integración de cubos S3 y roles IAM. Weave Cloud permite a los equipos ágiles utilizar funciones de scripting con Ansible, Jenkins, Terraform, Puppet y Prometheus con Kubernetes para obtener más opciones en la creación de soluciones de hosting en la nube personalizadas para aplicaciones web / móviles en producción. Weaveworks Cloud usa Git para la administración de clústeres de Kubernetes en AWS, con Terradiff, Ansiblediff y Kubediff disponibles para monitorear las diferencias de código mediante el control de versiones para las actualizaciones de software. Estas herramientas se utilizan para depurar cambios de código que pueden causar roturas o errores en otras partes de un sitio web, es decir, un CMS o un módulo / tema de script de comercio electrónico en particular, o un servidor web de clúster en la nube en producción en contenedores.

Weave Cloud en AWS: administre Kubernetes con Git, Terraform & amp;  Ansible

WeaveWorks y Terraform:

Elegimos Terraform, de Hashicorp, para aprovisionar nuestros recursos de infraestructura. Terraform nos permite enumerar de forma declarativa los recursos que queremos en un lenguaje de configuración de alto nivel, describir las interdependencias entre ellos y aplicar de manera inteligente los cambios a esta configuración en un orden que respete las dependencias. Terraform admite módulos parametrizables e instanciables, de modo que podemos compartir las declaraciones de recursos para VM, etc. entre clústeres, parametrizando cada clúster por número de minions, tipo de instancia, etc. Terraform incluso tiene un modo ‘plan’, que nos muestra si nuestra configuración coincide con la realidad. Combinamos esto con prom-run, que ejecuta un comando y exporta sus códigos de salida a Prometheus en Weave Cloud, para construir un trabajo terradiff que monitoreamos y alertamos “.

Obtenga más información sobre WeaveWorks en AWS.

Weave Cloud en AWS: administre Kubernetes con Git, Terraform & amp;  Ansible

Weave Cloud para GKE:

Weave Cloud para Google Kubernetes Engine agrega canalizaciones de entrega a los repositorios de Git, automatización de versiones, monitoreo y observabilidad para permitir operaciones de aplicaciones a escala. Hasta ahora, los desarrolladores y el personal de operaciones han tenido que integrar varios servicios para disfrutar de los beneficios de Kubernetes. Configurar un clúster, agregar integración continua (CI) y luego implementación continua (CD), conectar el monitoreo, el registro y la administración son fundamentales para ejecutar los sistemas de producción. Weave Cloud para GKE elimina esta complejidad al proporcionar una solución preintegrada en un solo lugar con un conjunto coherente de paneles. Esto acelera radicalmente tanto la experiencia inicial de hacer que una aplicación se ejecute como simplifica la configuración y administración de soluciones más avanzadas. El uso de la capa gratuita de Weave Cloud ofrece a los desarrolladores todo lo que necesitan para explorar Kubernetes y comenzar a crear aplicaciones de contenedores nativas en la nube sin costos ni complejidad “.

Obtenga más información sobre WeaveWorks.

Herramientas de Weaveworks GitOps: soluciones de hosting de Kubernetes y desarrollo de software ágil

Weaveworks Cloud es una plataforma completa de gestión de entrega y canalización de desarrollo de software con muchas utilidades que se pueden utilizar para crear scripts de soluciones de contenedores para la automatización con Kubernetes utilizando Git para el control de versiones. Weaveworks Cloud está diseñado para cumplir con los requisitos de CI / CD de los equipos DevOps modernos en corporaciones empresariales, agencias gubernamentales, nuevas empresas y grandes marcas. Las pymes encontrarán las herramientas de Weaveworks GitOps fáciles de usar y lo suficientemente asequibles para la inversión del personal con características que compiten con otras soluciones en el mercado. Weaveworks ofrece soluciones listas para producción para la gestión de Kubernetes en AWS que se integran con todo el software de control de versiones popular que utiliza Git, favorecido por los equipos Agile en colaboración y ya es ampliamente utilizado por muchos centros de datos empresariales en la nube. Weaveworks Cloud es un producto de socio de SaaS recomendado en AWS que puede ayudar a los programadores y desarrolladores a simplificar su implementación de microservicios en contenedores al agregar herramientas de monitoreo y administración, aunque queda por ver cuánto tiempo la empresa seguirá siendo competitiva en precios al consumidor, es decir, código abierto gratuito. uso de software frente a tarifas de licencias empresariales.