About the Project

Rocket Effect is a sales and marketing automation tool for family entertainment centers that allows centers to manage e-commerce efforts and leverage the most effective marketing channels.

The Rocket Effect team provides client instances that process and organize information from a frontend website and third-party providers. The OpsWorks Co. team helped to automate instances creation and boost Rocket Effect deployment performance.

Goals of the Project

Automate the creation of the infrastructure using IaC for the customer's client systems

Configure CI/CD for their application using Jenkins

Configure a monitoring/alerting system

Challenge

The environments for each client were provisioned manually by Rocket Effect. OpsWorks Co. was hired to configure CI/CD for their application as well as automate infrastructure provisioning.

Solution

After a profound infrastructure technical audit, we have determined several areas of improvement: automation, autoscaling, performance monitoring, and logging.

Monitoring and Logging

Initially, the client’s side had basic monitoring that provided information about instances, but not the components and the state of their health.

The OpsWorks Co. team implemented a monitoring and real-time alerting solution that includes Prometheus and Grafana and set up a list of technical and business metrics that need to be monitored. We monitor the health of clusters, EC2 instances, DB, and load balancer.

Our logging solution includes ELK Stack: Elasticsearch for log messages gathering and Kibana for their filtering and visualization.

CI/CD Pipeline Creation

The CI/CD pipeline for the development processes automation was built by OpsWorks Co. from scratch. We ran a full infrastructure audit to define the processes flow. Having agreed all the container’s metrics we built several pipelines that allow the client to automate:

1) code deploy
2) environments preparation for the deploy
3) application or stack removal
4) rollback
5) images rebuilding
6) clients management

This helped to automate application deployment based on source code and gave the possibility of one-button deployment of the application to different environments with configuration required for a specific client.

Not only was the automation of the development process our aim, but the rollback pipeline also secured the fault-tolerance of the infrastructure.

OpsWorks Co. configured the Jenkins server to work through the API which allows the Rocket Effect team to run the pipelines from any other interface.

To automate new client resources creation we set up a CI/CD job that created all needed environments and their resources from scratch.

Infrastructure as Code

We created Terraform scripts and Ansible playbooks for deploying Jenkins servers, Prometheus servers with Grafana, and ELK Stack. This helped to automate the creation, copying, and deleting of the infrastructure. Isolated environments were created in security matters to avoid one component fail to affect all other components.

Cost-efficiency

Our cost-efficiency solution includes:

1) setting the cost accounting for the provision of services separately for each client and each client environment. This allowed the client to calculate expenses on infrastructure for each client using resource tags by the name of a client and environment.

2) tuning the AWS ECR repository image lifecycle

3) setting up AWS Cost Explorer AWS Cost and Usage Reports.

4) determining the total cost of a specific deployment (the cost of AWS resources for a specific Rocket Effect client)

Project Results
During our collaboration, we have accomplished hundreds of tasks and consequently made significant changes to the Rocket Effect infrastructure. The main improvements include:
Efficiency
Saved developers time on the new instance deployment
High availability
High availability due to the using ECS cluster with the client's application and using autoscaling based on the system performance metrics, Jenkins zero-downtime deployments
Fault-tolerance
Fault-tolerance as a result of safe and quick rollback automation
Cost-efficiency
Cost-efficiency owing to billing reports that helped the Rocket Effect team control and manage their expenses on AWS.
Technologies we use
Clients' Feedback
Greg Moreno
Co-founder at Rocket Effect

During our cooperation, the OpsWorks Co. team proved to be a responsive and predictable partner. They offer a reasonable solution and also help us to understand business requirements. We highly recommend OpsWorks Co. for your DevOps needs.

Oleksandr Slubsky
CTO&Co-founder at LMS Collaborator

Our team is impressed by the job quality and professional skills level of the engineers at OpsWorks Col. These guys are known to do their job pretty good!

Oleksandr Slubsky
CTO&Co-founder at LMS Collaborator

Our team is impressed by the job quality and professional skills level of the engineers at OpsWorks Col. These guys are known to do their job pretty good!