Cómo en Neoflex desarrollamos la experiencia de DevOps

Después de la separación de DevOps dentro de Neoflex en un área comercial separada, el equipo comenzó a aumentar activamente su experiencia y compartir las fuentes de conocimiento encontradas entre sí. En esta publicación, compartiré con ustedes mi experiencia personal de inmersión en el tema y los recursos más interesantes.




Las principales fuentes de información sobre el tema fueron las siguientes:


  • Recursos de Internet: tanto empresas independientes como desarrolladores
  • Artículos y presentaciones
  • Literatura
  • Conferencias
  • Programas de capacitación, tanto de pago como gratuitos.

Recursos de internet


Hay muchos recursos sobre el tema de DevOps en Internet. Se pueden dividir en varias secciones.


Recursos independientes de internet


Los recursos independientes de Internet publican noticias generales sobre las tendencias en el desarrollo de tecnologías de la información relacionadas con DevOps y operan con información de alto nivel sobre este tema, lo que le permite estar siempre al día con las últimas tendencias y eventos de TI. Para los arquitectos y administradores de sistemas, lo más interesante puede ser:


devops.com es uno de los mayores recursos de DevOps. En él puede encontrar las últimas noticias del mundo de TI, artículos sobre diversos temas (nubes, integración y entrega continua, tecnologías de contenedores, Big Data, seguridad y mucho más), seminarios web diarios, una amplia selección de literatura temática, chats temáticos con especialistas altamente calificados, listas estructuradas de empresas y productos para resolver problemas de DevOps y mucho más.


sdtimes.com es un gran recurso de noticias sobre el desarrollo de software en general, que cubre ampliamente el tema de DevOps y áreas relacionadas (nubes y otros). Además de las noticias y artículos que se pueden encontrar en el sitio o que se reciben como un boletín informativo regular, a menudo se organizan seminarios web sobre DevOps y microservicios organizados por oradores de empresas líderes de la industria.


dzone.com también es un sitio de noticias de desarrollo, que es un agregador de contenido generado por el usuario. El sitio ha registrado a más de un millón de desarrolladores que publican regularmente noticias sobre los temas más relevantes en el desarrollo de software: procesos, tecnologías y enfoques de implementación. El nivel y los intereses de los autores son muy diversos, aquí puede encontrar materiales conceptuales y pautas prácticas para utilizar herramientas específicas. Debido a esto, este sitio puede ser de interés no solo para representantes de TI de alto nivel, sino también para especialistas técnicos.


www.networkworld.com : este sitio de noticias se centra más en las tecnologías de red modernas, así como en la creación y operación de sistemas de información y centros de datos. Pero las principales noticias del mundo de DevOps y la tecnología de la información en su conjunto también se presentan aquí. Lo más interesante serán las personas que trabajan activamente con el diseño de soluciones de infraestructura.

www.sys-con.com es un sitio de noticias bastante arcaico en el que, a pesar de las dudosas decisiones de diseño, las noticias actuales aparecen con mayor rapidez. Si desea mantenerse al tanto de todo (incluso no muy significativo) que está sucediendo en el mundo DevOps, entonces este sitio es perfecto.


Recursos web para desarrolladores


Los recursos de Internet de las compañías desarrolladoras que crean tecnologías para implementar procesos DevOps son de gran interés cuando se sumergen en este tema. En sus sitios, además de la documentación detallada de sus productos, puede encontrar muchas cosas interesantes: blogs, seminarios web y mucho más. Estos materiales, por regla general, están más cerca de la práctica y, en mayor medida, serán de interés para los especialistas técnicos. Pero allí también puedes encontrar cosas conceptuales que son interesantes para un círculo más amplio de personas. Estos son los sitios en los que a menudo me encuentro con contenido interesante:


Red Hat : tengo una simpatía especial por esta compañía y sus políticas (aunque su adquisición de IBM causa una gran preocupación sobre el futuro). Pero si descartamos la subjetividad, la conclusión es que su recurso de Internet puede ofrecer muchas cosas interesantes. Para los usuarios registrados (especialmente con el rol de "Desarrollador") hay una amplia base de conocimiento disponible sobre sus productos y tecnologías. Y estos son microservicios, tecnologías de contenedores, gestión de configuración, Service Mesh, virtualización y mucho más. Además de la base de conocimiento, hay un blog (y sobre el tema de DevOps hay realmente mucha información interesante y no solo sobre productos Red Hat), seminarios web regulares sobre productos desarrollados y sus nuevas características (coincidió que cuando escribí estas líneas recibí una invitación al seminario web " Implementación del seminario web Red Hat OpenShift en Amazon Web Services con preguntas y respuestas en vivo, que se llevará a cabo el 5 de diciembre) y una extensa comunidad. También vale la pena mencionar que para las cuentas con el rol de Desarrollador, los productos de Red Hat están disponibles para su descarga de forma totalmente gratuita, y si lo desea, no puede perder el tiempo instalando y "sintiéndolos" directamente en la nube. Cuento para el técnico :)


BlazeMeter es una división de CA Technologies dedicada al desarrollo de una plataforma en la nube para ejecutar pruebas funcionales y de rendimiento. Tienen un blog interesante sobre pruebas de rendimiento con una comparación de varias tecnologías. También hablan sobre integrar varios tipos de pruebas en la tubería de entrega continua de software y el uso de tecnologías de contenedorización. Los seminarios web se realizan regularmente sobre temas similares, cuyas grabaciones también están disponibles para su visualización. Me interesé en BlazeMeter por la naturaleza de mi actividad (en el pasado trabajé en el equipo de prueba de carga). Pero debe tenerse en cuenta que CA Technologies también tiene una gran cantidad de productos, de una forma u otra, conectados con DevOps, con sus blogs, seminarios web y bases de conocimiento. Estos materiales están disponibles en el sitio web oficial (/).


CloudBees es una empresa de desarrollo que desarrolla el servidor de integración continua Jenkins y vende varios productos basados ​​en él (la versión en la nube de Jenkins, DevOptics para visualizar el flujo de valor a través de la integración de Jira, Git y Jenkins y algunos otros). Tiene un blog bastante interesante sobre DevOps y la entrega continua de software, y con una clara separación de materiales para gerentes de materiales para especialistas técnicos. A veces realizan seminarios web dedicados a sus productos y soluciones, pero más de naturaleza publicitaria. Tienen una base de conocimiento muy decente sobre Jenkins y productos relacionados con gran detalle: desde las complejidades de la arquitectura hasta varias opciones para usar funciones específicas. Desde cool: conducen su propia radio DevOps, donde en forma de podcasts con música agradable y ligera hablan sobre las tendencias en el desarrollo de DevOps y la entrega continua de software. Escucharlo es quizás la forma más divertida de mantenerse a la moda.


Puppet Labs son algunos de los pioneros del movimiento DevOps. Más conocido por publicar un informe anual sobre el estado de DevOps en el mundo. Además del informe, su sitio web contiene un conjunto realmente extenso de varios materiales sobre el tema: artículos, videos, seminarios web grabados y seminarios web planificados para el futuro, presentaciones, podcasts, libros electrónicos, informes analíticos e incluso infografías. La mayoría de los materiales son de muy alta calidad y realmente merecen su atención.


Netflix : no se ajusta del todo a la definición de una empresa de desarrollo, ya que el tipo principal de su actividad es la creación y transmisión de series. Sin embargo, en la comunidad de TI, fue ella la pionera de los microservicios y un ejemplo a seguir en términos de cultura corporativa e innovación. Este sitio pertenece a su unidad responsable del desarrollo de tecnologías de código abierto. Se presentan muchas tecnologías y se agrupan por tareas. Parte de los enlaces conduce a los repositorios de GitHub correspondientes, el resto, a páginas individuales de proyectos, donde puede encontrar videos de capacitación, ejemplos de uso y guías para participar en el desarrollo del proyecto.


Artículos y presentaciones


Leer artículos relevantes y otros materiales similares en Internet sigue siendo una de las formas más efectivas de obtener conocimiento sobre lo que está sucediendo en la industria. Los recursos anteriores son excelentes para esto. Aquí daré varios artículos, presentaciones y otros materiales que me parecieron especialmente interesantes y, en mi opinión, tiene sentido leerlos para todos los que estén interesados ​​en DevOps (aunque vale la pena señalar que dichos materiales pierden rápidamente su relevancia):


Microservice 4.0 Journey, Daniel Oh : una presentación muy interesante sobre la historia del desarrollo de microservicios y tecnologías relacionadas. Además de la información histórica, describe la situación actual en la industria, así como pronósticos sobre el desarrollo futuro de los eventos. Cabe señalar que mi sitio se abre solo cuando se trabaja a través de un proxy.


MLFlow: Plataforma para el ciclo de vida completo del aprendizaje automático, Mani Parkhe y Tomas Nykodym : otra presentación del mismo recurso, pero sobre el tema del aprendizaje automático y el trabajo con modelos basados ​​en él. Describe el producto MLFlow y cómo usarlo para proporcionar un ciclo de vida conveniente para los modelos de Data Science. De particular interés serán aquellos que quieran operar tales modelos en un entorno productivo.


DevOps 2.0 para la transformación digital, Jesús Pérez Franco es un breve artículo sobre el desarrollo de DevOps. La idea clave es que el proceso debe abarcar no solo el proceso de desarrollo, sino también toda la cadena, desde la aparición de ideas del lado de la empresa hasta recibir comentarios de los usuarios finales y beneficiarse de él. La idea no es muy nueva, pero alguien podría haberla perdido. Es hora de pasar de DevOps a BizDevOps :)


Navegando sin problemas con Kubernetes, Scott McCloud es un cómic divertido e irónico sobre Kubernetes y sus beneficios. No pretende ser profundo y amplio, pero puede explicar rápida y fácilmente a una persona que no está en el tema por qué se necesita este producto y por qué hay tanta publicidad en el mundo de TI alrededor de esta plataforma. También hay una versión rusa .


TABLA PERIÓDICA DE HERRAMIENTAS DEVOPS : no puedo evitar dar un enlace a la tabla periódica de herramientas DevOps de XebiaLabs. Se dividen según su finalidad y modelo de distribución. Para cada descripción y enlaces a sitios oficiales se dan. Además, cada herramienta se puede agregar al generador del transportador y crear un diagrama visual de CI / CD. Muestra todas las fases y tipos de herramientas que deben tenerse en cuenta al diseñar la tubería de implementación, por lo que se puede utilizar de manera efectiva para optimizar sus procesos actuales y crear presentaciones.


Literatura


Se ha escrito mucha literatura sobre este tema y también se puede dividir en dos categorías: conceptual y técnica. El primero incluye libros que describen ideas básicas, ya sea infraestructura como código o mapeo, y el segundo incluye literatura sobre el uso de enfoques y tecnologías específicos en la práctica.


Literatura conceptual


"Filosofía de DevOps. The Art of IT Management "(Jennifer Davis, Catherine Daniels). Uno de los primeros libros sobre este tema que apareció en Rusia. Pone mayor énfasis en el componente cultural de DevOps: derribar las barreras entre los equipos de desarrollo, eliminar las políticas de reproche mutuo y alentar la colaboración para lograr objetivos comunes. El libro puede no ser muy interesante para los especialistas técnicos, pero puede brindar a los gerentes información útil (especialmente para aquellos que no están familiarizados con el tema) y definitivamente les agradará con una gran cantidad de excelentes citas, por ejemplo, "No se trata de si DevOps se ejecuta formalmente, sino cómo los problemas se identifican y resuelven ".


“El Proyecto Phoenix. Una novela sobre cómo DevOps está cambiando el negocio para mejor "(Gene Kim, Kevin Behr, George Spafford). Similar al libro más vendido" The Goal. El proceso de mejora continua ”este libro presenta sus ideas en una forma de arte que es fácil para el lector. Los héroes de la novela encuentran problemas típicos para la industria de TI y aplican los enfoques fundamentales de DevOps para resolverlos, enfrentando gradualmente la crisis y pasando del oscuro ayer al brillante mañana. Los autores no pretenden profundizar, pero gracias al formato para el conocimiento inicial del tema encaja perfectamente.


"Guía de DevOps. Cómo lograr flexibilidad, confiabilidad y seguridad de clase mundial en compañías de tecnología "(Jez Humble, John Willis, Patrick Debois, Gene Kim). Este libro fue escrito por expertos líderes de DevOps en el mundo, incluido el autor del libro" Phoenix Project "de Gene Kim y uno de los fundadores del movimiento DevOps, Patrick Debois. Por el momento, es considerado el mejor y más completo libro DevOps del mundo. Sin excesiva modestia, observo que la compañía Neoflex participó directamente en la traducción y publicación de este libro en ruso. Los especialistas de la línea de negocio de Práctica de Ingeniería, incluido su humilde servidor, leen y vuelven a leer la versión borrador de la traducción, dictaminaron, discutieron y dictaminaron nuevamente. Los resultados de este trabajo en forma de publicación en ruso se pueden solicitar en el sitio web del editor y encontrarlos en las librerías. Lea e inspírese con la salud.



"DevOps para gerentes de TI" (Oleg Skrynnik). El autor de este libro es uno de los expertos reconocidos en el campo de DevOps en Rusia, así como el socio gerente de Cleverics. Además, Oleg participa regularmente en conferencias líderes de DevOps (como DevOpsDays) en Rusia y en traducciones de publicaciones extranjeras sobre el mismo tema (esto se discutirá más adelante). Esta publicación contiene todos los conceptos e ideas clave de DevOps en el manual más intensivo sobre lo que un gerente moderno necesita saber sobre este tema sobre cómo "implementar DevOps" de manera rápida y eficiente en su empresa o en un proyecto. También puede servir como una buena alternativa para aquellos que son demasiado flojos para leer la Guía de DevOps. Cómo lograr flexibilidad, confiabilidad y seguridad de clase mundial en compañías de tecnología ”, que se caracteriza por un volumen sólido.


"Lanzamiento y escalado de DevOps en la empresa" (Gary Gruver). Este libro fue publicado por Cleverics, que se discutió en el párrafo anterior. Su autor tocó un tema muy interesante e importante: la ampliación de los procesos de DevOps, que tradicionalmente se describen para pequeños proyectos y equipos ("dos equipos de pizza"), al nivel de departamentos y procesos de la empresa o la empresa en su conjunto. Puede ser útil para la alta dirección de las empresas construir una estrategia de transformación digital y escalar DevOps desde proyectos individuales y áreas donde fue capaz de transformar localmente el proceso de desarrollo a la organización en su conjunto.


Literatura técnica


Ya se ha escrito mucha literatura diferente sobre muchas tecnologías relacionadas con DevOps, así que aquí presentaré aquellas publicaciones que me parecieron básicas para profundizar en este tema:


"Git para un programador profesional" (Scott Chacon, Ben Straub). Cualquier desarrollo de software se basa en escribir el código fuente que debe almacenarse en algún lugar y, preferiblemente, versionarse. En la realidad moderna, es óptimo usar Git para estos fines, especialmente si su equipo incluye más de un desarrollador que trabaja en cierta parte de la funcionalidad. Este libro describe en detalle el sistema de control de versiones de Git, el proceso de versionar el código, los comandos básicos y las funciones avanzadas de uso, así como una comparación con otros sistemas modernos de control de versiones. Después de leerlo, puede continuar con el siguiente paso: configurar la integración continua.


"Jenkins: la guía definitiva" (John Ferguson Smart): para configurar la integración continua, se ha creado una gran cantidad de productos, tanto en la nube como estacionarios, pero recomendaría usar Jenkins. Además del hecho de que es gratuito (sin contar las versiones en la nube y empresariales de CloudBees), se han escrito más de mil complementos para él, lo que le permite resolver casi cualquier tarea al crear un CI / CD. Este libro describe en detalle la arquitectura de esta tecnología, los principios de su funcionamiento y la posibilidad de uso, incluidos los procedimientos de mantenimiento de Jenkins y mucho más. Cuando se forma una comprensión de los procesos de CI / CD, puede comenzar a estudiar la tecnología de contenedores.


"Usando el Docker" (Adrien Mowet). Entre las tecnologías de contenedores, Docker es actualmente el líder. Se ha escrito mucha literatura sobre el tema de su aplicación y uso óptimo. Pero fue este libro el que reunió la selección óptima de materiales para un conocimiento completo de esta tecnología: desde la descripción del principio de contenedorización y una descripción detallada de todos los comandos básicos de Docker hasta la construcción de un microservicio simple a partir de varios componentes y el uso de herramientas especializadas para depurarlo. Además, este libro describe la orquestación de contenedores y las herramientas populares para simplificarlo, pero recomendaría prestar un poco más de atención a este tema (como uno de los más importantes para comprender los principios de la construcción de sistemas de microservicios). No se limite a leer este libro, sino estudie literatura adicional, como Kubernetes in Action.


“Kubernetes in Action” (Marko Lukša), “The DevOps 2.3 Toolkit: Kubernetes: Despliegue y gestión de aplicaciones altamente disponibles y tolerantes a fallas a escala” (Viktor Farcic), “The Kubernetes Book: Version 3” (Nigel Poulton). Kubernetes, de hecho, ganó la guerra de la orquesta de contenedores, dejando al resto muy atrás. Solo los orquestadores que amplían su funcionalidad (como OpenShift, IBM Cloud Private y Rancher) pueden hacerlo mejor que él. Por lo tanto, comprender los principios de operación de Kubernetes y los objetos con los que opera es vital cuando se trabaja con sistemas de nube y microservicios. El sistema se está desarrollando MUY activamente y se publica mucha literatura sobre él, por lo que ya hay 3 libros indicados. Después de leerlos, obtendrá una comprensión integral de la plataforma Kubernetes, sus capacidades y características, y también estará listo para desarrollar y operar aplicaciones en contenedores. Además, el libro está escrito con dignidad y leído de una vez, por supuesto, si este tema le interesa. Pero si necesita operar no solo aplicaciones de contenedor, sino, por ejemplo, tareas de procesamiento de datos en Hadoop o aplicaciones independientes, le recomiendo que preste atención a Apache Mesos.


"Mesos en acción" (Roger Ignazio). Si se enfrenta a la tarea de construir un centro de datos y una administración centralizada de sus recursos, le recomiendo que preste atención a Apache Mesos o su distribución de DC / OS complementada. Este libro está dedicado a trabajar con esta tecnología y explica los principios de construir un clúster de Mesos, crear un grupo de recursos común y crear y ejecutar marcos para asignarlos del grupo a tareas y aplicaciones específicas. Se han creado muchos marcos listos para usar (como Marathon) para Mesos, lo que le permite ejecutar los tipos de tareas más populares: contenedores Docker, Spark, Jenkins y muchos otros. Entre otras cosas, Mesos puede usar Kubernetes como marco para orquestar contenedores Docker, y DC / OS tiene un catálogo de servicios con el que puede implementar los productos de código abierto más populares en su clúster en cuestión de minutos.


Conferencias


Las conferencias de DevOps se llevan a cabo en muchos países del mundo, incluida Rusia. Aquí están los más importantes e interesantes en términos de contenido:


DevOpsDays es la conferencia DevOps más grande del mundo (más de 160 eventos celebrados), que se celebra anualmente en muchos países del mundo, incluida Rusia (en los últimos años en Moscú). Uno de los organizadores es Patrick Debois, uno de los fundadores del movimiento DevOps. El programa del evento incluye informes, talleres, sesiones abiertas y varios concursos para los participantes. Los oradores suelen ser representantes de empresas locales y un pequeño número de invitados de empresas extranjeras que explotan y desarrollan activamente tecnologías y enfoques de DevOps.


DevOps Pro Moscow es también una conferencia DevOps muy valiosa, que se celebra durante 3 días en Moscú. El programa incluye discursos de un gran número de oradores, incluidos extranjeros, y clases magistrales de representantes de las principales compañías rusas y extranjeras que promueven y desarrollan activamente el tema DevOps. Lo único negativo: los informes van en 3 secuencias, por lo que hay una alta probabilidad de experimentar los dolores de elección: muchos temas de discursos son muy interesantes.


DevOops no es una conferencia a gran escala como las dos anteriores, pero con oradores realmente de clase alta, principalmente de las principales compañías del mundo en el campo de DevOps. Celebrada en San Petersburgo. El programa del evento incluye solo discursos de oradores y conversaciones detrás de escena, pero sobre los temas de mayor actualidad, solo las últimas tendencias en la industria y su futuro.


Agile, DevOps, ITSM : esta conferencia está dedicada no solo a DevOps, sino también a otras formas relevantes de organizar y gestionar procesos de trabajo en TI. — . .



DevOps . , , , , ( ). , .



, DevOps, , ! ? , .


Red Hat — , , . : Red Hat, . — . . , , . , .


CloudBees — Jenkins . -, . Jenkins , DevOptics.


Puppet Labs — DevOps- « ». , Open Source Enterprise . — . :)


Chef — Chef , , - . , Learn Chef Rally, , . - Chef, . ?


Microsoft Virtual Academy — Microsoft , . , DevOps . , , .



DevOpsInstitute — DevOps. , — DevOps ( Agile). .


CloudBees — CloudBees. , (, Jenkins ). CloudBees Jenkins , .


Puppet Labs — Puppet Labs . : Puppet , . , .


Chef — Learn Chef Rally , Chef. - , , . , , .


Edureka es un portal especializado en enseñar varias tendencias de moda en TI, como la tecnología de big data y la computación en la nube. No hay muchos cursos en sí, pero todos son bastante relevantes: Docker, Kubernetes, Git y DevOps en general. La mayoría viene con certificación, que siempre es agradable.


Eso es todo. ¡Les deseo a todos curiosidad, motivación para el autodesarrollo y éxito en esta interesante lección!


Aleta

Source: https://habr.com/ru/post/es431104/


All Articles