Solutions for a Smooth Transition to the Cloud

In our “Engineering Energizers” Q&A series, we delve into the experiences and expertise of Salesforce Engineering leaders. Today, we’re meeting Mahamadou Sylla, a Senior Member of the Technical Staff at Salesforce Engineering. Mahamadou is a key member of our Hyperforce’s Bill of Materials (BOM) team, which assists internal teams in automatically migrating their cloud resources from data centers to the cloud.

Join us as we discover how he combines technical expertise, analytical thinking, and innovative problem-solving to overcome complex obstacles and ensure a seamless transition to Hyperforce for Salesforce teams.

What is your team’s role in Salesforce teams’ migration from data centers to the cloud?

Our BOM team plays a crucial role in Salesforce’s Hyperforce program, which focuses on migrating Salesforce’s infrastructure and applications to the public cloud. As part of this program, we develop microservices that enable internal Salesforce teams to seamlessly operate within various public cloud environments.

Our BOM team receives over 1,000 migration requests per week, which is a considerable task for our small but agile team. To give you an idea of the workload, for each internal customer, the platform typically processes around 10 large configuration objects, ranging from hundreds to thousands of lines of code. We have to organize and connect these pieces, which can amount to dealing with around 10,000 lines of code per week.

Mahamadou shares what keeps him at Salesforce Engineering.

How do you migrate teams to Hyperforce and provide support throughout the process?

Internal customers kick things off by creating their service with industry standard technologies, and the platform handles generating the necessary BOM metadata for them, based on what it detects about that service. This involves defining the metadata, which includes service definition, team definition, and functional domain, among other concepts. They will also describe the cloud resources — such as servers, storage, databases, networking tools — that they want migrated.

Next, BOM validates the metadata to ensure it doesn’t affect existing data. If there are any errors or issues, the internal team can reach out through a support ticket and our engineers will assist them in debugging and resolving the problem. This back-and-forth process can take a few hours to a few days.

Once the data passes validation, BOM creates a detailed bill of materials for the internal team, which translates their needs into actionable provisioning steps, making it easier for our partner team to efficiently provision cloud resources and migrate the internal team to Hyperforce.

This process significantly streamlines the deployment of infrastructure in new regions or cloud environments, shielding internal teams from the complexities of engaging directly with different cloud providers while ensuring a smooth transition from data centers to the cloud.

A look at the process of migrating customers onto the Hyperforce platform.

What are the challenges in understanding customer needs, including parsing through their metadata and ensuring data validation without disrupting existing data?

One of the primary challenges is the sheer volume of information provided by customers. Digesting and comprehending all the details can be overwhelming, especially when trying to uncover unexpected scenarios or edge cases that may not have been thoroughly considered during the development process. To address this challenge, it is crucial to anticipate diverse user scenarios and thoroughly test all code paths to ensure that all possible scenarios are accounted for. We achieve this by adding new unit tests and integration tests for all new features. This empowers us to anticipate atypical user edge scenarios during the requirements phase and ensure we use the appropriate code to handle them.

Another challenge in understanding customer needs lies in effective communication. When dealing with customers through support tickets or other means, it is essential to establish clear and efficient communication channels to fully understand their requirements. This helps in not only resolving their immediate issues but also in preventing similar issues in the future.

Parsing through customer metadata presents its own set of challenges. The biggest challenge here is validating the data provided by customers. Each customer has unique needs, and there are numerous edge cases to consider. Ensuring that the data meets their specific requirements while also avoiding any disruptions to existing data is also of utmost importance. This becomes particularly critical as the company supports thousands of customers, and any changes or updates must be carefully evaluated to prevent any adverse effects on the data of already onboarded customers.

Tell us about a customer who had unique needs or challenges that required troubleshooting and problem-solving.

Recently, the BOM team faced a customer with unique requirements that exceeded our usual parameters. Normally, customers could create four security groups initially and an additional four later, totaling eight groups. However, all previous customers had created them in batches of two, with a maximum of four each time. These security groups manage incoming and outgoing cloud traffic, such as virtual machines (VMs) or instances in a cloud environment.

That particular customer attempted to create all eight security groups simultaneously, which was a scenario we had not encountered before, despite technically supporting it. This caused issues during their migration to the cloud. To address this, BOM collaborated with two other teams and made necessary code changes to accommodate the customer’s requirement of creating eight security groups at once. Additionally, we developed a solution to support similar requests from future customers.

Mahamadou explains why engineers should join Salesforce.

What is the most complex challenge in your role and how do you overcome it?

In my current role, the most complex challenge I’ve faced is navigating the diverse needs of each customer during their migration to the cloud. With numerous possibilities and potential issues, understanding and addressing their distinct requirements can be daunting.

Being on call, rotating between team members every six weeks, has allowed me to gain a comprehensive understanding of our system. Regardless of the day or time, I am responsible for attending to any issues that arise and fixing the system accordingly. This constant exposure to potential problems has deepened my knowledge of the system and its potential pitfalls.

When I’m on-call, I encounter a wide range of customer issues, each unique in nature. Sometimes, customers ask questions that fall outside my team’s scope, requiring me to identify the appropriate team or individual to delegate the task to. This process has taught me the importance of collaboration and effective communication within the organization.