Our customer is the world's leading electronic measurement company, transforming today's measurement experience through innovations in wireless, modular, and software solutions. Customer wanted to have cost reduction in terms of time and effort for resource provisioning and infrastructure management by deploying Infrastructure as a Code (IAAC) through orchestration tool - CloudFormation.
About the Customer
Our customer is the world's leading electronic measurement company, transforming today's measurement experience through innovations in wireless, modular, and software solutions. With its roots based in Hewlett-Packard and Agilent, the customer delivers solutions in wireless communications, aerospace and defense and semiconductor markets with world-class platforms, software and consistent measurement science.
The customer needed a Collaboration Platform for its member and suppliers. The customer was using two different SaaS solution providers for separate business units or departments. They wanted a single solution that would cater to all their requirements and was not billed by the number of users accessing the platform. The customer had a usage pattern that had a broad range of volume. From next to no users to thousands of users during peak usage. They also needed flexibility of UI across multiple devices. They could foresee a need in future where different departments would need different UX designs for their respective brands.
Client wanted entire deployment of resources in the cloud platform as an Infrastructure as a code (IaaC) which is used as and when required on demand. AspireNXT had designed a headless solution that is completely serverless. This required a strong Cloud Front Network (CDN) Distribution that could manage security and provides edge location service with secured data transmission.
Being an existing user of the platform, the customer was confident in the capabilities of Amazon Web Services. AWS provided the services to deploy the application in line with the vision laid out by the customer. A serverless approach was chosen to deploy the application.
To facilitate the continuous build and deployment environment in AWS, the customer chose to work with AspireNXT, an IT services provider that is part of the AWS Partner Network (APN).
Using AWS CloudFormation, we provided them with Infrastructure as code which is the process of provisioning and managing cloud resources by writing a template file that is both human readable, and machine consumable.
Aspire NXT helped our client with the deployment of CloudFormation template which contains all the required services like WAF, Lambda function, S3, VPC, Subnets, Route table, VPN, Security group and CloudTrail; thus, providing them the required Infrastructure as a code.
- Application is Cloud native based, CloudFormation template and is deployed in Singapore region, below are the services launched using template.
o VPC, Subnets, Route table, VPN, Security groups
o Lambda function
o S3 bucket
o CloudWatch log groups and event rule
o API Gateway Endpoint
- WAF and VPC related service configurations are launched from the AWS Console and services like Lambda function which will run backend application services, S3 bucket, CloudWatch service log group and event rule creations are deployed using CICD tools like Code build and code deploy.
- Using AWS Code Pipeline, a continuous delivery of Infrastructure has been achieved.
- Using a CloudFormation stack a model serverless application is launched which provides and API gateway endpoint for the application backend operations and business logics and functions will be running in the AWS Lambda service.
- To avoid any changes in the existing services when a complete launch service fails, Enabled roll back update.
- To avoid accidental deletion of the CloudFormation template, A termination protection is in place.
- AWS CloudFormation is enabled in AWS Config service.
Results and Benefits
Building an Infrastructure as code using CloudFormation template brings many benefits. One of them is that by using infrastructure as a code we can write it once and then reuse it many times. This means that one well written template can be used as a base for multiple services, in multiple regions around the world, making it much easier to scale horizontally.
CloudFormation template can be used multiple times and each deployed version follow the same settings.
- Changes in any new template deployment or in the existing service configuration is recorded and monitored in AWS Config.
- Template versions maintained in the AWS Code Commit repository.
- Monitoring is used in the rollback triggers.
- Information’s like bucket name, lambda function name, API Endpoint service is generated in the output result in the stack.
- AWS CloudFormation template is split into logical modules which is then re used for the different environments (Development, Staging and Production).