AWS Case Study: Cabify

2021

Cabify has transferred all its technological infrastructure to AWS in order to improve the availability, reliability and responsiveness of its operations. The support service and the cultural alignment between the two companies are also key to the future deployment of the Spanish unicorn's technology.

kr_quotemark

Moving to AWS has been like changing an airplane engine mid-flight without incident.''

Carlos Herrera
CTO, Cabify

Cabify is migrating to AWS to improve its technological throughput

Cabify It is one of the three unicorns (companies with a value of more than one billion US dollars) in Spain. Created in 2011, it has close to a thousand employees in Spain and Latin America, and connects private users and companies with the forms of transport that best suit their needs.

Cabify is a company that has its entire technological infrastructure in the cloud, so all of its critical applications, digital processes and data transfer depend on its cloud computing provider. “Our business depends on the availability of the application. If it crashes, that is a sale that is lost and will never be recovered”, explains Carlos Herrera, CTO of Cabify.

In order to improve the reliability, throughput, and stability of its technology processes, the company decided to move its entire business infrastructure to AWS. Herrera notes that they had already done a lot of work internally to improve ratios and believed that "to reach the next step, it made sense for us to review our cloud provider."

700 microservices

Cabify's technological infrastructure is made up of more than 700 microservices, of which a dozen are crucial, with around related 84 databases. This is the most important aspect of the migration because, if these services do not work, Cabify will not be able to offer travel and, therefore, conduct its business.

In addition, the company has a large legacy database for which it was necessary to change some of the application code when migrating from the previous cloud service provider to AWS. The main reason is that said database is based on a technology that has nothing to do with the infrastructure that Cabify is deploying in AWS. The firm expects to complete the cutover of the microservices that depend on this legacy database to the new AWS architecture in October this year. From then on, the company also hopes to advance and develop its infrastructure, choosing to adopt Kubernetes as the main orchestrator for the execution of its microservices.

These microservices and their response speed are key to Cabify's business. Carlos Herrera - CTO at Cabify, points out that real-time services “have to respond in less than a second per specification. 99% of requests must be resolved in that time and we have reached 100,000 messages per second”, which gives an idea of the magnitude of real-time processing and availability that Cabify must have to be differential within its business.

An example of the improvement brought about by the change is that the RDS database previously responded to 99% of queries in less than two seconds and now it does so in 45 milliseconds. "We have removed two zeros from the problem," summarizes Herrera, "which has allowed us to turn off cache layers." In addition, this greater speed has made it possible to eliminate pieces of code and architecture that had been added to the database to protect Cabify from these "slow requests".

Switching cloud in mid-flight

Cabify deploys production about 150 times every day. It has more than 120 backend engineers in charge of developing and introducing code, who are joined by designers and product managers to form a technical team of more than 250 people.

The challenge of changing cloud provider was moving the entire business while remaining operational at all times. The ten-person infrastructure team had to abstract away the technical staff, especially the development teams, so they could continue their work without interruption during the course of the migration. "They were in charge of deploying the rails to move the containers," explains Herrera, who also alludes to a small development that two engineers had to carry out so as not to lose quality of service at a time when Cabify had both clouds in operation.

During the migration itself, all teams had to observe that no incidents occurred. "We didn’t have to take action at any time, but every day there was an engineer whose sole job was to check that everything was working."

The migration was completed without incident, and in a way that was fully transparent for the user. So much so that a passenger started their journey with Cabify's previous cloud provider and completed it with AWS.

Herrera comments that the project which was undertaken was like “changing the engine of an airplane mid-flight and not crashing. Nobody expects Cabify to tell them that tonight we are not operational due to a system update.”

Reliability and cultural alignment

Beyond reliability, Carlos Herrera believes that cultural alignment played a very important role in Cabify's decision to choose AWS as a technology and business partner. “As companies, we have a common characteristic: one foot firmly on the ground, and a very strong customer focus We both constantly ask our customers how we can improve,” he explains. “When you have similar cultures and you are a strategic partner, the conversation flows better because Cabify engineers know how AWS is going to respond and they can also anticipate it.”

It should be noted that Cabify has AWS Enterprise Support, which allows AWS personnel to be present in Cabify's Slack channels in order to respond in the event of incidents. "With other providers, you have to open a support ticket and wait for someone, who you probably don't know, to answer you," he explains, and classifies this level of support as a "differentiating aspect".

Cabify has also transferred its entire microservice-based architecture to Kubernetes in order to increase its versatility, operational control and range of functionalities. The product teams are capable of deploying test and simulation environments on demand, replicating the production environment in order to carry out the relevant tests within a safe, fully functional and cost-optimized environment using AWS EC2 Spot instances.


Start now

Companies of all sizes in every industry are transforming their businesses with AWS every day. Contact our experts and start your own journey in the cloud today.