The customer

JetSMART is a low-cost airline created by a private investment fund called Indigo Partners, with over 15 years of experience developing successful Ultra Low-Cost airlines worldwide. Currently, JetSMART is growing in the region with flights in Chile, Argentina and Peru and the main goal of connecting millions of people around South America.

The business challenge

Data is one of the key drivers of JetSMART for making decisions based on facts, relevant information and behavior of the business; the main goal of this project was the designing of a multi-dimensional model to support an analytical process delivered to business users with the current visualization tool widespread used by the company.

This project started from data already available in Redshift, building a process for transforming this data with clear focus on cost-effectiveness, scalability, flexibility (related to scheduling purposes) and the objective of generating a self-managed solution. Data is cleaned, enriched and transformed in an existing data warehouse solution (Redshift) with clear purpose of building a “single source of truth” were business users could trust and access through a business intelligence tool (PowerBI) to support the analytical process of the company.

The solution Arkhotech designed to our client in AWS cloud was founded in bringing a complete Serverless solution based on the following technical pillars:

  • Infrastructure: Provisioning infrastructure was provided by the IaC service AWS CloudFormation to create and have control of all resources.
  • Process Schedule: The process must be scheduled to run at some hour early morning without any manual intervention and with some predefined parameters. CloudWatch Events was settled with a CRON to run every day.
  • Process Orchestration: Send notifications, error tracking and visualization for any step in the process was achieved with the AWS service Step functions, where it’s possible to use the same process with different parameters through task defined using a simple JSON as input.
  • Notifications: The status in every step in the process needs to be notified to an external system. Step Functions alongside AWS SNS make it possible to send messages to multiple subscribers.
  • Errors Tracking: Alongside a notification, any errors must be collected so it would be easily readable for any person that can act and solve the issue. DynamoDB it’s a NoSQL database where it’s possible to store this kind of data.

The results

  • A controlled infrastructure created through AWS CloudFormation templates that can be easy transported between regions, accounts and the different environments of the company.
  • Versioning of templates with the S3 versioning feature so all the changes can be tracked.
  • An automation deployment strategy trough scripts which use the AWS CLI alongside the Serverless Application Model (SAM CLI)
  • A cost-effective solution hosted in the AWS Cloud.
  • An orchestrated process to support the transformation model using Step Functions which looks very similar to this layout: