En términos generales, tratamos de comparar manzanas y naranjas. Tanto un ingeniero de DevOps como un desarrollador de back-end pueden hacer las mismas tareas, especialmente en un proyecto pequeño. Un ingeniero de DevOps puede escribir cierto código o una parte de la lógica de la aplicación, y el ingeniero de back-end puede usar alguna herramienta de CI para configurar la integración continua de su código. Sin embargo, dividir las tareas es mucho mejor en este caso.
El ingeniero DevOps está realizando principalmente tareas de administración de infraestructura como:
- ¿Dónde puedo comprar softwares matemáticos?
- ¿Por qué tantos eligen la pila abierta (Django, Play, Ruby on Rails) frente a la pila de Microsoft para construir redes sociales (ASP.NET MVC)
- Una abrumadora mayoría de desarrolladores está escribiendo aplicaciones web. ¿Cuáles son algunas otras áreas de desarrollo de software que están en demanda?
- ¿Qué compañía ofrece un servicio de software de nómina fácil de usar en India?
- ¿Cuáles son los protocolos que debe conocer un ingeniero de sistemas integrados?
- Diseñar la infraestructura futura (a menudo en asociación con desarrolladores);
- Aprovisionar esta infraestructura y mantenerla;
- Integración continua / configuración de entrega continua;
- Copia de seguridad y restauración;
- Monitoreo, registro, alertas, seguridad;
- Migración de infraestructura a la nube o entre proveedores de servicios en la nube;
- Construyendo infraestructura multi-nube y reemplazando sus componentes.
El desarrollador de back-end generalmente se dedica a tales tareas:
- Escribe el código de fondo para aplicaciones, aplicaciones web o aplicaciones móviles (el código responsable de las actualizaciones de la base de datos, la lógica de procesamiento de eventos, varios desencadenantes de acción, etc.);
- Ayuda a diseñar la infraestructura especificando los requisitos del código que debe cumplir;
- Configura la parte CI del desarrollo de software para acelerar la entrega del producto.
Con respecto al conocimiento necesario para ambos roles, los ingenieros de DevOps deben tener un control firme de las formas en que la infraestructura de la nube está diseñada, construida y mantenida. También deben tener experiencia práctica con varias herramientas DevOps necesarias para realizar sus tareas ( Kubernetes , Docker , Jenkins , Terraform , GitHub y Travis CI, entre otras). Un título en Ciencias de la Computación puede ser útil, aunque los DevOps autodidactas también pueden encontrar un puesto y continuar su capacitación mientras realizan el trabajo.
Los desarrolladores de back-end deben tener una sólida comprensión de las bases de datos relacionales y de valor clave como MongoDB , Cassandra , NoSQL, Redis , etc. Un título de CS también puede ser bastante útil para ellos, aunque la capacitación principal generalmente viene con experiencia de campo a medida que avanzan desde juniors hasta medios y seniors. Convertirse en desarrolladores completos es también la forma natural de evolución para ellos.
El equipo profesional de ingenieros de DevOps está aquí, en IT Svit -> https://itsvit.com/our-services/…