Las 3 paradojas de la ingeniería de plataformas nativas en la nube

La computación nativa en la nube se está apoderando de la TI empresarial para todas las organizaciones que requieren una infraestructura dinámica y flexible a escala.

Kubernetes y otros ecosistemas nativos de la nube Kubernetes ayuda a las empresas Las aplicaciones se pueden crear e implementar más rápido. más confiable con menor costo Pero puede resultar complejo y difícil de dominar. La promesa de velocidad y escala puede parecer fuera de su alcance cuando los equipos de desarrollo se atascan en los detalles. Para crear dicho software Los desarrolladores necesitan toda la ayuda que puedan obtener.

Las prácticas y herramientas de DevOps son esenciales. Pero es sólo el comienzo. Para tener éxito con DevOps en entornos nativos de la nube, las organizaciones esperan crear plataformas de desarrollo internas (IDP) basadas en las mejores prácticas de ingeniería de plataformas incipientes.

El objetivo de la ingeniería de plataformas es mejorar la productividad de los desarrolladores. Y si el equipo de desarrollo es eficaz Deberían poder implementar software a la velocidad y escala que la empresa necesita.

Sin embargo, incluso con los IDP implementados, los objetivos de desarrollo de la nube establecen un alto estándar para las organizaciones que buscan beneficiarse. Cada paso parecía ser un paso atrás.

Centrarse demasiado en la productividad de los desarrolladores puede resultar contraproducente. Contraintuitivamente, la ingeniería de plataformas puede alejar a los desarrolladores. Y cuanto más complejas se vuelven las implementaciones nativas de la nube, Más difícil será gestionarlo.

Este artículo, el primero de una serie de tres, explora estos conflictos.

¿Cómo puede una organización lograr sus objetivos comerciales a partir de sus esfuerzos de software? Cuando tantos errores amenazan su éxito.

Productividad del desarrollador de Paradox

Todo el mundo está de acuerdo en que el rendimiento de los desarrolladores es bueno. Cuanto más productivo sea el desarrollador, mejor. Cuanto más software puedan ofrecer por cada dólar que su organización gaste en él.

Sin embargo, el problema con la productividad de los desarrolladores radica en cómo medirla.

McKinsey respondió a esta pregunta en un controvertido artículo reciente: “Sí, se puede medir la productividad de los desarrolladores.« Teoriza que tales medidas pueden mejorar los resultados del desarrollo de software.

En particular, McKinsey señala que cuando los desarrolladores centran sus actividades en crear, codificar y probar software, Son productivos Otras actividades «ligeras» incluyen planificar, pensar y asesorar. y diseño arquitectónico Reducirá la productividad de los desarrolladores.

Considerando este punto de vista Bueno, está claro por qué los desarrolladores lo rechazaron. Cualquier método para medir el desempeño. Quienes siguen el consejo de McKinsey pasan por alto el hecho de que los desarrolladores que centran sus esfuerzos en las partes «blandas» de su trabajo son en realidad más productivos y más valiosos para la organización en su conjunto. En comparación con los compañeros de trabajo que pasan todo su tiempo con Sus manos en el teclado

Las iniciativas de software complejas, como las nativas de la nube, exacerban aún más esta desconexión debido a la productividad de los desarrolladores. Con una mentalidad nativa de la nube Los desarrolladores más productivos son aquellos que se centran en lo que hace que el software sea dinámico y escalable. que satisface las necesidades del negocio Esto es independiente de cuánto tiempo pasaron escribiendo código.

A los desarrolladores no les gusta que los midan con métricas tontas como la cantidad de solicitudes de extracción. para aumentar la eficiencia de la producción Es mejor dejar que los desarrolladores decidan en qué actividades centrarse.

Ingeniería de plataforma Paradox

Con tantas herramientas DevOps en el mercado, reunir la mejor cadena de herramientas puede ralentizar a todos y generar resultados inconsistentes.

Solución: asegúrese de que el equipo de ingeniería de la plataforma cree un IDP que tenga el mejor conjunto de herramientas para el trabajo en cuestión. El objetivo de la plataforma es proporcionar un «camino dorado» a seguir por los desarrolladores. Es un conjunto de herramientas y procesos recomendados para realizar el trabajo.

Sin embargo, este camino dorado puede convertirse en una herramienta para apretarse el cinturón. ¿Cuándo este camino dorado se convirtió en una norma excesiva? Los desarrolladores se saldrán de ese camino para hacer el trabajo. Al derrotar su propósito.

Lo mismo ocurre con la medición del desempeño. Los desarrolladores quieren poder elegir cómo crean su software.

Debido a esto, los ingenieros de plataformas deben tener especial cuidado al crear IDP para el desarrollo nativo de la nube. Es fácil llegar a la conclusión de que las herramientas y prácticas son adecuadas para otros enfoques arquitectónicos. También es adecuado para sistemas nativos en la nube. Puede que sea un gran error.

Por ejemplo, las herramientas de observabilidad son un componente crítico de un IDP, pero la mayoría de las herramientas de observabilidad no se adaptan a las necesidades de los desarrolladores nativos de la nube. En cambio, herramientas de observación como Chronosphere que se ejecutan en Google Cloud brindan a los desarrolladores de la nube la información que necesitan para hacer su trabajo. Incluso en entornos complejos y dinámicos.

Paradoja nativa de la nube

Esta mentalidad nativa de la nube aporta un enfoque arquitectónico al trabajo de los desarrolladores.

Los desarrolladores nativos de la nube crean microservicios individuales. Pero también se debe monitorear el comportamiento de las cápsulas en el grupo y de los grupos en la flota del grupo. En otras palabras Deben centrarse en el bosque y al mismo tiempo centrarse en los árboles.

El rendimiento del desarrollador depende de este doble enfoque. También lo son los esfuerzos exitosos de ingeniería de plataformas.

Entonces, ¿cómo podemos resolver el conflicto entre el bosque y los árboles? La respuesta está en los datos. La única manera de mantener un enfoque adecuado en el panorama general mientras se desarrollan microservicios es comprender toda la información relevante sobre el rendimiento de la infraestructura nativa de la nube.

Sin embargo, demasiada información es peor que muy poca. Por eso la observabilidad nativa de la nube en todas las herramientas Esto, junto con la mentalidad nativa de la nube que Google Cloud aporta, es fundamental para lograr los objetivos comerciales de la computación nativa en la nube.

Intellyx toma

La resolución de estos conflictos depende de lograr el equilibrio adecuado.

Demasiado énfasis en la productividad de los desarrolladores es contraproducente. Pero muy poco deja margen de mejora inexplorado. Respuesta: escuche a sus desarrolladores para lograr el equilibrio adecuado.

Un IDP demasiado restrictivo hará que los desarrolladores encuentren soluciones alternativas que frustren su propósito. Crear un IDP que se adhiera a una mentalidad nativa de la nube ayuda a lograr el equilibrio adecuado.

Apoyar a los desarrolladores para que comprendan el amplio panorama de la computación nativa en la nube es fundamental para lograr los objetivos de sus esfuerzos de software. Pero si no hay datos de observabilidad apropiados No encontrarán un equilibrio entre este panorama general y el trabajo diario de Creación e implementación de microservicios.

Entonces, toda la idea de una mentalidad nativa de la nube consiste en todos estos actos de equilibrio. Escuche a sus desarrolladores Bríndeles la información correcta. y que encuentren el equilibrio.

grupo creado con boceto

Puede interesarte

Qian y Bansal estudian cómo se mueven los robots Interactuando con el mundo que te rodea – USC Viterbi

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *