Case: SaaS Cloud backend automation

The client had built an SaaS Cloud backend in AWS for managing the hardware devices they sold to their clients. As the needs and install base of devices grew it was no longer feasible to manage the Cloud backend manually. We stepped in to automate the management of AWS Cloud resources with Terraform and EC2 instance configuration Puppet. After the initial project we took over the DevOps part of their development process and enabled controlled management and scaling of their Cloud.

Main technologies

AWS
Terraform
Puppet

Benefits

Cloud stability
Automation
Outsourced responsibility

Numbers

74 managed nodes
24 machine roles
105 automation modules

1 Starting point

The client developed hardware devices which came with a customer-facing SaaS management frontend. The backend was located in AWS Cloud. As they they had previously had bad experiences of  poorly managed environments they decided to reach out to us for help automating their Cloud backend. The goal was to enable better scalability, quality and proper change management.

2 Project

When we arrived to the scene the Cloud backend was still in its early stages. As the first step we imported the existing, quite elaborate AWS configurations to Terraform to get them under configuration management. As the backend applications ran on EC2 instances we used Puppet to manage them. We also  packaged the Cloud applications and placed them into package repositories.

After the initial Cloud backend setup and identical staging environment was built alongside the original production deployment. This, coupled with CI/CD, enabled developing the Cloud as a whole without affecting production at all. In production, releases were done more carefully with Ansible playbooks.

3 End result

At the end of the project the SaaS Cloud backend was fully managed by Terraform, Puppet and Ansible and split into production and staging environments. The stability of the Cloud in general has been very high and maintenance overhead very low. Over time the Cloud has grown and expanded. One of these later improvements was the introduction of Prometheus for gathering and alerting on various Cloud metrics and trends.
"Puppeteers helped us resolve our Red Hat Enterprise Linux issue. I'm looking forward to upgrading and improving our clients' production environments and our development setups with their help."
Aarre Pohjola
A&A Consulting Oy, Finland
menucross-circle