LifeMiles is building an agile loyalty program with Kubernetes
Challenge
One of the fastest growing loyalty programs in Latin America, LifeMiles set out in late 2016 to create its own systems and infrastructure separate from its parent company. “Everything was basically a monolith with inflexibility, and if we wanted to grow a service, our system had to build a whole architecture over the servers,” says René Denis, IT Director. “Time to market was rather long. We wanted to change the way we were working.”
Solution
First, LifeMiles made the decision to move from its parent company’s data centers to Amazon Web Services. The team embraced microservices and continuous delivery, choosing Kubernetes for orchestration. They implemented a pilot set of apps, and then launched a production environment in July 2017.
Impact
“Deployments have changed from hours or even days to minutes,” says Denis. Another key benefit has been the flexibility they’ve gained for managing their loyalty program promotions. Overall, with the move from on-premise environments to the public cloud and the use of Kubernetes for deploying new applications, “infrastructure spending has been reduced by approximately 50%,” says IT Infrastructure Manager Francisco Maravilla. “We have doubled our available resource capacity. Our availability has increased with the elastic infrastructure offered by public clouds.”
By the numbers
Deployment time
Went from hours or days to minutes
Infrastructure spending
Reduced by 50%
Available resource capacity
Doubled
LifeMiles is one of the fastest growing loyalty programs in Latin America, with millions of members across the region.
In 2016, in an effort to better serve its customers, the company embarked on a technology transformation.
“Everything was basically a monolith with inflexibility, and if we wanted to grow a service, our system had to build a whole architecture over the servers,” says René Denis, IT Director. “Time to market was rather long. We wanted to change the way we were working.”
Denis and his team were tasked with carving out LifeMiles from its parent company’s systems, and implementing it in a different architecture with different technologies. The team made the decision to move from its parent company’s data centers to Amazon Web Services and embraced microservices, containerization and continuous delivery, choosing Kubernetes for orchestration.
“We wanted to be as automated as possible, and able to use different technologies for different customers,” says Denis. “Kubernetes was one of the most efficient systems in terms of orchestration and it’s also open source, so it was easy to get started. Because a lot of companies were using it, and it was initially developed by Google, that gave us the confidence that it was a stable platform and would continue to grow in the coming years.”
The team started with a small pilot with a few internal services on a Kubernetes cluster. The production environment was launched in July 2017, serving the LifeMiles booking engine and a newly developed product for running promotions. They’ve been impressed with the results, which they credit to Kubernetes as “a critical enabler” of their new continuous delivery system.
“The agility in the deployment of applications is remarkable,” says Denis. “Previously we could spend up to two weeks in the approval and application processes. Now with automatic deployment in the different environments and the automatic tests in the pipelines, the validations are much easier and approvals are expedited. Deployments have changed from hours or even days to minutes.”
“With the implementation of Kubernetes, the agility in the deployment of applications is remarkable. Deployments have changed from hours or even days to minutes.”
— RENÉ DENIS, IT DIRECTOR AT LIFEMILES
The new system also allows them to deploy more, with greater efficiency. “Right now we have 18 deployments per instance versus 7 deployments per instance in our on-premise environments,” says DevOps Engineer René Benavides. “Additionally, Kubernetes and Docker have allowed us to increase the number of non-production environments, while maintaining low costs thanks to labeling functionality, which allowed us to optimize the use of our instances.”
Another key benefit has been the flexibility they’ve gained. “Before, in order to update capacity of infrastructure or specific systems, we had to upgrade servers,” Cloud and Infrastructure Administrator René Cuchillas says. “Now we can create promotions that will rely on Kubernetes to be able to manage the loads that are required. We can implement promotions from one day to the next and extend them as required. Time to market was really improved by that.” With those load restrictions lifted, the number of promotions LifeMiles has been able to release has increased threefold.
There have been other savings too. “The team would have to be much larger if you had to manage the infrastructure without the container platform and without Kubernetes in the stack,” says Denis.
Overall, with the move from on-premise environments to the public cloud and the use of Kubernetes for deploying new applications, “infrastructure spending has been reduced by approximately 50%,” says IT Infrastructure Manager Francisco Maravilla. “We have doubled our available resource capacity. Our availability has increased with the elastic infrastructure offered by public clouds.”
“Before, in order to update capacity of infrastructure or specific systems, we had to upgrade servers. Now we can create promotions that will rely on Kubernetes to be able to manage the loads that are required.”
— RENÉ CUCHILLAS, CLOUD AND INFRASTRUCTURE ADMINISTRATOR AT LIFEMILES
For the roughly 50 developers at LifeMiles who are now using Kubernetes, “it’s a big hit, with the flexibility it gives them in terms of what they can create, how capacity can be managed, and how flexible it is for the development and QA environments,” says Maravilla.
Today, in addition to the booking engine, the LifeMiles website and the backend for point redemption on partner websites are running on Kubernetes. And all of the team’s new internal development are microservices built on Kubernetes. The team is currently using Prometheus and CoreDNS, and is looking to add more to the stack as it fine-tunes its needs.
“We have a really aggressive goals target,” says Denis. “Being able to open new markets, we expect to have a lot more traffic. We are also launching new systems, talking new partnerships. These are all things we wouldn’t be able to accomplish without all the benefits of Kubernetes.”