Infrastructure as Code using AWS + Oracle Service Bus
We assisted Smiles in automating the entire infrastructure management process for their Oracle Service Bus (OSB) using Chef with AWS OpsWorks and AWS CloudFormation.
Client
Smiles is one of the largest loyalty programs in Brazil, boasting 16 million participants as of March 2019. Established 25 years ago as Varig's loyalty program, it was later acquired by GOL and became an independent company in 2013 through a successful initial public offering (IPO), raising R$1.1 billion.
The loyalty program is renowned for its innovation and pioneering spirit, introducing products and services since 2013, such as Clube Smiles, Viaje Fácil, and Conta Família. The company also offers the longest mileage validity in the market, ranging from 3 to 10 years based on customer category.
Challenge
The project's scope involved migrating the Oracle Service Bus (OSB) product to version 12.2.1.3, addressing the following requirements:
- Infrastructure as Code.
- Immutable Configuration.
- Auto Scaling during peak throughput.
- Rundeck job for environment creation, allowing any infrastructure analyst to launch an environment.
The project posed a challenge due to the complexity of the product and the need for a 100% automated process, without human intervention once the Rundeck job was executed.
Solution
Infrastructure provisioning was developed using AWS CloudFormation. The installation and configuration of the OSB domain were performed using Chef, leveraging WLST scripts for support.
The OSB domain was configured using Dynamic Cluster to enable dynamic and human-free auto-scaling.
We utilized the following tools to meet the requirements:
- Chef
- Recipes
- Roles
- Data Bags
- Environments
- WLST
- Domain
- Data Sources
- JMS
- Adapters
- Realm
- Coherence
- Rundeck
- Bash Jobs (CloudFormation execution automation)
- AWS
- OpsWorks
- CloudFormation
- EC2
- Auto Scaling Group
- Application Load Balancer
- Route53
- IAM
Results
With the completion of this project, the entire OSB infrastructure is now managed via code, yielding benefits such as:
- Reduction in environment provisioning time;
- Ensured configuration consistency across environments;
- Auto-scaling for resilience in production;
- Elimination of human errors in the environment provisioning process;
- Reduction in human resources costs for environment provisioning.