Actividades diarias de un ingeniero de DevOps: –
- Escribe código / software. De hecho, él es un ingeniero de software adecuado
- Construye herramientas. Hace las cosas dolorosas, tan a menudo y con la mayor frecuencia posible.
- Participa en la rotación de guardia
- Diseño de infraestructura.
- Sistemas de escalado (cualquier sistema o subsistema: redes, aplicaciones, equilibradores de carga).
- Mantenimiento como reiniciar ese frágil vhost con una pérdida de memoria que nadie se molestó en arreglar o tomar posesión de
- Vigilancia
- Virtualización
- Agile / kanban / cualquier metodología de desarrollo. No es tanto que ágil sea “correcto”. Es la forma más eficiente de completar una cola de trabajo (teniendo en cuenta las interrupciones y los bloqueadores). ¡Un buen ingeniero de DevOps tiene fuertes opiniones sobre esto!
- Ciclos de lanzamiento de software y gestión. De hecho, incluso podría ver la “metodología de desarrollo” y los ciclos de lanzamiento de software como la misma cosa.
- Automatización. Automatización. Automatización.
- Diseño de una estrategia de lanzamiento / lanzamiento para el SCM proporcionado (git, Mercurial, svn, etc.). Lo que tienes.
- Métricas / informes. Va de la mano con el monitoreo, aunque son diferentes.
- Optimización / afinación. De aplicaciones, herramientas, servicios, hardware … cualquier cosa.
- Pruebas de carga y rendimiento y evaluación comparativa, incluidas las pruebas de rendimiento de sistemas altamente complejos. Y conoce la diferencia entre las pruebas de carga y las pruebas de rendimiento.
- Nube. De acuerdo, realmente no es necesario tener experiencia en la nube, pero puede cambiar fundamentalmente su forma de pensar sobre los sistemas complejos. Nadie en una instalación de colo ideó la noción de “infraestructura inmutable”.
- Gestión de configuraciones. O no. Tienes una opinión al respecto. (Seguramente has oído hablar de Puppet, Chef, Ansible, etc. ¿Sí?)
- Seguridad. En cada capa
- Equilibrio de carga / proxy / replicación. (De servicios, sistemas, componentes y procesos).
- Línea de comando fu. Un ingeniero de DevOps está familiarizado con las herramientas a su disposición para depurar, diagnosticar y solucionar problemas en uno o varios servidores, rápidamente. Usted sabe cómo funcionan las tuberías y, por ejemplo, puede contar cuántos registros contenían alguna frase en un archivo de registro con facilidad.
- Manejo de paquetes.
- CI / CIT / CD: integración continua, pruebas de integración continua y despliegue continuo. Esto es lo más parecido al verdadero significado de “DevOps” que hará un ingeniero de sistemas.
- Bases de datos Todos ellos. SQL, NoSQL, lo que sea. ¡Los distribuidos también!
- Sólida experiencia en sistemas. Estamos hablando de la pila de red, cómo funcionan los discos duros, cómo funcionan los sistemas de archivos, cómo funciona la memoria del sistema, cómo funciona la CPU y cómo se combinan todas estas cosas. Esta es la experiencia tradicional en “operaciones” de la que has oído hablar.
Pheww, mucho trabajo. DIOS MIO !!!
Saludos,
- Garantía de calidad del software: ¿Existe una regla general para estimar el control de calidad como porcentaje del tiempo total de desarrollo?
- ¿Cómo crearías Facebook ahora (con la tecnología actual)?
- ¿Cuáles son sus actividades diarias como ingeniero de DevOps en su proyecto actual?
- ¿En qué medida Asana ha conservado la filosofía de Facebook de moverse rápido y romper cosas?
- ¿Con qué frecuencia una relación entre dos técnicos de software enfrenta un choque ideológico, especialmente cuando uno es de una empresa de servicios y el otro de una empresa de productos de primer nivel?