Goal: Improve the current deployment pipeline for optimal functionality and cost-efficiency, and upgrade the monitoring of the environment on AWS. Deep-dive into the environment setup to detect where performance improvements are needed. Create a new development environment on AWS to replace the current local environment that the developers were using.
Challenges: Inherited CloudFormation and Ansible scripts for the Production and Staging environments that were not maintained in a while. Few changes were introduced manually to the environments that were not managed in the automation process.
Services Provided: DevOps, AWS infrastructure management and monitoring
Activity Duration: ~ 2 weeks
Results: Reliable and cost-effective dev & release environment
About the client
One2Ten is an innovative technology company based in the Netherlands, Singapore and Australia, which deliver customer and employee feedback solutions for professional organizations. The One2Ten platform adapts to the client’s organization, the stand-alone building blocks can deliver feedback solutions for every situation.
Functionalities of their cutting-edge platform can be customized according to user needs and requirements of a specific industry. One2Ten solution is available online, through an app, tablet, QR code, and onsite, and the feedback solutions are automatically embedded in multiple dimensional data layers, like locations, departments, teams, products and client segmentation.
One2Ten has been successfully cooperating with SuperAdmins on optimizing their environment on AWS infrastructure, which has also been monitored 24/7/365 by a dedicated SuperAdmins team of engineers.
One2Ten application is written in Node JS and set on an AWS infrastructure. With constant upgrades and new releases, the client needed a reliable and efficient environment for automated development and release management. They approached our team asking for the deployment of a new development environment and make improvements to existing ones making use of the current CloudFormation and Ansible scripts. A thorough analysis and testing demonstrated multiple non-functional script areas, overall resulting in a necessity for an unexpected optimization before the new environment design and deployment.
Step 1: Make improvements to the infrastructure monitoring
The current monitoring in place was lacking certain metrics that would help identify specific problems before they occur. Some basic system-level metrics like monitoring CPU and memory usage were partially implemented. On the other hand, parameters like disc space and valid app URL endpoint checks were not set at all.
In order to get a better knowledge of the whole infrastructure and gain insight into areas that need improvement, we’ve included detailed monitoring via CloudWatch. By doing so, and trying to implement this into the current Ansible and CloudFormation template we ran into multiple issues that needed to be fixed first. Since there were already changes that were not included in CloudFormation and Ansible, we decided to partially implement this manually.
Step 2: Fix broken Ansible scripts and CloudFormation templates
During the implementation of improved monitoring via CloudWatch we found out that the Ansible scripts were not maintained for some time and were producing dependency errors. The CloudFormation templates were up to date but we had to investigate what changes to the infrastructure were done manually and implement them into CloudFormation. Since Ansible was used to call CloudFormation we had to fix everything before continuing.
Step 3: Creating a new development environment
One of the original requests was to create a new development environment based on the existing Production and Staging environments in order to replace the way the current development process was done. Once we had fixed all the dependency issues in Ansible and were sure that the CloudFormation stack was up to date, there was little effort in creating a new development environment. The biggest challenge here was to make small changes to the Development environment to lower the AWS cost since it doesn’t need the full resources like the Production and Staging environments.
The improvements to the monitoring of the infrastructure, ansible scripts and new development environment have been efficiently implemented and have been proven robust and consistent in performance.
COO & Managing Partner
The cooperation with Superadmins was great from the start, professional, open and honest. They understood our needs and proactively advised us on feasibility, efficiency. And alignment with our objectives.
I am looking forward to continuing to partner and work with SuperAdmins.
SuperAdmins provides you with the experience, expertise, and knowledge transfer to take the fast lane towards your business goals.