¡recomendar! Las herramientas DevOps están cada vez más automatizadas

En 2009, se llevó a cabo la primera conferencia DevOpsDays en Gante, Bélgica. En este punto, los conceptos de Desarrollo (desarrollo) y Operación (operación y mantenimiento) se han combinado en uno, que se abrevia como DevOps (integración de desarrollo y operación ).

La popularidad del concepto no es inesperada. Amazon abogó por SOA (arquitectura orientada a servicios ) en los primeros días , y cada ingeniero puede completar el trabajo de escribir código, probar código, administrar versiones, implementar y monitorear servicios de manera completamente independiente. Amazon es ahora un líder de TI de clase mundial con las mejores prácticas para la cultura DevOps .

En la actualidad, DevOps aún se encuentra en la etapa de rápido desarrollo, pero si todo el negocio implementa DevOps, no solo requiere una cultura suave, sino que también requiere una cadena de herramientas sólidas . De acuerdo con el "Informe de la encuesta sobre DevOps Cloud Native 2021 China" publicado por el Software R&D Efficiency Laboratory de la Universidad de Nanjing, la popularidad de las herramientas DevOps en las empresas nacionales aumentará significativamente en 2021 en comparación con 2019.

El uso de herramientas DevOps es cada vez más importante. Con la aparición y aplicación de varias herramientas, DevOps puede convertirse lentamente en una realidad a partir de un concepto.

Actualmente, las herramientas DevOps cubren todo el proceso de producción de software, desde la planificación, la codificación, la creación, las pruebas, el lanzamiento, la implementación y el mantenimiento .

01Herramientas de desarrollo ágiles para acelerar la eficiencia del desarrollo

El concepto de "Agile" se originó en los Estados Unidos, antes de que apareciera DevOps.

Después de que se propuso el marco de desarrollo ágil, la operación y el mantenimiento del software han sufrido cambios tremendos. Porque "ágil" abandona por completo el pensamiento tradicional en cascada e integra el pensamiento paso a paso de pequeños pasos e iteraciones continuas en el proceso de desarrollo.

Posteriormente, Agile se ha convertido en una parte importante de DevOps Algunos entrenadores ágiles creen que todos los que trabajan en este sistema deben tener un sentido de colaboración y optimización global, optimizar el flujo y la tasa de flujo del flujo de valor y centrarse en la generación de valor. . Los ingenieros deben ser más conscientes de la optimización general de la cadena de herramientas, no solo ser competentes en un determinado enlace o limitarse a las herramientas anteriores y posteriores relacionadas con ellos mismos.

En el desarrollo ágil, algunos requisitos y herramientas de gestión de proyectos suelen ser inseparables, como JIRA , Trello, etc.

JIRA es un rastreador de problemas ampliamente utilizado que proporciona seguimiento de errores y capacidades ágiles de gestión de proyectos. Aunque JIRA es un producto con licencia comercial creado por Atlassian de Australia, también hay una versión gratuita disponible para uso limitado.

Los detalles de JIRA se pueden ver: https://www.oschina.net/p/jira

Además, Trello, propiedad de una subsidiaria de Atlassian, también es una herramienta de colaboración muy popular a nivel internacional, conocida por su diseño minimalista, y muchos equipos la utilizan para planificar sus sprints de trabajo (sprints). Los famosos Teamambition, Leangoo, etc. nacionales han imitado hasta cierto punto el diseño de Trello.

02Herramientas de entrega continua para ayudar a implementar DevOps

DevOps es un flujo de trabajo completo para operaciones de TI, en el que CI/CD es la base.

CI es Continuous Integration (integración continua), y CD corresponde a multiple English, Continuous Delivery (entrega continua) o Continuous Deployment (implementación continua).

Si no puede hacer CI/CD, DevOps se convertirá en un castillo en el aire.

Para lograr una entrega continua, la construcción es muy importante. Durante la fase de construcción, se debe mantener la consistencia del empaque mientras se automatizan las actividades propensas a errores para generar señales tempranas de calidad. En este momento, las herramientas de compilación como Maven, NPM, Gradle, etc. son muy útiles.

Maven se usa principalmente para la construcción automatizada de proyectos Java, pero también puede construir y administrar proyectos escritos en lenguajes como C#, Ruby y Scala. Gradle, por otro lado, es un sistema de compilación automatizado basado en los conceptos de Apache Ant y Apache Maven, y también presenta un lenguaje específico de dominio basado en Groovy.

Los detalles de Maven se pueden ver: https://www.oschina.net/p/maven

Los detalles de Gradle se pueden ver: https://www.oschina.net/p/gradle

Antes y después de crear bibliotecas Maven, a menudo se requieren herramientas de gestión de almacenes como Nexus . Nexus es un poderoso sistema " listo para usar" que simplifica enormemente el mantenimiento de sus propios repositorios internos y el acceso a repositorios externos. Internamente, puede configurar herramientas de compilación y publicar en Nexus, donde otros desarrolladores pueden usarlas.

Los detalles de Nexus se pueden ver: https://www.oschina.net/p/nexus

En la integración continua, las herramientas de canalización como Jenkins , Bamboo, etc. son indispensables. Entre ellos, Jenkins es un servidor de automatización independiente de la plataforma, gratuito y de código abierto que es independiente de Java y es compatible con Windows, Mac y otros sistemas operativos similares a UNIX.El paquete de software del sistema nativo Docker se puede instalar a través de Jenkins.

Los detalles de Jenkins se pueden ver: https://www.oschina.net/p/jenkins

Además, los motores de contenedores y las herramientas de orquestación se encuentran entre las herramientas de entrega continua para DevOps . Según el "Informe de la encuesta de China nativa de la nube de DevOps 2021" publicado por el Laboratorio de eficiencia de I + D de software de la Universidad de Nanjing, la aplicación de la tecnología de contenedores ha seguido profundizándose en los últimos dos años, y la ecología centrada en los contenedores y su tecnología de orquestación se ha expandido gradualmente a Cubrir microservicios, DevOps, análisis de monitoreo de servicios, administración completa de aplicaciones de circuito cerrado.

Por lo tanto, los motores de contenedores y las herramientas de orquestación representadas por Docker, K8s, Apache Mesos, etc. juegan un papel casi insustituible en la práctica de DevOps.

Los detalles de Apache Mesos se pueden ver: https://www.oschina.net/p/apache+mesos

03Herramientas de operación y mantenimiento automatizadas, complementan el enlace de operación y mantenimiento

DevOps fusiona los conceptos tradicionales de "desarrollo" y "operaciones", liberándolos del estilo de trabajo tradicional del taller. Por lo tanto, en la cadena de herramientas DevOps, no se puede subestimar el papel de las herramientas de mantenimiento y operación automática como Zabbix, Elastic, Grafana, Kafka, Ansible, Logstash y Prometheus.

Entre ellos, Ansible es una herramienta de automatización de TI de código abierto mantenida por RedHat. Utiliza libros de jugadas para la gestión de configuración y sistemas de implementación de múltiples máquinas. Se ejecuta en sistemas de la familia Unix y puede configurar sistemas de la familia Unix y Windows.

Podemos instalar Ansible en la máquina de control sin necesidad de que Ansible se ejecute en otros servidores, desde servidores web hasta aplicaciones y bases de datos.

Los detalles de Ansible se pueden ver: https://www.oschina.net/p/ansible

Prometheus es una aplicación gratuita para el monitoreo y alerta de eventos, que registra métricas en tiempo real en una base de datos de series temporales, se basa en un modelo de extracción HTTP y admite consultas flexibles y alertas en tiempo real. El servidor Prometheus funciona raspando, es decir, llamando a los puntos finales de métricas expuestos por cada nodo.

Los detalles de Prometheus se pueden ver: https://www.oschina.net/p/prometheus

Grafana incluye versiones empresariales y de código abierto. Es un software de análisis visual que puede consultar, visualizar, alertar y explorar métricas. No importa dónde se almacenen estas métricas, Grafana puede ayudarnos a rastrear el comportamiento del usuario, el comportamiento de la aplicación y la frecuencia con la que aparecen los errores. en producción o preproducción, los tipos de errores que aparecen y los escenarios contextuales.

Los detalles de Grafana se pueden encontrar en: https://www.oschina.net/p/grafana

04Platform tools, el "integrador" de las herramientas DevOps

A medida que las prácticas de DevOps se vuelven populares entre las empresas nacionales y extranjeras, los usuarios exigen cada vez más la automatización. Por lo tanto, han nacido más plataformas DevOps con funciones integradas, como la "Plataforma de ingeniería de software completamente automática Flying SoFlu" de mi país.

SoFlu en realidad satisface las necesidades de desarrollo a través de la programación visual, es decir, el desarrollo automático, las pruebas automáticas, la operación y el mantenimiento automáticos, etc. se pueden realizar ingresando el diagrama de flujo, lo que mejora la eficiencia del trabajo y permite a los usuarios prestar más atención a su negocio propio En el proceso de uso de la plataforma, puede lograr el efecto de que una identificación sea equivalente a un equipo de tecnología de 10 personas.

Además, Feishuan también puede gestionar todo el ciclo de vida del software, como requisitos, I+D, pruebas, implementación, en línea, operación y mantenimiento a través de la plataforma de gestión, acumular experiencia, acumular conocimiento e implementar verdaderamente el sistema de gestión.

Tomando como ejemplo la plataforma de prueba lanzada recientemente, SoFlu resuelve los problemas de las pruebas manuales que consumen mucho tiempo, el difícil seguimiento y la gestión de las pruebas y los altos costos de las pruebas a través de la gestión automatizada del ciclo de vida, la generación automática de casos de prueba y la gestión de datos de prueba. La calidad del software se puede asegurar a través de herramientas, procesos y administración, en lugar de depender de ingenieros de software experimentados.

En la actualidad, SoFlu todavía está acelerando la actualización de funciones DevOps más potentes, y se puede esperar el futuro.

Los detalles de Feisuanyz se pueden consultar: https://www.feisuanyz.com/

05Las tecnologías relacionadas con microservicios son más convenientes a través de la división

El llamado "microservicio" consiste en dividir (desacoplar) el producto general original en caja negra de un todo que brinda múltiples servicios en múltiples individuos que brindan diferentes servicios. Por lo tanto, a través de la tecnología de microservicios, diferentes ingenieros pueden trabajar en los módulos de los que son responsables, como desarrollo, prueba, implementación e iteración.

Herramientas como Spring cloud , Spring Boot y Apache Dubbo se pueden usar en microservicios. Entre ellos, Spring Cloud se enfoca en proporcionar una buena experiencia lista para usar para casos de uso típicos y mecanismos de escalabilidad. Brinda a los desarrolladores la capacidad de construir rápidamente patrones comunes en sistemas distribuidos. A través de Spring Cloud, los desarrolladores pueden implementar rápidamente repeticiones. Servicios y Aplicaciones.

Los detalles de Spring Cloud se pueden encontrar en: https://www.oschina.net/p/spring-cloud

06 Herramientas de administración de seguridad, deje que DevOps vaya a DevSecOps

DevSecOps , es decir, la integración de las operaciones de seguridad de I + D, integra la seguridad en cada etapa del proceso DevOps y coopera estrechamente con los departamentos de desarrollo, seguridad y operaciones, enfatizando que bajo la premisa de riesgos de seguridad controlables, ayuda a las empresas a mejorar la eficiencia de TI. y realizar mejor la integración operativa de I + D.

Según el "Informe de encuesta de estado de DevOps de China 2021" publicado por Cloud Computing Open Source Industry Alliance, la detección de seguridad estática del código fuente, el escaneo de seguridad de imágenes de contenedores y el firewall de aplicaciones web (WAF) se están convirtiendo en las prácticas tecnológicas DevSecOps más utilizadas en las empresas.

Además, al elegir las herramientas DevOps, las empresas prestan más atención a la facilidad de uso de las funciones, la seguridad de las propias herramientas y el grado de automatización.

La encuesta muestra que más del 40 % de las empresas consideran la facilidad de uso de las funciones de la herramienta (43,18 %), la seguridad de la herramienta en sí (42,96 %) y el grado de automatización de la herramienta (42,80 %) al elegir herramientas DevOps.

Las herramientas de seguridad también están floreciendo, incluida la herramienta de seguridad de código Fortify, la herramienta de seguridad de contenedores Clair, la herramienta de seguridad web AppScan y más.

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4868096/blog/5300790
Recomendado
Clasificación