Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 3. Versiones

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 1. Introducción
Cómo convertirse en un ingeniero DevOps en seis meses o incluso más rápido. Parte 2. Configuración



Actualizar la memoria


En la primera parte, hablamos sobre la cultura y los objetivos de DevOps; en la segunda, cómo sentar las bases para futuras implementaciones de código utilizando Terraform, que es el código mismo. En la tercera parte, discutiremos cómo guardar todas estas partes del código del desorden completo. Spoiler: ¡Se trata de Git!

Bonificación: también hablaremos sobre cómo usar este mismo Git para crear y promocionar su propia marca personal. La imagen muestra dónde estamos ahora.



¿Por qué molestarse con esto?


¿Qué se entiende por versionado? Imagine que está trabajando en algún tipo de software y constantemente le hace cambios, agregando o eliminando funciones según sea necesario. A menudo, el último cambio será un cambio fundamental, rompiendo todo lo creado anteriormente. Si eres un representante de una vieja escuela, probablemente nombrarás tu primer archivo awesome_code.p1.

Luego comienza a hacer cambios y necesita guardar lo que funciona, en caso de que tenga que volver a hacerlo. Por lo tanto, cambie el nombre de su archivo a este: awesome_code.12.25.2018.p1.

Todo funciona bien hasta que, el mismo día, realice algunos cambios y tenga que nombrar el nuevo archivo awesome_code.GOOD.12.25.2018.p1. Y sigan con el buen trabajo.

Lo más probable es que, en un entorno profesional, tenga varios equipos colaborando en la misma base de código, lo que viola aún más este modelo. No hace falta decir que este tren loco se está descarrilando rápidamente.

Sistema de control de versiones de control de código fuente





Utilice el sistema de control de versiones SCC: esta es una forma de almacenar sus archivos en un lugar centralizado donde varios equipos pueden trabajar juntos en una base de código común. Esta idea no es nueva. La primera mención del sistema SCC que logré encontrar data de 1972. Por lo tanto, la idea de que deberíamos centralizar nuestro código en un lugar está definitivamente desactualizada.

Sin embargo, la idea de que todos los artefactos producidos deben ser versionados es relativamente nueva. Esto significa que todo lo relacionado con su entorno de producción debe almacenarse en el sistema de control de versiones, sujeto a seguimiento, verificación y registro del historial de cambios.

Además, la aplicación de la ley "todos los artefactos de productos deben ser versionados" realmente hace que aborde los problemas por el principio de "automatización primero".

Por ejemplo, cuando decide simplemente hacer clic en un problema complejo en su entorno de desarrollo de AWS, puede hacer una pausa y pensar: "¿Es esto un clic en un artefacto versionado"? Por supuesto, la respuesta será "no".

Aunque es una práctica normal hacer prototipos rápidos a través de la interfaz de usuario para ver si algo funciona o no, su trabajo será de corta duración. Por lo tanto, al hacer un trabajo prometedor y que requiera mucho tiempo, asegúrese de hacerlo en Terraform u otra herramienta de infraestructura como código. Recuerde: administre artefactos versionados y almacénelos utilizando el repositorio de Git.

Repositorio Git


Antes de Git, usar SCCS como SVN era incómodo, no fácil de usar y, en general, una experiencia bastante dolorosa. La diferencia con Git es que proporciona un control de versión distribuido. En pocas palabras, no bloquea a otros usuarios del repositorio de código fuente centralizado mientras trabaja en sus cambios, pero trabaja con una copia completa de la base de código. Después de que termine su trabajo, esta copia se incrustará en el repositorio principal.

Tenga en cuenta que lo anterior es una simplificación general de cómo funciona esto. Tal descripción es suficiente para los propósitos de este artículo, sin embargo, un conocimiento detallado de Git es una experiencia laboriosa pero gratificante.



Por ahora, solo recuerda que Git no funciona como SVN. Este es un sistema de gestión de código fuente (versión) distribuido en el que varios equipos de desarrollo pueden trabajar de manera segura y confiable en una base de código común.

¿Por qué necesitas saber esto?


Afirmo firmemente que sin saber cómo funciona Git, nunca se convertirá en un ingeniero profesional de DevOps (Cloud). ¿Cómo estudiarlo? Tenga en cuenta que un resultado de búsqueda de Google para "Git Tutorial" generalmente proporciona enlaces a tutoriales extremadamente inflados y confusos. Sin embargo, algunos libros de texto realmente sensibles se encuentran entre ellos.

Una de esas series de tutoriales que recomiendo a todos a leer, estudiar y usar en la práctica son los Tutoriales Git de Atlassian . Todos son lo suficientemente buenos, pero una sección, Git Workflows , que describe los flujos de trabajo de este repositorio, es utilizada por programadores profesionales de todo el mundo.

Otro tutorial realmente bueno es explorar la ramificación del repositorio de ramificación de Learn Git. Los tutoriales de Atlassian se basan en el principio de "leer y aprender", y Learn Git Branching es un tutorial interactivo. En cualquier caso, no llegará lejos en el aprendizaje de DevOps a menos que comprenda cómo funciona este repositorio.



Observo que la falta de comprensión de cómo funciona la función Git Branching o la incapacidad de explicar qué es Gitflow, ahoga durante una entrevista al 99% de los solicitantes para la candidatura del ingeniero de desarrollo DevOps. Este es el punto clave: puede venir a una entrevista y no conocer Terraform o alguna otra herramienta moderna de infraestructura como código, y esto es normal, porque puede estudiarlo en el proceso. Pero la ignorancia del trabajo de Git indica que le faltan los principios básicos de las mejores prácticas modernas en el desarrollo de software, no importa si se trata de DevOps o no. Esto indica a los gerentes de contratación que su curva de aprendizaje es demasiado desigual.

Por el contrario, su capacidad para hablar con confianza sobre las mejores prácticas de Git le dice a los gerentes de contratación que primero se le ocurrió la instalación para hacer el desarrollo del software, y esta es exactamente la imagen que desea proyectar. Conclusión: no es necesario que se convierta en el experto Git líder mundial para obtener este increíble trabajo DevOps, pero necesita vivir y respirar Git por un tiempo para hablar con confianza sobre lo que le está sucediendo. Para hacer esto, como mínimo, debe tener una buena comprensión de cómo hacer lo siguiente:

  • crear una copia del repositorio (Bifurcar un repositorio);
  • Crea una rama Git
  • sincronizar el flujo al repositorio y viceversa;
  • crear una solicitud de extracción.

¿Que sigue?


Una vez que aprenda las lecciones introductorias en Git, obtenga una cuenta en GitHub. Este es el repositorio de Git de código abierto más común, y probablemente querrás estar con el resto de los seguidores de Git.

Tan pronto como tenga su cuenta en GitHub, comience a ingresar su código. Arregle todo lo que requiere que escriba código en el proceso de trabajo en GitHub. Esto no solo infunde una buena disciplina en el manejo de versiones, sino que también lo ayuda a crear su propia marca.

Nota: cuando explore el uso de git + GitHub, preste especial atención a la solicitud de extracción (o PR si desea ser genial).

La marca


Hablando de inclinación: la propia marca es una forma de demostrar al mundo de lo que eres capaz. Una forma (¡esta es actualmente una de las mejores formas!) Es unir firmemente GitHub como proxy de su marca. Casi todos los empleadores en estos días lo pedirán de una forma u otra. Por lo tanto, debe esforzarse por tener una cuenta de GitHub ordenada y cuidadosamente supervisada. Esto es algo que puede incluir en su currículum y estar orgulloso.



En los siguientes artículos, le mostraré cómo crear un sitio simple pero genial en GitHub usando el generador de sitios estáticos Hugo. Está escrito en Go y, quizás, hoy es el más rápido entre los análogos. Hugo reúne alrededor de 5,000 páginas en 6 segundos, que es 75 veces la velocidad de Middleman. Pero por ahora, solo necesita poner su código en GitHub.
Más tarde, cuando gane experiencia, vale la pena pensar en tener dos cuentas de GitHub. Uno para almacenar su propia aplicación escrita, código de trabajo y el otro para almacenar el código que desea mostrar a los demás.

Entonces, resumimos lo anterior:

  • aprender git;
  • Publica en GitHub todo lo que aprendas
  • ¡usa dos cuentas para almacenar y demostrar todo lo que has aprendido
    para beneficiarte de esto!

recomendaciones


Manténgase al día con los últimos desarrollos en esta área, como GitOps. GitOps lleva todas las ideas que hemos discutido hasta ahora a un nuevo nivel, donde todo se hace usando git, solicitudes de extracción y tuberías de implementación.

Tenga en cuenta que GitOps y desarrollos similares hablan sobre el lado comercial de las cosas, es decir, indican que no solo está usando Git, porque es genial y está de moda. ¡Lo usa para garantizar la agilidad comercial, acelerar la innovación y proporcionar funciones más rápidas, es decir, para finalmente ganar más dinero!

Cómo convertirse en ingeniero de DevOps en seis meses o incluso más rápido. Parte 4. Empaquetado de software

Un poco de publicidad :)


Gracias por estar con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendando a sus amigos, VPS en la nube para desarrolladores desde $ 4.99 , un análogo único de servidores de nivel básico que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2697 v3 (6 núcleos) 10GB DDR4 480GB SSD 1Gbps desde $ 19 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).

Dell R730xd 2 veces más barato en el centro de datos Equinix Tier IV en Amsterdam? ¡Solo tenemos 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV desde $ 199 en los Países Bajos!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ¡desde $ 99! Lea sobre Cómo construir un edificio de infraestructura. clase c con servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?

All Articles