Hyperforce’s Template for Enhancing Developer Workflow: Inside the 7 Pillars of Agile Development

Written by Armin Bahramshahry and Shan Appajodu.


Hyperforce is a pivotal infrastructure platform for Salesforce, enhancing global service delivery through top public cloud platforms for increased safety, scalability, and agility. Hyperforce enabled rollout of new innovations like Data Cloud and boosted the global scalability of Salesforce’s Core CRM.

To help align developer agility with infrastructure agility, Salesforce rolled out the “Easy Principle” after launching Hyperforce, taking inspiration from Heroku‘s developer experience. This initiative simplifies Hyperforce adoption across internal teams.

To bring the “Easy Principle” to life, Salesforce introduced FEDX — Falcon Easy Developer Experience, with Falcon being the internal project name for Hyperforce. This platform provides a paved path with predefined configurations, standardized patterns, and automated processes. FEDX helps teams efficiently utilize Hyperforce, ensuring Salesforce continues to lead in delivering high-performance cloud services, through seven key pillars:

1. Empower Developers with a Service-Centric Approach

Initially, Hyperforce focused on infrastructure agility, crucial for supporting foundational capabilities such as CI/CD, security, and monitoring/observability. However, this setup required service teams to interact with multiple teams, complicating their workflows.

To improve efficiency, FEDX implemented a service-centric approach, empowering teams to manage their code and configurations independently. This allowed teams to release changes safely and more autonomously. As the platform matured, it began to handle the complexities of foundational integrations more effectively, offering consistent API contracts that facilitated smoother operations for service teams. This strategy not only streamlined processes but also aligned with developers’ needs, enhancing their ability to deliver services effectively within the Hyperforce ecosystem.

FEDX Platform provides a service-centric abstraction for service owners to effectively build and manage their services on Hyperforce.

2. Simplify Cloud Infrastructure with Declarative Add-ons

FEDX platform eliminates the need for each team to develop their own Infrastructure as Code (IAC) (eg: S3/RDS provisioning) using Terraform. The platform provides a standardized and consistent interface for service owners, shifting the focus from the traditional method of specifying “how” to achieve something to simply declaring “what” is needed. This is accomplished through the use of Hyperforce Add-ons, which leverage declarations to capture the intent of the service owner and automatically generate the required IaC (e.g. Terraform, Helm charts, or other configurations).

In this streamlined approach, service owners only need to declare their requirements, such as needing an S3 bucket for a Kubernetes-based service, without having to delve into the complexities of Helm, Terraform, cloud provider configurations, or Spinnaker pipelines for provisioning and deployment. This simplification significantly reduces the learning curve and accelerates the deployment process.

3. Enhance Platform Scalability through Composability and Extensibility

FEDX platform’s focus on composability and extensibility is a key element in our scaling strategy. This approach allows us to provide paved paths for most of our developers while empowering larger products to effectively establish their own opinionated abstractions within our platform’s framework, thus enhancing productivity. We employ a specific Add-on specification that maximizes the use of Terraform’s capabilities, promoting both service standardization and reuse. This is achieved as capability providers expose their services and service owners encapsulate common patterns into Add-ons.

Additionally, Hyperpacks serve as another vital extension point. By leveraging Cloud Native Buildpacks, we significantly improve our support for service owners. This technology adeptly detects and fulfills the specific intentions of service owners, streamlining the deployment process and enhancing service delivery.

4. Customize Experiences: Abstraction with Revealing Complexity

FEDX supports a wide range of services, each requiring safe, secure, and efficient operation in the public cloud. Our platform is designed to simplify complex tasks and make tasks simpler, offering a standard solution for most while allowing for customizable abstraction layers for specific needs.

We emphasize transparency and customization from the start. Service owners have complete visibility into their IaC via an inspect command and receive updates through Pull Requests. For example, we provide a default Helm Chart for new stateless services, managed through the Helm Add-on, which owners can view and modify as needed using the edit command (see Revealing Complexity).

Service owners can also use their own IaC, which aids in a smoother transition to FEDX. This flexibility ensures that while we offer a structured framework for the majority, individual customization is also fully supported.

5. Optimize Development Cycle Times

To ensure agility, service owners must be able to quickly implement and iterate changes. FEDX supports optimal cycle times through several focused strategies:

Left-Shift: This involves left-shifted validation of the IaC for security and adherence to best practices, providing rapid feedback.

Inner loop: Service owners can rapidly iterate changes in this phase, using mesh capabilities in the development environment to test uncommitted changes. This setup supports isolated testing with access to necessary cloud resources and dependencies, which is especially beneficial in the complex microservices ecosystem.

Outer loop and Scale loop: These phases enable scalable and safe releases. Our service owners on Hyperforce manage extensive fleets globally and require a system that supports both trust and agility. We facilitate this by managing code, artifacts, tests, and quality gates centrally, with automation handling release staggering, test evidence, and other safety or compliance concerns, allowing service owners to focus on their primary development tasks.

FEDX Platform supports optimal cycle times thru Inner, Outer, and Scale loops.

6. Streamline Platform Integration

Integrating the FEDX platform into our existing infrastructure was challenging due to the numerous services already in production. We focused on facilitating easy migration from day one, using an “import” process that allowed for seamless integration of established IaC as overrides. This not only eased the initial migration but also supported ongoing improvements.

To further enhance the system, we expanded the import process to include release uplifts. This was vital for advancing Salesforce’s practices around safe changes, enabling updates to be implemented more efficiently and with minimized risk.

7. Enhance User Interaction

FEDX enhances user engagement on Hyperforce through several integrated touchpoints:

Command Line Interface (CLI): FEDX offers a unified CLI for seamless access to numerous Hyperforce capabilities. It provides a streamlined experience from the initial service setup to comprehensive management of ongoing processes, ensuring consistent and efficient workflows.

Portal: The web-based portal allows developers to manage services and monitor their status effectively. It features detailed environment inspections and real-time service tracking, along with insights into the operational status of service instances or releases.

Notifications: FEDX consolidates notifications from Slack, email, and PagerDuty into a single platform. This supports both initial setup and ongoing operations by delivering tailored alerts that enhance developer workflows and keep users informed about important updates and changes.

FEDX Platform provides a composable and extensible platform, enabling developer agility on Hyperforce.

The Road Ahead for FEDX

The FEDX platform has expedited the adoption of Hyperforce within Salesforce by merging standardization with customization, maintaining high standards of security, scalability, and compliance. It has enabled us to continuously uplift with minimal effort through Add-ons and Hyperpacks.

As Salesforce introduces new capabilities, FEDX ensures smooth integration without disruptions. Serving as an essential abstraction layer, it simplifies the shift towards supporting multi-cloud and specialized regions on Hyperforce, allowing service owners to focus on delivering value and streamlining migrations.

Learn More

Hungry for more Hyperforce stories? Explore how Hyperforce ushers in a new age of AI-driven scalability in this blog.

Stay connected — join our Talent Community!

Check out our Technology and Product teams to learn how you can get involved.

The post Hyperforce’s Template for Enhancing Developer Workflow: Inside the 7 Pillars of Agile Development appeared first on Salesforce Engineering Blog.

Read More

Published
Categorized as Technology