AWS for Industries
Smiles gains advantages using serverless-first strategy with AWS
In this blog post, we delve into the journey of Smiles Fidelidade, a loyalty company affiliated with Gol Linhas Aéreas Inteligentes (GOL) Airlines. Smiles has partnerships with over fifty airlines and a customer base exceeding 21.8 million active users. To better serve these customers, the company adopted a serverless-first strategy to improve agility, responsiveness, and the overall customer experience.
The challenge Smiles wanted to solve
Smiles wanted to streamline their operations and build a more agile and responsive system to make the traveler experience journey more robust and user centric. Their application deployment and management revolved around clusters, Amazon Elastic Compute Cloud (Amazon EC2) instances and Docker containers.
While these technologies offered significant advantages, they had their share of challenges, including a heavy infrastructure management burden. Constantly changing scalability needs, especially to support agile and quick marketing campaigns that generated sudden bursts of traffic to their applications, were also a challenge.
Furthermore, these technologies demanded continuous attention from the Smiles infrastructure team. They required regular configuration management, patching, and securing—resulting in a considerable workload.
The journey to serverless on AWS
Smiles first adopted a serverless-first strategy for their rewards program app, which proved to be transformative. They used multiple AWS services, including:
Amazon ECS with AWS Fargate: Smiles primarily used Amazon Elastic Container Service (Amazon ECS) with AWS Fargate for pricing transactions such as domestic and international flights, seat purchases, baggage allowances, and other products. This type of architecture empowered fast and autonomous scalability to meet business needs such as promotions.
AWS initially did a proof-of-concept to validate that Fargate could meet their needs without worrying about infrastructure management. This helped them migrate several production workloads to Fargate, further supporting their integrations with partners and service platform flows.
AWS Lambda: Smiles needed to respond to customer requests on a large scale so they chose AWS Lambda, an event driven, serverless computing platform. All integrations from Smiles frontend applications to their middleware layer and backend services were architected using Lambda with an Amazon API Gateway. Smiles also used Lambda in integrations with partners and data lake processes.
Lambda offered the ability to run code without the provisioning and management of servers, allowing Smiles to serve an environment with hundreds of integrations without having to manage the computational capacity to fulfill requests.
Smiles’s flight search service was developed entirely in Lambda, handling more than 500 requests per second at peak times without needing any infrastructure management.
Amazon EventBridge: The company used Amazon EventBridge to link to its software as a service (SaaS) applications, such as ZenDesk. The events from their SaaS applications were used to start workflows for customer support, business operations, and other purposes.
This allowed Smiles to create a decoupled architecture for its applications with the ability to filter based on data within the event. Smiles was also able to create a central event bus and routing between microservices, giving them more flexibility to change business rules by modifying the events within EventBridge.
Amazon SQS and Amazon SNS: Amazon Simple Queue Service (Amazon SQS) and Amazon Simple Notification Service (Amazon SNS) provided integrations with partner processes to control queues and guarantee processing and notifications in case of failures.
Smiles builds a new checkout process
Based on the benefits noted using a serverless approach in the rewards program, Smiles decided to also design its checkout architecture with serverless services.
Smiles uses one of the digital channels (for example, Portal, Chat, or Marketplace) to interact with AWS services to run the Smiles processes. Some of the referred flows must communicate with external services such as Sabre, which is responsible for generating the airline tickets for GOL Airlines. The core critical business case for Smiles is explained in detail below:
Figure 1 – Smiles checkout architecture
Integrated airline ticket creation and miles redemption:
- The customer accesses one of the digital channel frontends: A portal provided by Akamai (the content delivery network (CDN)) in conjunction with Liferay as the content management system.
- The customer manages their carts through the create, read, update, and delete (CRUD) operations through the APIs running on API Gateway. To permit only authenticated users access, Auth0 provides tokens for API Gateway to be able to identify the customer.
- The customer completes the cart operations sequence and proceeds to the checkout to provide their payment information, where AWS Step Functions, Lambda, and Amazon DynamoDB orchestrate the workflows, invoke the functions, and interact with the data stores.
- The order processing must follow specific steps in a specific order. The entire order processing flow is enabled by an event-driven architecture using EventBridge.
- The airline ticketing system needs to communicate with external services, some of which are provided by partners and others managed by the Smiles team. The external service responsible for issuing the ticket on behalf of GOL Airlines is Sabre.
- The airline ticketing system charges the customer by communicating with external payment gateways.
- The airline ticketing system redeems the customer miles by communicating with Siebel CRM (a customer relationship management application).
Outcomes
Embracing a serverless-first operating model marked a change in Smiles’s application development and management, offering significant benefits.
One of the benefits Smiles observed was cost efficiency. The services used offer a pay-as-you-go model, so Smiles was billed only for resources when used. This model further reduced their expenses related to infrastructure maintenance. Given the usage Smiles sees, especially during peak events such as holidays and shopping seasons, the financial benefits were evident. Smiles has also seen a reduction in infrastructure costs. Today, 50 percent of Smiles’s Lambda functions run on ARM-based AWS Graviton2 processors delivering up to 19 percent better performance at a 20 percent lower cost.
Taking a serverless approach also helped Smiles become more agile. This architecture adjusts to demand; provisioning resources as needed. Its applications can manage increases in traffic without any manual interference. Today, Smiles can process more than 20 million searches per day.
Smiles was also able to achieve a faster time-to-market, delivering new features and applications at a 50 percent faster rate than before. With serverless platforms handling infrastructure management tasks, from server provisioning to patching and scaling, its development teams were able to focus on coding rather than system administration tasks. Serverless also reduced development and deployment cycles by allowing their developers to segment applications into modular, reusable functions.
Smiles’s decision to adopt a serverless framework was both a technological and strategic choice, ensuring the company remains adaptable in a fast-moving digital environment.
Conclusion
The decision to adopt a serverless architecture was an important enabler to build scalable, cost effective, and efficient applications while reducing operational overhead and improving developer productivity. Serverless is well-suited for modern, agile development practices and was a valuable choice for Smiles’s businesses in today’s fast-paced digital landscape.
Contact an AWS Representative to learn how we can help accelerate your business.
Further reading
- iFood modernizes its financial middleware to event-driven architecture
- AWS Lambda functions now scale 12 times faster when handling high-volume requests
- Itaú Unibanco acelera desenvolvimento do Pix na nuvem AWS
About Smiles Fidelidade
Smiles Fidelidade, with more than 20 million customers and over 25 years of operation in Brazil, is a loyalty program that has Gol Linhas Aéreas Inteligentes (GOL) Airlines as its main shareholder and partnerships with more than fifty other airlines. The company began its journey to the cloud in 2015 and, more recently, migrated its big data analytics platform to AWS, simplifying and streamlining the data analysis process.