The Challenge
Prosegur, a global leader in alarm and monitoring services, faced the challenge of having to modernize its technological platform to meet and accommodate an imminent exponential growth in user volume, thereby supporting the expansion driven by the business itself.
This then gave rise to the need to incorporate certain attributes that would ensure flexible and efficient scaling, two factors very well managed by the benefits of cloud computing.
An ambitious strategy was proposed: To migrate all operations to the cloud while adhering to the principles of not interrupting or jeopardizing operations, guaranteeing total transparency for current users.
Finally, the starting context was characterized by an equally challenging technical-cultural scenario: the platform was already showing signs of having reached its performance limit, and the expert team was still in an immature stage regarding knowledge of cloud-native philosophy, the trend towards cloud computing, emerging technologies in general, and even agile methodologies.
The scenario demanded a comprehensive strategy that addressed both technological migration, and the cultural transformation and progressive maturation of all involved teams.
Our Solution
We designed and built a new platform completely aligned with the cloud-native philosophy, incorporating various cutting-edge technologies that brought us early successes, exhibiting several quality attributes such as: high scalability, resilience, fault tolerance, technological flexibility, and better team organization, among others.
The new architecture was designed to benefit from AWS cloud services.
In initial phases, and through small proofs of concept, we managed to define a flexible technology stack composed of multiple programming languages, frameworks, and libraries (proprietary and third-party). Although we maintained Java as the main language (incorporating Vert.X), some strategic points of the construction benefited from their development in Golang and even Erlang. We relied on Kafka as a messaging broker and standardized different databases for differentiated scenarios, such as Oracle or DynamoDB.
The new microservices architecture, already orchestrated by Kubernetes, would guarantee scalability and, above all, efficient use of computational resources, a fundamental aspect for rounding off the platform’s success.
We re-engineered the main business circuits, identifying those that would allow us to maintain a complete user experience on the new platform. This made it possible to model an MVP, an approach that enabled us to implement a progressive and secure migration strategy for users.
To better support the implementation of the cloud-native paradigm, the team developed a diverse range of tools aimed at automating tasks that would optimize the entire software development and delivery lifecycle. To this, we added the permanent work to incorporate the key concepts of cloud-native philosophy into the culture of the different teams.
Results
Renovated Platform: We built a new platform that met expectations, solving availability issues and improving operations significantly.
Seamless Migration: We migrated over 1 million users without them even noticing the transition, ensuring a “no-negative-impact” experience.
Team Transformation: Work teams gradually adopted the cloud-native philosophy, integrating into the new product with agile and efficient methodologies.
Process Optimization: We achieved agility and economy in all product development and delivery processes, professionalizing the methodologies used.