Índice analítico[Ocultar][Mostrar]
DevOps é unha mestura de filosofías, ferramentas e prácticas que teñen como obxectivo axudar ás organizacións a entregar aplicacións rapidamente.
Os equipos que adoptan o modelo DevOps invisten na capacidade de servir mellor aos seus clientes e iterar máis rápido que os seus competidores.
O modelo DevOps, como o nome indica, combina os equipos de desenvolvemento e operación xuntos. Os enxeñeiros de DevOps adoitan traballar xuntos durante todo o ciclo de vida da aplicación.
Isto significa que moitas das mesmas persoas xestionan o desenvolvemento, as probas, a implantación e o mantemento.
A práctica de DevOps fomenta unha entrega mellor e máis rápida ao cliente final.
Por exemplo, un equipo pode ter un tempo de resposta máis rápido para identificar un erro, resolvelo e implementar o parche.
Un equipo pode usar DevOps para probar novas funcións máis rapidamente, publicando constantemente novas actualizacións para o cliente.
Este artigo repasará o que realmente fan os enxeñeiros de DevOps. Despois repasaremos as habilidades imprescindibles para que os enxeñeiros de DevOps destaquen nos seus roles.
Que fai un enxeñeiro de DevOps?
Un enxeñeiro de DevOps é un papel moi esixente. Debe ter un amplo coñecemento que abarque tanto o desenvolvemento como as operacións.
Dado que farán de ponte entre ambos os equipos, tamén deben ser capaces de falar con moita xente.
Os enxeñeiros de DevOps adoitan ter experiencia co conxunto de ferramentas de desenvolvedor habitual. Adoitan axudar a construír o código da aplicación e manter a canalización CI/CD.
Ao mesmo tempo, tamén se encargan da responsabilidade da administración do sistema e da xestión da infraestrutura.
Isto implica a implantación de servidores e recursos na nube onde se aloxarán as aplicacións. Isto podería implicar servidores no lugar ou instancias virtuais proporcionadas por tecnoloxías na nube.
As 7 principais habilidades para enxeñeiros de DevOps
1. Fundamentos de Linux e scripting
Linux é un open-source sistema operativo que se atopa en todo tipo de ordenadores. O SO é popular no desenvolvemento de DevOps por moitas razóns.
As máquinas Linux son moi estables e pódese confiar para funcionar 24 horas ao día, 7 días ao día sen ter que reiniciar. O sistema operativo é moito máis seguro en comparación cun sistema operativo máis amigable para o consumidor como Windows.
Saber como usar eficazmente o ambiente Linux é unha habilidade esencial para un enxeñeiro de DevOps. A maioría das empresas usan un ambiente Linux para executar as súas aplicacións a gran escala.
Un enxeñeiro exitoso debe coñecer os comandos máis comúns en Linux e debe ser capaz de crear scripts de shell para tarefas repetitivas ou programadas.
2. Contenedores e orquestración de contedores
A contenerización é o proceso de colocar un compoñente de software e o seu entorno, dependencias e configuración nunha única unidade coñecida como contedor.
Os contedores pódense executar e configurar en calquera lugar, o que é vantaxoso para DevOps. Os contedores son lixeiros e fáciles de transferir dun equipo a outro.
A orquestración de contedores refírese á automatización do esforzo operativo necesario para executar aplicacións e servizos en contedores. Os enxeñeiros de DevOps deben estar familiarizados coa implementación e escalado de ambientes en contedores.
Estivador é unha plataforma popular para os equipos de DevOps que pode axudar a empaquetar a súa aplicación nun contedor distribuíble.
3. Integración continua e entrega continua
A integración continua (CI) refírese a un conxunto de prácticas que animan aos equipos a implementar pequenos cambios con frecuencia. CI céntrase na automatización da construción, empaquetado e proba de aplicacións.
A entrega continua (CD) automatiza a entrega de aplicacións. Isto pode ser empurrando un novo compromiso nun ambiente de proba ou empurrando a versión máis recente do teu software nun ambiente de produción.
Os enxeñeiros de DevOps deberían estar familiarizados co pipeline CI/CD porque fomenta iteracións máis rápidas e probas máis frecuentes.
Os enxeñeiros poden usar control de versións ramificación para definir como se integra o código recentemente engadido nun ambiente de proba e no produto final.
4. Administración do sistema
Aínda que un administrador de sistema típico non ten ningún papel no desenvolvemento do software que axudan a supervisar, un enxeñeiro de DevOps debe ter unha boa comprensión do lado do desenvolvemento.
Os enxeñeiros de SysAdmin e DevOps comparten algunhas responsabilidades comúns.
Os enxeñeiros de DevOps aínda deben saber configurar e xestionar varios sistemas informáticos e servidores. As tarefas comúns inclúen a creación e xestión de contas de usuarios, o mantemento de bases de datos e a resposta ás interrupcións do sistema.
5. Formación en seguridade
A seguridade de DevOps implica comprender como se pode integrar a seguridade en todas as etapas do ciclo de vida de DevOps.
Os enxeñeiros deben saber xestionar correctamente os privilexios de acceso, as chaves SSH, os tokens de API, etc.
Un ambiente típico de DevOps ten varias ferramentas que requiren a súa propia xestión secreta.
Os enxeñeiros de DevOps expertos controlan, supervisan e auditan varios dereitos de acceso con privilexios. Os enxeñeiros tamén deben ter en conta posibles vulnerabilidades tanto na propia aplicación como nas distintas dependencias das que pode contar.
6. Arquitectura do sistema e aprovisionamento
Os enxeñeiros de DevOps deberían ser capaces de deseñar e xestionar o ecosistema informático dunha organización.
Os enxeñeiros benefícianse de comprender o proceso de Infraestrutura como Código (IaC). IaC céntrase na automatización da configuración e xestión dos centros de datos da súa rede.
Os servizos na nube ofrecen máquinas virtuais que os enxeñeiros poden usar para probar as súas aplicacións a escala nunha fase inicial.
Isto pode dar aos desenvolvedores unha imaxe clara de que tipos de configuracións de hardware son necesarias para executar a aplicación cando se pon en marcha.
Por exemplo, a Xestor de recursos de Azure ofrece unha capa de xestión que lle permite crear, actualizar e eliminar recursos na nube.
7. Comunicación e Colaboración
Para que unha filosofía DevOps funcione nunha organización, cada equipo debe adoptar unha comunicación e colaboración adecuadas.
DevOps pretende eliminar os "silos" do desenvolvemento de software, onde diferentes equipos se centran no aspecto do proxecto relacionado co seu rol. Os silos levan a problemas de comunicación e os equipos poden ter obxectivos desalineados para o proxecto en cuestión.
Un enxeñeiro de DevOps debería adoptar unha comunicación aberta e transparente. As reunións periódicas e unha base de coñecemento sólida poden axudar a manter todos os equipos na mesma páxina.
Un gran enxeñeiro de DevOps funciona mellor cando colabora con outros e está aberto a compartir os seus pensamentos e suxestións con outros.
Conclusión
Os roles de DevOps aumentaron en popularidade e demanda. Os enxeñeiros de DevOps en particular requiren un amplo conxunto de habilidades multidisciplinares que pode parecer intimidante.
Aínda que o papel é bastante esixente, calquera que teña experiencia con polo menos un aspecto de DevOps pode comezar a desempeñar este cobizado papel.
A filosofía central de DevOps promove unha cultura de colaboración e aprendizaxe continua.
Sempre que mostres paixón por aprender novas tecnoloxías e habilidade para facer un seguimento das responsabilidades que abarcan varias disciplinas, tes o necesario para ser un bo enxeñeiro de DevOps.
Deixe unha resposta