Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

Ingeniería de plataformas frente a DevOps: ¿en qué se diferencian?

Ingeniería de plataforma vs DevOps
Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

La ingeniería de plataformas y DevOps son dos disciplinas que optimizan los procesos de desarrollo de software. Si bien el objetivo de cada uno es agilizar el desarrollo de productos, cada uno tiene un enfoque diferente. 

Las prácticas de DevOps ayudan a los desarrolladores de productos y a los equipos de operaciones a colaborar y trabajar juntos. Por otro lado, la ingeniería de plataformas crea y mantiene una plataforma centralizada donde los equipos de DevOps pueden acceder a herramientas y herramientas reutilizables de autoservicio automatizadas. workflows.

En este artículo, aprenderemos sobre la ingeniería de plataformas y DevOps, lo que hace cada enfoque y sus beneficios. También veremos las diferencias y el futuro de las dos disciplinas.

What is Platform Engineering

Qué-es-la-ingeniería-de-plataformas

La ingeniería de plataforma es la práctica de diseñar, construir y mantener la infraestructura de desarrollo de software para mejorar la experiencia y la productividad de los desarrolladores. Proporciona herramientas reutilizables de autoservicio compartidas a las que los desarrolladores pueden acceder desde una ubicación central.

Los ingenieros de plataforma se enfocan en crear y mantener las plataformas, herramientas y procesos subyacentes que respaldan el desarrollo de software. Ayuda a mejorar la confiabilidad y escalabilidad de la infraestructura de desarrollo, mejorando así la velocidad de entrega de productos de software.

En la práctica, los procesos de desarrollo, las tecnologías y las herramientas evolucionan a medida que el producto continúa creciendo y se vuelve más complejo. Y la ingeniería de plataforma garantiza la evolución continua de los procesos y herramientas de desarrollo a medida que crece el producto.

Estos incluyen problemas como los requisitos de prueba, el almacenamiento, la necesidad de cumplir con los estándares regulatorios y más. El enfoque garantiza que lo que se requiere para cumplir con los nuevos requisitos esté disponible de antemano.

Por lo general, los ingenieros de la plataforma diseñarán, crearán y administrarán las herramientas y workflows que los desarrolladores necesitan para facilitar su trabajo, trabajar de manera más eficiente y entregar aplicaciones más rápido. Con el acceso de autoservicio, los desarrolladores pueden utilizar todas las herramientas y capacidades libremente sin depender de la infraestructura, las operaciones y otros equipos.

Por ejemplo, los desarrolladores no tienen que seguir solicitando aprobación para lanzar un nuevo entorno de prueba o iniciar un entorno de desarrollo aislado. En la práctica, el proceso de aprobación puede ralentizar las cosas y dar como resultado un desarrollo de productos ineficiente.

El acceso de autoservicio aborda estos y otros problemas, lo que permite a los desarrolladores acceder casi instantáneamente a una amplia gama de funciones y capacidades.  

How Platform Engineering is Emerging

Cómo-está-emergiendo-la-ingeniería-de-plataformas

La ingeniería de plataformas crea un conjunto de grupos organizados de servicios, procesos, herramientas y otros recursos que los desarrolladores de software pueden usar sin administrarlos directamente o sin necesidad de comprenderlos. La disciplina aborda una amplia gama de necesidades de desarrollo. 

A medida que evolucionan las aplicaciones de software y la infraestructura de desarrollo, se vuelven más complejas, con tantas partes móviles que la mayoría de los desarrolladores de software no pueden seguir el ritmo. En la práctica, se requiere que los desarrolladores administren la infraestructura, pero no tienen las habilidades o los recursos adecuados para administrar las tecnologías emergentes.

Cuando se requiere que los equipos manejen cosas más allá de su capacidad, la productividad disminuye y las posibilidades de errores aumentan. Y la ingeniería de plataformas está emergiendo como una solución viable que puede mejorar la experiencia del desarrollador y la velocidad de entrega de productos. La plataforma brinda acceso a herramientas personalizadas, de autoservicio validado y reutilizables, y workflows.

ingeniería de plataformas crea una plataforma interna para desarrolladores que los desarrolladores de software pueden usar para crear sus productos. La plataforma comprende todas las tecnologías y herramientas unidas para crear una colección centralizada de herramientas y procesos de autoservicio.

La práctica de la ingeniería se basa en una amplia gama de herramientas que brindan a los desarrolladores la libertad de elegir lo que quieren.

Plataformas internas para desarrolladores
Fuente de imagen: Platformengineering.org

Una vez creado, forma un camino dorado que los equipos de DevOps pueden usar para construir sus productos. Proporciona una infraestructura de autoservicio donde los desarrolladores pueden crear su entorno de desarrollo con las herramientas que necesitan sin esperar la aprobación. 

En general, la ingeniería de plataformas es como la DevOps próxima etapa que puede ayudar a las grandes empresas a desarrollar configuraciones y estándares de autoservicio reutilizables que luego ofrecen como productos internos. Como paso adelante en DevOps, la ingeniería de plataforma permite a los desarrolladores seguir fácilmente las prácticas de DevOps, pero puede diferir de una organización a otra.

Beneficios de las Plataformas de Desarrollo Interno

Beneficios de las plataformas de desarrollo interno

La ingeniería de plataformas ofrece una amplia gama de beneficios, y las empresas no deben evitar implementarla. Los principales beneficios incluyen:

  • Ayuda a acelerar la entrega de aplicaciones de software, lo que permite a las empresas obtener un valor comercial útil a tiempo. 
  • La práctica proporciona herramientas reutilizables con capacidades de autoservicio y operaciones de infraestructura automatizadas que ayudan a mejorar la productividad y la experiencia del desarrollador, prácticas estándar de DevOps y una canalización de desarrollo segura y escalable.
  • Acelerar el desarrollo de software. Las plataformas de desarrollo interno resultantes ofrecen procesos automatizados e infraestructura de autoservicio, lo que ayuda a reducir el desperdicio de tiempo y la burocracia y, por lo tanto, mejora la productividad.
  • Mejora la especialización y el enfoque: Permite a los desarrolladores concentrarse en el desarrollo (lo que mejor saben hacer); en la práctica, el CI / CD La tubería, la infraestructura y la implementación distribuida son sistemas complejos que requieren habilidades altamente especializadas. Sin embargo, con la ingeniería de plataformas, los desarrolladores no necesitan comprender los sistemas y pueden concentrarse en desarrollar software en lugar de tratar de comprender y trabajar en la infraestructura subyacente.

What is DevOps

Qué es DevOps

DevOps es un enfoque que busca aumentar la frecuencia y la eficiencia del lanzamiento de software. Rompe los silos entre equipos mientras promueve la colaboración entre ellos.

El método de desarrollo de software utiliza herramientas y prácticas de automatización, monitoreo continuo, integración, entrega continua, pruebas, gestión de configuración y gestión de incidentes para respaldar los diversos procesos a lo largo de la canalización de CI/CD.

Los desarrolladores trabajan en colaboración con el equipo de operaciones para reducir el tiempo de creación y ayudar a las empresas a lanzar nuevos productos y funciones de forma rápida y frecuente.

El objetivo final del enfoque DevOps es automatizar y acortar el circuito de retroalimentación y el ciclo de desarrollo de software. Agiliza las fases de desarrollo de software, como la planificación, la creación, la construcción, la configuración, el seguimiento y la verificación.

Beneficios de las prácticas DevOps

DevOps proporciona una amplia gama de beneficios. Algunos de estos incluyen:

  • Desarrollo e implementación más rápidos de software y características
  • Ambiente de trabajo mejorado y estable.
  • Mejor calidad del producto
  • Entrega continua de productos y funciones de software
  • Técnicas de resolución de problemas mejores, fiables y más rápidas
  • Costos reducidos de desarrollo de software

Platform Engineering vs. DevOps

A continuación, se muestran algunas de las diferencias clave entre la ingeniería de plataforma y DevOps.

Ingeniería de plataformasDevOps
La ingeniería de plataforma crea una plataforma interna para desarrolladores que minimiza la necesidad de coordinación.  Las prácticas de DevOps tienen como objetivo mejorar la coordinación y la colaboración entre los desarrolladores y las operaciones.
El equipo de DevOps a menudo elige las herramientas que lo ayudarán a lograr sus objetivos.Crea una plataforma de autoservicio para herramientas, procesos y workflows.
Una disciplina que proporciona a los equipos de DevOps una plataforma de autoservicio centralizada y escalable para sus workflows y herramientas.Mejora la colaboración entre los equipos de desarrollo y operación.

Una organización solo puede implementar la ingeniería de plataforma después de implementar con éxito el entorno DevOps.Las empresas comienzan con DevOps antes de implementar la ingeniería de plataforma y no al revés

Define las herramientas validadas y probadas y workflows los equipos de DevOps deben usar según las necesidades de los desarrolladores.Involucrado en las etapas del ciclo de vida de desarrollo y operaciones, como la planificación, la codificación, la construcción, las pruebas, las operaciones, el monitoreo, la implementación y el lanzamiento del software y las características.
Trabaja y apoya a los equipos internos.Lanza productos y funciones de software directamente a los clientes y otros usuarios externos
No trabaja en proyectos comerciales, pero crea y mantiene la plataforma que los equipos DevOps requieren para hacerlo.Solo participa en las etapas de implementación, operaciones y monitoreo del ciclo de vida de DevOps.
No trabaja en proyectos comerciales, pero crea y mantiene la plataforma que los equipos DevOps requieren para hacerlo.Los equipos de DevOps pueden tomar y trabajar en proyectos comerciales a medida que desarrollan su software.
Herramientas-populares-para-ingeniería-de-plataformas-y-DevOps

Por lo general, la combinación de las herramientas en la plataforma de desarrollo interna puede variar de un entorno a otro.

Herramientas típicas de ingeniería de plataformas

  • Kubernetes
  • plano cruzado
  • CI de GitLab
  • Backstage
  • Consulta
  • Argo CD

Las herramientas DevOps mejoran colaboración, automatización y otros procesos que mejoran la calidad del producto y el tiempo de entrega. La disponibilidad de herramientas y experiencia ha hecho que muchas organizaciones adopten DevOps. En la práctica, los equipos utilizan un conjunto de herramientas en varias combinaciones.

Algunas de las herramientas populares incluyen:

  • Jenkins 
  • Docker 
  • Marioneta 
  • Gradle
  • CirculoCi
  • Amigo
  • Git
  • Github
  • Cocinero
  • Kubernetes
  • Ansible
  • Terraform

Platform Engineering emerges as DevOps matures and scales

En la actualidad, la ingeniería de plataformas surge a medida que DevOps madura y escala. La disciplina parece ser la siguiente etapa en la evolución de DevOps. DevOps ya casi ha alcanzado su etapa de madurez a medida que continúa evolucionando, y parece que la ingeniería de plataforma será la siguiente etapa. Y a medida que crece, surgen nuevos desafíos y oportunidades. 

La ingeniería de plataforma emerge a medida que DevOps madura y escala

La ingeniería de plataforma proporciona autoservicio, procesos reutilizables y herramientas para que los desarrolladores no tengan que seguir creando nuevas formas de hacer las cosas. Idealmente, esto significa que no tienen que crear nuevas herramientas, sino que pueden usar lo que se ha demostrado que funciona. Por lo general, las prácticas de DevOps siguen un cierto camino hacia la madurez. 

El modelo de madurez de DevOps muestra todo el proceso de desarrollo de DevOps. El modelo de madurez DevOps ayuda a identificar tres cosas.

  • Evaluar el estado actual y las capacidades de las prácticas DevOps.
  • Identificar los puntos débiles que requieren mejoras.
  • Defina los pasos a seguir para lograr los objetivos de DevOps.

Una organización puede evaluar sus habilidades en términos de cultura y estrategia, automatización, estructura y procesos, y finalmente en colaboración y compartir.

Idealmente, el modelo de madurez de DevOps comprende los siguientes cinco pasos de transformación.

  • Etapa inicial: Esto implica separar los silos de desarrollo tradicionales en desarrolladores y equipos de operaciones.
  • Etapa gestionada: Cambiar la mentalidad de los equipos de desarrolladores para centrarse en prácticas de desarrollo ágil. Esta etapa también implica implementar la automatización inicial para las operaciones y, al mismo tiempo, fomentar la colaboración entre los equipos de desarrollo y operaciones.
  • Etapa definida: El viaje de transformación comienza utilizando los procesos definidos y los procedimientos automatizados
  • Mesurado: evaluando y mejorando continuamente los procesos y automatizados workflows
  • Optimizado: La organización ahora puede ver los beneficios de DevOps y también abordar cualquier brecha para mejorar la eficiencia.

A medida que DevOps madura y escala, llega a las etapas Medido y Optimizado, donde la organización ahora comienza a analizar las prácticas y herramientas. Esto incluye verificar la forma en que los equipos usan las herramientas para resolver el mismo problema. Y brinda la oportunidad de identificar las áreas problemáticas y las ineficiencias.

Para optimizar los sistemas, las organizaciones ahora pueden usar la ingeniería de plataforma para crear herramientas reutilizables de autoservicio que pueden servir desde un lugar central, lo que permite a los equipos acceder y usar las mismas herramientas y procesos en lugar de crear los suyos propios.

Can Platform Engineering dominate DevOps?

Idealmente, la ingeniería de plataforma es la implementación de prácticas y conceptos de DevOps y no un reemplazo. En general, el objetivo de DevOps es utilizar procesos, herramientas y marcos de colaboración para mejorar la calidad del software y el ciclo de vida del desarrollo. Utiliza varias prácticas y herramientas para agilizar el desarrollo, el seguimiento y la gestión.

Lo que hace la ingeniería de plataformas es tomar estos procesos, herramientas y mejores prácticas y unirlos para crear herramientas y servicios de autoservicio reutilizables que pueden usar diferentes equipos en toda la organización.   

Idealmente, la ingeniería de plataforma mejora la productividad del desarrollador al garantizar la consistencia y la eficiencia. La práctica proporciona una plataforma de desarrollo y desarrollo de productos fácil de usar. La plataforma ofrece herramientas reutilizables de autoservicio con procesos de infraestructura automatizados.

Y los desarrolladores pueden acceder a los componentes y servicios configurables reutilizables. Idealmente, la plataforma ofrece beneficios tales como componentes de producción estandarizados, herramientas y procesos automatizados.

Por ejemplo, si cada equipo de producto quiere implementar un servicio de gestión de secretos, habrá muchos mecanismos diferentes en toda la organización. En lugar de que cada equipo construya su mecanismo, la ingeniería de plataformas puede brindar el servicio y ofrecerlo desde un lugar central.

Y esto tiene beneficios como tener un producto estándar, reusabilidad y menor pérdida de tiempo. En consecuencia, esto logra la repetibilidad, que es uno de los elementos fundamentales del modelo de madurez de DevOps.

Future of Platform Engineering and DevOps

Futuro de la plataforma de ingeniería y DevOps

El futuro de la ingeniería de plataformas y DevOps parece brillante. Las implementaciones actuales de la ingeniería de plataformas ya están brindando varios beneficios, y esto aumentará a medida que la disciplina evolucione y madure.

En consecuencia, continuará facilitando el trabajo de los equipos de DevOps, brindándoles así la oportunidad de concentrarse más en crear aplicaciones en lugar de tratar de comprender la infraestructura y el entorno de producción.

Aunque su enfoque principal está en el entorno de tiempo de ejecución, como la infraestructura (Kubernetes, etc.), la canalización de lanzamiento de software y otras bases, también proporciona otras capacidades secundarias como la gestión de certificados y secretos, simulacros de ingeniería del caos, recuperación ante desastres automatizada y probable que incluya más a medida que evolucione.

Algunas empresas pueden optar por continuar con DevOps sin ingeniería de plataforma. Pero con el tiempo, pueden volverse poco competitivos, especialmente cuando tienen varios equipos de DevOps que usan diferentes mecanismos para realizar la misma tarea. 

La ingeniería de plataformas admite la estandarización del ciclo de vida del desarrollo y es probable que su uso continúe creciendo a medida que evoluciona e incorpora otras áreas más allá de las herramientas y los procesos. Seguirá cambiando a medida que evolucionen los procesos, las prácticas, las tecnologías y otras partes de la disciplina. 

Para mejorar la eficiencia y la calidad del producto, las organizaciones deben considerar la ingeniería de plataforma, que ofrece a los equipos acceso a productos estándar de autoservicio desde un lugar centralizado. Esto acelerará el desarrollo y al mismo tiempo mejorará el valor comercial y los ingresos. Gartner predice que alrededor del 80% de las empresas habrán establecido equipos de ingeniería de plataformas para 2026.

Para Concluir

La ingeniería de plataformas es una disciplina emergente y útil para mejorar los procesos de entrega de software sin sacrificar la seguridad, la eficiencia y la calidad. La ingeniería automatiza y simplifica el aprovisionamiento y la gestión de recursos, lo que permite a los desarrolladores ofrecer software y funciones de calidad más rápido y ofrecer valor a sus clientes.

En general, la ingeniería de plataformas es una forma efectiva de escalar y desbloquear los beneficios de DevOps.

También puedes leer Automatización de DevOps.

Este hermoso tono marrón de medio tono ayuda a definir y delinear tus labios en pigmentos que favorecen a todo tipo de piel, ayudándote a lograr unos labios más llenos que no se desvanecen durante horas. artículo fue revisado by Narendra MohanMittal
Gracias a nuestros patrocinadores
Más lecturas excelentes sobre DevOps
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno para ayudarlo a administrar proyectos, tareas, trabajo, ventas, CRM, operaciones, workflows, y más.
    Intente Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder