Con la adopción de DevOps, las organizaciones han reconocido que, si cambian las decisiones y las tareas a una etapa más temprana del ciclo de desarrollo, pueden identificar y disminuir el riesgo en sus proyectos de desarrollo. Este proceso se suele denominar "desplazamiento a la izquierda". Como resultado, se les pide a los desarrolladores modernos que hagan más trabajo para enviar las funciones a sus clientes. Se espera que diseñen arquitecturas de software escalables, desarrollen código seguro y de alto rendimiento, configuren la infraestructura, realicen pruebas, implementen y supervisen sus aplicaciones, y mucho más. Si bien este enfoque genera muchos beneficios, también les brinda a los desarrolladores menos tiempo para enfocarse en escribir códigos, lo que puede generar efectos no deseados en la calidad del software o retrasos en el lanzamiento de nuevas funciones.
De la misma manera que los ingenieros DevOps se enfocan en optimizar la entrega de software a clientes externos, como ingeniero de plataforma, debes enfocarte en compilar una plataforma para ofrecer experiencias fluidas y coherentes a tus clientes internos (en otras palabras, los desarrolladores). ¿Cómo es la compilación de una plataforma interna? Tu tarea diaria debería incluir la creación de experiencias estandarizadas para tus desarrolladores que permitan la autonomía. De esta manera, disminuyes la sobrecarga cognitiva de los clientes internos cuando desarrollan e implementan servicios nuevos. Una plataforma interna para desarrolladores incorpora ciertas decisiones, estándares y procesos para crear rutas doradas para los desarrolladores. Esto permite que tus desarrolladores se enfoquen en la programación, lo que les permite crear mejores experiencias de software para sus clientes. Dicho de otro modo, además de desplazar a la izquierda, las organizaciones deben “disminuir” y enviar más responsabilidad hacia su plataforma:
Cuando desarrolles APIs para que tus desarrolladores aprovechen al máximo tus plataformas, debes hacer lo siguiente:
Una aplicación excelente es inteligente y coherente en la entrega de bienes y servicios. Oculta la complejidad y hace que su operación sea fluida y agradable de usar. El objetivo final siempre debe ser brindar una gran experiencia al usuario, y las organizaciones que crean productos exitosos siempre comienzan de afuera hacia adentro, teniendo en cuenta principalmente a sus usuarios. Para brindar una gran experiencia, se debe capacitar a los desarrolladores para crear aplicaciones inspiradoras, y para lograrlo es fundamental proporcionarles APIs excelentes. Las grandes APIs remueven las complejidades de la organización, lo que permite que los desarrolladores se enfoquen en crear la experiencia del usuario. Sin embargo, las grandes APIs no aparecen de la nada. Estas organizaciones también tratan a sus APIs como productos digitales, en los que equipos completos se dedican a su creación y administración como una función clave de sus plataformas.
La plataforma que el desarrollador utiliza para crear productos digitales también debe tratarse como un producto y, como tal, los equipos de ingeniería de la plataforma también deben adoptar un enfoque externo con sus usuarios, los desarrolladores ,para comprender sus requisitos y crear una experiencia agradable para ellos. Como ingenieros de plataforma, es su responsabilidad crear, compilar y unificar plantillas y herramientas internas que sus desarrolladores aprovecharán cuando compilen software, ya sea que desarrollen apps de frontend, servicios de backend o produzcan y consuman APIs. El rol de tu equipo es establecer cómo se debe probar, proteger, implementar y administrar el software que está creando tu organización. Eliminar los silos permite crear una mejor API.
Al igual que en otros aspectos del desarrollo de software, tu equipo debe disuadir a los desarrolladores de recrear individualmente elementos de arquitecturas de APIs que son inquietudes transversales. En su lugar, ofréceles un conjunto de herramientas simples y opciones de configuración que puedan aprovechar de inmediato. Los siguientes son algunos aspectos de la administración de APIs que tu plataforma mejor controla:
Apigee es una plataforma de administración de APIs que proporciona a los equipos de plataformas y a sus clientes internos un conjunto de capacidades para crear, controlar y operar APIs de forma más eficaz:
Apigee ayuda a los productores de APIs a compilar y administrar las APIs que exponen su lógica empresarial, ya que proporciona capas adicionales de seguridad, descubrimiento y observabilidad para los desarrolladores. Los equipos de productos pueden empaquetar y publicar sus APIs como conjuntos flexibles de “productos” con comportamientos de consumo variables. Apigee también ayuda a los consumidores de APIs a saber con facilidad qué productos de API están disponibles, explorar la documentación y comenzar a incorporarse rápidamente para comenzar a desarrollar aplicaciones con una fricción mínima. Ahora, con la ayuda de la IA generativa, Apigee también está reimaginando la forma en que se desarrollan las APIs, lo que facilita a los desarrolladores experimentados y nuevos la administración sin interrupciones de las comunicaciones entre sus sistemas.
El proceso de administración de APIs en Apigee comienza con la compilación de proxies de API. Un proxy de API expone la interfaz que usan los desarrolladores para acceder a los servicios de backend. En lugar de consumir esos servicios directamente, acceden a un proxy de API de Apigee que crea el productor. Con un proxy, puedes separar tu backend de la API real, lo que le brinda a tu cliente una experiencia más confiable. Esto te permite actualizar y realizar cambios en tu backend sin afectar a tu cliente. Los equipos de APIs pueden aprovechar las capacidades que proporciona el proxy para proteger y controlar el comportamiento de sus APIs. Para que un programa de APIs escale con éxito a medida que crece el número de equipos que producen y consumen, la plataforma debe habilitar caminos dorados a través de canalizaciones de automatización sin interrupciones y funciones reutilizables.
Supongamos que tu empresa desea crear APIs nuevas que puede monetizar para generar ingresos adicionales. Tu equipo se reúne con los desarrolladores para elaborar una estrategia integral de creación de estas nuevas APIs. El trabajo de tu equipo ahora es tomar esos requisitos y estandarizarlos en forma de plantillas de API bien definidas que contienen políticas comunes, controles de enrutamiento de tráfico y convenciones de manejo de errores. Según el caso de uso, es posible que haya conjuntos de plantillas para abarcar cada caso de uso. Un caso de uso común podría ser proporcionar políticas de transformación o almacenamiento en caché para backends heredados que se ejecutan en entornos locales. El repositorio de Apigee-samples es un excelente punto de partida, y nuestro repositorio de DevOps también contiene plantillas proxy de muestra a modo de referencia. Además de las plantillas de políticas, los equipos de tu plataforma también pueden estandarizar las canalizaciones que consumirán tus desarrolladores para compilar y, luego, implementar sus proxies. Apigee ofrece APIs y herramientas de administración que puedes aprovechar para crear canalizaciones de CI/CD que admitan estas rutas doradas. Publicamos implementaciones de referencia que puedes usar como punto de partida.
Una canalización de proxy de API de MVP desde el código fuente puede tener el siguiente aspecto:
En un paso más allá, la canalización puede registrar la API en un catálogo interno, como el concentrador de API de Apigee. El concentrador de APIs es una herramienta que ayuda a las organizaciones a documentar, encontrar y publicar información sobre sus APIs. El registro integrado en el concentrador contiene información detallada sobre cada versión de una API a medida que avanza en su ciclo de vida, incluidas las especificaciones asociadas, las implementaciones actuales, la información de propiedad y contacto, las dependencias y mucho más. Además de las propiedades integradas, los clientes pueden definir sus propias taxonomías que los usuarios pueden buscar y filtrar. Para ayudar aún más a impulsar la calidad y la coherencia, el concentrador de APIs también ofrece cuadros de evaluación que les brindan a los desarrolladores una mejor comprensión de cómo sus diseños de API se ajustan a los estándares esperados. El registro del concentrador de APIs se puede sincronizar con portales internos para desarrolladores, como Backstage o con otras herramientas internas de la plataforma para desarrolladores.
Por último, para los consumidores externos, la canalización puede publicar productos de API en un portal de API público junto con documentación y guías del usuario adicionales, todo con un estilo y un desarrollo de la marca personalizados.
Cuando se compilan APIs a gran escala, una práctica recomendada es reutilizar políticas comunes para aumentar la velocidad de desarrollo y reducir el tiempo de entrega. En Apigee, los flujos compartidos te permiten aplicar la estandarización y la coherencia en tus APIs. Con los flujos compartidos, puedes combinar políticas y recursos, y compartirlos entre varios proxies de API, mediante una política de FlowBatch o hooks de flujo. Los flujos compartidos a menudo se desarrollan por separado de los proxies de API; generalmente, el equipo de la plataforma o los expertos en la materia responsables de ciertas áreas. Por ejemplo, puedes desarrollar un flujo compartido que capture un conjunto estándar de campos de solicitud y respuesta y los escriba en Cloud Logging. Otro puede ser un flujo de manejo de errores que genera códigos y mensajes de error estandarizados, o un flujo de autenticación que se integra con un proveedor de identidad de terceros. El desarrollo de flujos compartidos se puede automatizar, probar e implementar con las mismas herramientas y conceptos que los proxies de API. Aquí se pueden encontrar otros ejemplos de flujos compartidos comunes.
GitOps se hizo popular durante el auge de DevOps. Este framework aprovecha las prácticas recomendadas, como el uso del control de versión mediante Git, las solicitudes de extracción, las canalizaciones de CI/CD, la automatización y las políticas de cumplimiento. Consulta este blog en el que se explican en detalle las prácticas recomendadas para la entrega de API. Estas prácticas pueden integrarse en rutas dorados para los desarrolladores. Por ejemplo, un desarrollador podría diseñar una API con Duet AI para crear una especificación de OpenAPI antes de enviarla a una rama de atributos, lo que activaría una solicitud de extracción. Después de que se aprueba y combina la solicitud de extracción, se inicia automáticamente la canalización de CI/CD y el proceso se repite para cada entorno. En Apigee, los equipos de la plataforma pueden crear organizaciones y entornos independientes para implementar y probar proxies a medida que avanzan en el ciclo de vida de desarrollo. Con una estrategia de GitOps, cada rama del repositorio de Git se puede asignar a un entorno de Apigee.
Los clientes que usan el modelo de pago por uso de Apigee pueden elegir entre distintos tipos de entorno con distintas capacidades, y los clientes pueden crear una variedad de tipos de entorno para distintos casos de uso.
Si alojas tu proxy y código de flujo compartido en repositorios de código fuente, y usas GitOps, puedes crear rutas doradas bien definidas para tus desarrolladores de APIs, lo que les permite enfocarse en diseñar APIs excelentes y en implementar la lógica empresarial subyacente. Para que sea aún más fácil, los desarrolladores también pueden desarrollar y realizar pruebas a nivel local con el complemento de Cloud Code para VS Code.
Una mayor colaboración entre el desarrollador y el equipo de la plataforma libera al desarrollador de la carga de hacer todo por su cuenta. Al reducir la complejidad, el desarrollador puede enfocarse en lo que mejor hace, lo que dará como resultado una mejor experiencia para el cliente. Si tratas las APIs y la plataforma como productos de tu organización, aumentarás la autonomía, la velocidad, la calidad y la innovación. Si usas las estrategias descritas anteriormente, puedes reducir la carga de tus desarrolladores y ayudarlos a compilar mejores APIs. ¿Todo listo para comenzar? Puedes registrarte y comenzar a compilar en tu propia zona de pruebas gratuita de forma gratuita. ¿Quieres obtener información más detallada sobre los precios? Consulta los nuevos precios de Apigee y usa nuestros recursos para comenzar a incorporar la administración de APIs en tu plataforma de desarrolladores.