Krypton Solid

La última tecnología en raciones de 5 minutos

Lo que todo ingeniero necesita saber en 2022

En un mundo cada vez más descentralizado y basado en la nube, el 77% de las empresas están usando o planeando usar DevOps. Al mismo tiempo, 64% de los líderes en varias funciones de TI están luchando por encontrar profesionales calificados de DevOps.

Entonces, mientras continúa la batalla por un grupo limitado de talentos, es hora de que los desarrolladores se pongan a trabajar; debe aprender DevOps como parte del desarrollo de aplicaciones desde cero. Una empresa y sus usuarios finales pueden tolerar un error o una mala implementación a nivel de aplicación. Y si bien los desarrolladores generalmente pueden aprender en el trabajo, con DevOps, eso es un problema: un subóptimo, propenso a la vulnerabilidad infraestructura apoyar un producto o servicio puede dañar gravemente un negocio.

Además, los desarrolladores que quieran dedicarse a DevOps necesitan ver las herramientas en combinación. en lugar de elementos individuales. Por ejemplo, suponga que desea crear una aplicación Java en el sistema operativo Linux de código abierto e implementarla en Kubernetes para automatizar la implementación. El conjunto de herramientas que se usa aquí es muy diferente al de un desarrollador que quiere construir e implementar una aplicación en una máquina Linux individual.

Estas son solo algunas de las razones por las que DevOps tiene una gran demanda. Pero profundicemos y veamos cómo los ingenieros pueden mejorar sus habilidades para llenar el vacío de talento. (Lea también: Los mejores lugares del mundo para trabajar en tecnología.)

8 habilidades de DevOps que todo ingeniero necesita

Los administradores de TI y sus desarrolladores pueden preguntarse en qué se diferencia DevOps de su vida cotidiana, así que esto es lo que deben tener en cuenta y las habilidades que deberían fortalecer este año:

1. Habilidades de infraestructura en la nube

Las operaciones en la nube y DevOps van de la mano; la efectividad de uno depende del otro. La metodología DevOps es vital para impulsar la producción, pero la nube proporciona la plataforma para probar, implementar y publicar código.

Los desarrolladores con conocimientos de plataformas en la nube como AWS o Azure aumentarían la capacidad de una organización para entregar aplicaciones y servicios a alta velocidad, configurar firewalls y administrar la infraestructura.

2. Gestión del código fuente

Almacenar los resultados del trabajo y compartirlos con colegas es fundamental para la cultura DevOps. La gestión de código fuente (SCM) es un conjunto de herramientas de automatización que realiza un seguimiento de las revisiones realizadas en un programa para garantizar que todos los miembros del equipo estén al día con los cambios en el código fuente y los archivos asociados. Los desarrolladores deben ensuciarse las manos con Git lo antes posible probando GitHub y GitLab.

CONTENIDO RELACIONADO  ¿Podrías convertir el mundo ladrillo a ladrillo?

3. Organización y gestión de contenedores

Los desarrolladores necesitan comprender los conceptos de virtualización y contenedorización para evaluar el riesgo.

La virtualización permite a los desarrolladores ejecutar múltiples sistemas en un solo hardware de servidor. La contenedorización es más flexible, lo que permite implementar múltiples aplicaciones en cualquier lugar: en un servidor local o una máquina virtual en la nube, entre otros entornos. Para la orquestación de contenedores de aplicaciones más grandes, Kubernetes es una solución popular, de código abierto y lista para producción, y Docker Swarm funciona bien para aplicaciones más pequeñas.

4. Codificación y secuencias de comandos

Python, Ruby y Go se encuentran entre los lenguajes de secuencias de comandos DevOps más populares. Los desarrolladores deben aprender al menos uno de estos para la automatización de secuencias de comandos. Además, Bash se usa para Linux y Shell para Windows.

En un mundo de nube cada vez más basado en Linux, Bash es imprescindible. Los profesionales de DevOps deberán escribir programas en diferentes idiomas y administrar el código usando GitHub, por ejemplo. El dominio de cada idioma significa un mayor control sobre cómo DevOps permite la eficiencia. (Lea también: Los 5 lenguajes de programación que construyeron internet.)

5. CI/CD y Automatización

Un conjunto de habilidades de automatización de DevOps está estrechamente relacionado con la capacidad de codificación.

Jenkins, por ejemplo, es una herramienta de software de automatización de integración continua y entrega continua (CI/CD) de código abierto escrita en Java. Se utiliza para implementar flujos de trabajo de CI/CD (llamados «canalizaciones»), empaquetar aplicaciones, ejecutar análisis de vulnerabilidades y crear imágenes acoplables. Otra razón para repasar sus lenguajes de codificación.

6. Observabilidad y seguimiento

Las aplicaciones no pueden ejecutarse indefinidamente; tendrán problemas. De hecho, son como hogazas de pan: deben enmohecerse bastante rápido. Un desarrollador es responsable de monitorear el «molde» (salud, resiliencia y confiabilidad del sistema) y realizar iteraciones.

Las herramientas de monitoreo como Prometheus y Nagios se pueden configurar para enviar alertas cuando hay un problema. Para visualizar los datos almacenados en este tipo de herramientas, utiliza Grafana o alguna de sus alternativas. (Lea también: Cómo elegir la herramienta de monitoreo de aplicaciones adecuada.)

7. Los fundamentos de la ciberseguridad

Los desarrolladores deben saber cómo instalar firewalls, servidores proxy, balanceadores de carga y administrar puertos.

CONTENIDO RELACIONADO  Intel planea lanzar un fondo de $ 100 millones para dispositivos inteligentes

8. Planificación, comunicación y colaboración

Un desarrollador que se destaque del resto debe tener habilidades «blandas», ser organizado y orientado a los negocios, y tener un alto nivel de compromiso para romper los silos entre los equipos de desarrollo y operaciones.

En general, los desarrolladores deben comenzar a comunicarse con las partes interesadas del negocio, colegas y otros departamentos en términos técnicos y comerciales, mientras ven la tecnología como una herramienta para lograr resultados comerciales.

Tradicionalmente, la definición de DevOps era cualquier cosa que hiciera que el proceso de desarrollo fuera más eficiente. Hace cinco años, muchos directores de tecnología (CTO) pensaron que era suficiente poner a los profesionales de desarrollo y operaciones en la misma sala.

Ahora, DevOps ha crecido y se ha vuelto más complicado: el icono no oficial es un símbolo de infinito, lo que demuestra que es un proceso infinito y continuo. No es como terminar una escultura o un ensayo. La integración requiere un mantenimiento constante, y la evaluación constante del ciclo de vida del desarrollo del producto es vital.

DevOps también se deja a la discreción y el nivel de conocimiento de los desarrolladores individuales o equipos de TI para implementarlo como mejor les parezca. Vienen con sus propias preferencias, políticas y prácticas de instrumentación, que invariablemente conducen a inconsistencias, sistemas fracturados, deuda técnica enorme, licencias de software duplicadas y rotación de desarrolladores. (Lea también: Cómo afecta el trabajo remoto a DevOps y las tendencias de desarrollo.)

Este tipo de trampa a menudo ocurre cuando los desarrolladores e ingenieros analizan DevOps no más como canalización de CI/CD. Si bien esto permite una entrega de código rápida y confiable con una colección de herramientas, olvida por qué surgió DevOps.

DevOps no es solo un conjunto de herramientas: es un modelo orientado a resultados para entregar rápidamente código de alta calidad con impacto comercial. Requiere filosofías culturales, prácticas, codificación/secuencias de comandos y un ciclo de vida completo de desarrollo de software (SDLC) separado del desarrollo de características comerciales.

Desafíos DevOps

La loca carrera por adoptar DevOps se debe a los obstáculos y desafíos que enfrentan los desarrolladores hoy en día, tales como:

falta de comunicación

Los equipos de desarrollo y operaciones hablan diferentes idiomas: los desarrolladores quieren producir rápidamente código para nuevas funciones para impulsar la producción, mientras que a los equipos de operaciones les gusta mantener la estabilidad, asegurarse de que los proyectos funcionen sin problemas y son más reacios a realizar cambios.

DevOps es un mecanismo que garantiza que esta falta de comunicación se elimine de alguna manera, cerrando la brecha entre la carrera hacia la producción y las aprobaciones lentas con planes de implementación integrados.

CONTENIDO RELACIONADO  El código abierto no acaba con la intriga corporativa

Falta de formación en ciberseguridad.

Los desarrolladores a menudo carecen de la formación necesaria para crear sistemas seguros. Los equipos de operaciones tienden a centrarse más en la seguridad y, en algunas organizaciones, también hay un equipo de seguridad dedicado.

Si los desarrolladores ponen una aplicación en producción y el equipo de operaciones la aprueba, pero la seguridad no, el costo de corregir cualquier vulnerabilidad es exorbitante. Esto amplificó tienes que «cambiar a la izquierda.”

No es solo un candado de seguridad pegado al final; la seguridad debe integrarse en cada capa del ecosistema del producto. (Lea también: ¿Qué es DevSecOps?)

Falta de capacitación regulatoria y de cumplimiento

Las aplicaciones no solo deben ser seguras y eficaces, sino que también deben construirse de manera prescrita según lo exijan los organismos reguladores. Las organizaciones que han tenido que inyectar HIPAA, HITRUST o SOC2 después del hecho pueden relacionarse dolorosamente con tener que crear aplicaciones la primera vez.

El costo del desarrollo manual

Las tareas manuales hacen que el desarrollo sea costoso y propenso a la fricción. Hay mucho trabajo manual involucrado, desde el mantenimiento de un servidor hasta la prueba de aplicaciones y las copias de seguridad.

La idea es que el código esté libre de errores de forma nativa, pero ese no es el caso. Cuando las pruebas (característica, regresión, carga, estrés, seguridad y rendimiento) se realizan manualmente, es simplemente ingeniería ineficiente.

Conclusión

DevOps no estaría completo con la mera implementación de herramientas; el secreto está en las combinaciones de tecnología. Aprender cómo interactúan entre sí es fundamental para el éxito del desarrollador y el mantenimiento a largo plazo. Los administradores de TI que necesitan habilidades de DevOps deben evaluar rápidamente qué conocimientos ya tienen sus desarrolladores de la lista anterior y dónde debe enfocarse su equipo.

Pero, en última instancia, DevOps no tiene un libro de jugadas estándar ni una guía de implementación paso a paso que garantice resultados. Es un espacio altamente especializado con un gran número de subespecialidades. Por lo tanto, nunca es un trabajo de una sola persona y requiere una orquestación sólida entre varios especialistas. Realmente se trata de aprender y mejorar continuamente, al igual que lo es CI/CD. (Lea también: Los gerentes de DevOps explican lo que hacen.)

Deja un comentario

También te puede interesar...

AirMech en camino a Steam

Los juegos de carbono tienen Anunciado que AirMech, su híbrido isométrico de acción/estrategia, acaba de ingresar a pruebas cerradas en Steam. El acceso anticipado está disponible para cualquier persona que le guste AirMech en Facebook

Los híbridos tampoco están a la venta. Krypton Solid

Acepta recibir actualizaciones, promociones y alertas de Krypton Solid.com. Puedes darte de baja en cualquier momento. Al suscribirse, acepta recibir boletines seleccionados de los que puede darse de baja en cualquier momento. También estás de

¿Cuál es el rendimiento alcanzado?

¿Cuál es el rendimiento alcanzado? El rendimiento realizado es el rendimiento real obtenido durante el período de tenencia de una inversión. Puede incluir dividendos, pagos de intereses y otras distribuciones de efectivo. El término ‘rendimiento

Definición de tarjeta de crédito semisegura

¿Qué es una tarjeta de crédito semisegura? Una tarjeta de crédito semi-garantizada o parcialmente asegurada requiere que el titular de la cuenta primero deposite la tarjeta con un depósito antes de que el banco emita

PC Gamer US Podcast #331 – Osbornderlands

Logan, Evan, Omri y TJ unen fuerzas con el invitado especial y veterano de Krypton Solid Podcast Chuck Osborn para rociar y orar a través de las noticias de juegos del día. ¿Vale la pena