Escrito por Armin Bahramshahry y Shan Appajodu.
Hyperforce es una plataforma de infraestructura fundamental para Salesforce, que mejora la prestación de servicios globales a través de las principales plataformas de nube pública para aumentar la seguridad, la escalabilidad y la agilidad. Hyperforce ha permitido el despliegue de nuevas innovaciones como Data Cloud y ha impulsado la escalabilidad global de Core CRM de Salesforce.
Para ayudar a alinear la agilidad de los desarrolladores con la agilidad de la infraestructura, Salesforce puso en marcha el «Principio de facilidad» tras el lanzamiento de Hyperforce, inspirándose en la experiencia de los desarrolladores de Heroku. Esta iniciativa simplifica la adopción de Hyperforce entre los equipos internos.
Para dar vida al «Principio Fácil», Salesforce introdujo FEDX – Falcon Easy Developer Experience, siendo Falcon el nombre del proyecto interno de Hyperforce. Esta plataforma proporciona un camino pavimentado con configuraciones predefinidas, patrones estandarizados y procesos automatizados. FEDX ayuda a los equipos a utilizar Hyperforce de forma eficaz, garantizando que Salesforce continúe siendo líder en la prestación de servicios en la nube de alto rendimiento, a través de siete pilares clave:
Fácil experiencia de desarrollo
1. Empoderar a los desarrolladores con un enfoque centrado en el servicio
Inicialmente, Hyperforce se centraba en la agilidad de la infraestructura, crucial para dar soporte a capacidades fundamentales como CI/CD, seguridad y supervisión/observabilidad. Sin embargo, esta configuración requería que los equipos de servicio interactuasen con varios equipos, lo que complicaba sus flujos de trabajo.
Seguridad
Para mejorar la eficiencia, FEDX implementó un enfoque centrado en el servicio, facultando a los equipos para gestionar su código y configuraciones de forma independiente. Esto permitió a los equipos liberar cambios de forma segura y más autónoma. A medida que la plataforma maduraba, comenzó a gestionar las complejidades de las integraciones fundacionales de forma más eficaz, ofreciendo contratos de API coherentes que facilitaban operaciones más fluidas para los equipos de servicio. Esta estrategia no sólo agilizó los procesos, sino que también se alineó con las necesidades de los desarrolladores, mejorando su capacidad para ofrecer servicios de forma eficaz dentro del ecosistema de Hyperforce.
Servicios
![](https://engineering.salesforce.com/wp-content/uploads/2024/07/image_7baac4.png?w=1024)
La plataforma FEDX proporciona una abstracción centrada en el servicio para que los propietarios de servicios construyan y gestionen eficazmente sus servicios en Hyperforce.
2. Simplifique la infraestructura de nube con complementos declarativos
La plataforma FEDX elimina la necesidad de que cada equipo desarrolle su propia Infraestructura como Código (IAC) (por ejemplo: aprovisionamiento de S3/RDS) utilizando Terraform. La plataforma proporciona una interfaz estandarizada y coherente para los propietarios de servicios, cambiando el enfoque del método tradicional de especificar «cómo» lograr algo a simplemente declarar «qué» se necesita. Esto se consigue mediante el uso de complementos de Hyperforce, que aprovechan las declaraciones para capturar la intención del propietario del servicio y generar automáticamente el IaC necesario (por ejemplo, Terraform, gráficos de Helm u otras configuraciones).
En este enfoque simplificado, los propietarios de servicios solo tienen que declarar sus requisitos, como necesitar un bucket S3 para un servicio basado en Kubernetes, sin tener que profundizar en las complejidades de Helm, Terraform, configuraciones de proveedores de nube o pipelines Spinnaker para el aprovisionamiento y la implementación. Esta simplificación reduce significativamente la curva de aprendizaje y acelera el proceso de despliegue.
3. Mejorar la escalabilidad de la plataforma a través de la componibilidad y extensibilidad
El enfoque de la plataforma FEDX en la composibilidad y extensibilidad es un elemento clave en nuestra estrategia de escalabilidad. Este enfoque nos permite proporcionar caminos pavimentados para la mayoría de nuestros desarrolladores, al tiempo que faculta a los productos más grandes para establecer eficazmente sus propias abstracciones de opinión dentro del marco de nuestra plataforma, mejorando así la productividad. Empleamos una especificación Add-on específica que maximiza el uso de las capacidades de Terraform, promoviendo tanto la estandarización como la reutilización de servicios. Esto se logra a medida que los proveedores de capacidades exponen sus servicios y los propietarios de servicios encapsulan patrones comunes en Add-ons.
Además, Hyperpacks sirven como otro punto de extensión vital. Al aprovechar Cloud Native Buildpacks, mejoramos significativamente nuestro apoyo a los propietarios de servicios. Esta tecnología detecta y satisface hábilmente las intenciones específicas de los propietarios de servicios, agilizando el proceso de despliegue y mejorando la prestación de servicios.
Servicios en la nube
4. Personalizar experiencias: Abstracción con complejidad reveladora
FEDX soporta una amplia gama de servicios, cada uno de los cuales requiere un funcionamiento seguro y eficiente en la nube pública. Nuestra plataforma está diseñada para simplificar las tareas complejas y hacerlas más sencillas, ofreciendo una solución estándar para la mayoría y permitiendo al mismo tiempo capas de abstracción personalizables para necesidades específicas.
FEDX ofrece una solución estándar para la mayoría, permitiendo al mismo tiempo capas de abstracción personalizables para necesidades específicas
Hacemos hincapié en la transparencia y la personalización desde el principio. Los propietarios de servicios tienen visibilidad completa de su IaC a través de un comando inspect
y reciben actualizaciones a través de Pull Requests. Por ejemplo, proporcionamos un gráfico de Helm predeterminado para los nuevos servicios sin estado, gestionado a través del complemento Helm, que los propietarios pueden ver y modificar según sea necesario mediante el comando edit
(véase Revealing Complexity).
Los propietarios de servicios también pueden utilizar su propio IaC, lo que ayuda a una transición más suave a FEDX. Esta flexibilidad garantiza que, si bien ofrecemos un marco estructurado para la mayoría, la personalización individual también es totalmente compatible.
5. Optimización de los tiempos de ciclo de desarrollo
Para garantizar la agilidad, los propietarios de servicios deben ser capaces de implementar e iterar cambios rápidamente. FEDX apoya los tiempos de ciclo óptimos a través de varias estrategias enfocadas:
Optimizar los tiempos de ciclo de desarrollo
- Desplazamiento a la izquierda: Se trata de la validación a la izquierda de la IaC para la seguridad y la adhesión a las mejores prácticas, proporcionando una rápida retroalimentación.
- Validación a la izquierda
- Bucle interno: Los propietarios del servicio pueden iterar rápidamente los cambios en esta fase, utilizando capacidades de malla en el entorno de desarrollo para probar cambios no comprometidos. Esta configuración admite pruebas aisladas con acceso a los recursos en la nube y las dependencias necesarias, lo que resulta especialmente beneficioso en el complejo ecosistema de microservicios.
- Bucle interno
- Bucle externo y Bucle de escala: Estas fases permiten lanzamientos escalables y seguros. Nuestros propietarios de servicios en Hyperforce gestionan extensas flotas a nivel global y requieren un sistema que soporte tanto la confianza como la agilidad. Facilitamos esto gestionando el código, los artefactos, las pruebas y las puertas de calidad de forma centralizada, con la automatización gestionando el escalonamiento de las liberaciones, las pruebas de comprobación y otras preocupaciones de seguridad o cumplimiento, permitiendo a los propietarios de servicios centrarse en sus tareas de desarrollo principales.
![](https://engineering.salesforce.com/wp-content/uploads/2024/07/image_a7b153.png?w=1024)
La plataforma FEDX admite tiempos de ciclo óptimos a través de bucles interiores, exteriores y de escala.
6. Integración de la plataforma Streamline
Integrar la plataforma FEDX en nuestra infraestructura existente fue todo un reto debido a los numerosos servicios que ya estaban en producción. Nos centramos en facilitar una migración sencilla desde el primer día, utilizando un proceso de «importación» que permitía integrar sin problemas las IaC establecidas como anulaciones. Esto no sólo facilitó la migración inicial, sino también las mejoras continuas
Para mejorar aún más el sistema, ampliamos el proceso de importación para incluir actualizaciones de versiones. Esto fue vital para el avance de las prácticas de Salesforce en torno a los cambios seguros, lo que permitió que las actualizaciones se implementaran de forma más eficaz y con un riesgo minimizado.
El sistema de gestión de actualizaciones de Salesforce se ha mejorado aún más
7. Mejorar la interacción con el usuario
FEDX mejora la interacción del usuario en Hyperforce a través de varios puntos de contacto integrados:
- Interfaz de línea de comandos (CLI): FEDX ofrece una CLI unificada para acceder sin problemas a numerosas funciones de Hyperforce. Proporciona una experiencia optimizada desde la configuración inicial del servicio hasta la gestión integral de los procesos en curso, garantizando flujos de trabajo coherentes y eficientes.
- Interfaz de línea de comandos (CLI)
- Portal: El portal basado en web permite a los desarrolladores gestionar los servicios y supervisar su estado de forma eficaz. Cuenta con inspecciones detalladas del entorno y seguimiento de los servicios en tiempo real, junto con información sobre el estado operativo de las instancias o versiones de los servicios.
- Portal:
- Notificaciones: FEDX consolida las notificaciones de Slack, correo electrónico y PagerDuty en una única plataforma. Esto apoya tanto la configuración inicial como las operaciones en curso mediante la entrega de alertas personalizadas que mejoran los flujos de trabajo de los desarrolladores y mantienen a los usuarios informados sobre las actualizaciones y cambios importantes.
![](https://engineering.salesforce.com/wp-content/uploads/2024/07/image_c5f8a9.png?w=1024)
La plataforma FEDX proporciona una plataforma componible y extensible que permite la agilidad de los desarrolladores en Hyperforce.
La plataforma FEDX proporciona una plataforma componible y extensible que permite la agilidad de los desarrolladores en Hyperforce
El camino que queda por recorrer para FEDX
La plataforma FEDX ha acelerado la adopción de Hyperforce dentro de Salesforce al fusionar la estandarización con la personalización, manteniendo altos estándares de seguridad, escalabilidad y cumplimiento. Nos ha permitido mejorar continuamente con el mínimo esfuerzo a través de Add-ons e Hyperpacks
A medida que Salesforce introduce nuevas funciones, FEDX garantiza una integración fluida sin interrupciones. Como capa de abstracción esencial, simplifica el cambio hacia la compatibilidad con múltiples nubes y regiones especializadas en Hyperforce, lo que permite a los propietarios de los servicios centrarse en ofrecer valor y agilizar las migraciones.
FEDX nos ha permitido mejorar continuamente con un esfuerzo mínimo a través de Add-ons e Hyperpack
Más información
- ¿Desea conocer más historias sobre Hyperforce? Descubra cómo Hyperforce marca el comienzo de una nueva era de escalabilidad impulsada por IA en este blog.
- Manténgase conectado: únase a nuestra Comunidad de talento
- Consulta nuestros equipos de Tecnología y Producto para saber cómo puedes participar.