Software application delivered on a SaaS model for monitoring Solar power panels across the globe using real-time data is an interesting use case for DevOps implementation. The client must keep track of the data feed of multiple parameters from different geographic locations and provide analytics and remediation services. The process of onboarding a new system of solar power and its attendant components and configuring them as individual projects on a cloud-hosted platform is so dynamic that operational agility becomes very critical.
The choice of the hosting platform and optimizing the various components on that was the biggest decision as a SaaS provider to give (7X24X365) access. The robustness and scalability of the platform, options for compute, memory, storage, bandwidth, multiple zones, and open APIs were critical factors. Newt Global recommended that among all the options commercially available at that time, AWS presented the best environment to meet most of the requirements.
The solution was on a PaaS platform (IA6) hosted on Rack Space that needed to be upgraded and migrated to a more robust and auto-scalable public cloud environment. The project involved:
Launch of EC2 instances for Dev, QA, Stage and Prod environments in an automated fashion. Calculated CPU, RAM and IOP’s for the application and selected instance type based on the calculations. Created appropriate security groups, mounted EBS volumes, configured to store log files and project archives. Used OpsWorks to deploy and manage applications on Dev, QA, Stage and Prod environments. Created workflow to manage IAM access and ensured seamless communication between AWS and other tools like Git, New Relic, etc. The workflow automation extended to launching and managing MySQL and Postgres instances for staging and production environments.
Deployment highlights:
- Wrote cookbooks on Chef for infra and deployment automation.
- SSH Key Management – Automated key addition and deletion for user access control. Created a shell script automatically add or delete user keys form all the instances in different environments.
- A Web-hook is used between GitHub and key management script to automatically execute the script whenever there is a modification in the source code.
- Created Shell, Ruby and Python scripts for monitoring different services across different platforms and restart the stopped services. It also triggers email alert using AWS SES.
- Database cluster formation with Cassandra, node addition, node deletion, upgrade and maintenance.
- Created Docker file to Containerize IA6 application on stage and production instances.
- Configured monitoring tools like New Relic, Graphite and Cloud Watch for instance and application monitoring.
Business benefits:
- Deployments were made easier and the turn-around time was reduced by 4 times.
- The Development cycles were made faster as the feedback loop was faster due to automated deployment.
- The Synchronization between Development and Deployment was reduced by over 50%.
- Ease of monitoring of all the applications was done using open source and native AWS based monitoring tools.
Want to take your DevOps Story to the next level?
Newt Global Consulting LLC can help you be successful in your DevOps journey just the way, our 400+ customers achieved theirs.
Contact us at: marketing@newtglobal.com