A HIGHLY AVAILABLE MICROSERVICE ARCHITECTURE
BlueGhost is a company aimed at improving online sales of products and services. Introducing itself as both a development provider and creative agency, BlueGhost faced numerous challenges in terms of upgrading its multifaceted services. Fortunately, Matoffo, a steady cloud development partner for multiple companies that corner the market, managed to come up with the appropriate solution that addresses all BlueGhost's operational and performance-based issues.
About the Customer
BlueGhost is a unique enterprise that helps businesses streamline their operations and save time & money while also gaining actionable event intelligence. Being composed of different specialists, ranging from programmers and IT magicians to marketers and content experts, BlueGhost handles multiple services under one roof. Its diversified feature verticals include talent bookings, guest lists & comps, event programs, tasks & collaboration, CRM & database. Hence, BlueGhost enables its clients to take control of their important events within a single source of truth.
In the modern business ecosystem, it is essential to constantly improve your services in order to engage potential clients and keep pace with the competitors. Growing means consistently examining your current infrastructure for weak areas and considering whether what you have in place is not only meeting the basic needs of your company today but also setting you up for triumph in the increasingly cloud-focused future. For this reason, BlueGhost experienced an urgent need to enhance the existing infrastructure.
At the same time, it was necessary to optimize costs and automate the deployment process. BlueGhost put an emphasis on flawless deployments of new features and bug fixes, which means it was critical to implement a zero-downtime deployment method. Concerning the possibility of rollback, BlueGhost required the option of initiating a rollback of the most-recent successful deployment to cope with all possible failure scenarios efficiently.
Why Amazon ECS
At first, BlueGhost requested to develop a Kubernetes-powered solution. However, the fruitful discussion with our consultancy experts helped us to reach a consensus and dot the "I's" and cross the "T's" regarding Kubernetes. In fact, this technology was not suitable for BlueGhost from the perspectives of required functionality and cost optimization.
As a result, Matoffo suggested creating an AWS environment based on microservice architecture. With AWS, BlueGhost can get a robust virtual environment that allows loading the software and services the company requires. After all, AWS is a scalable, reliable, and secure global computing infrastructure, the virtual backbone of Amazon.com's multi-billion dollar online business that offers many advantages in terms of cost, usability, and deployment.
Nowadays, there is a wide array of cloud development companies on the market. Nevertheless, only a few of them offer client-centric services aimed at solving real-life problems. Fortunately, Matoffo relates to the cohort of those that do. Thus, this fact has become a decisive feature that convinced BlueGhost to work with us. Fortunately, our deep expertise and unique problem-solving approach to challenges helped our team to live up to BlueGhosts' expectations by delivering a state-of-the-art AWS-powered solution.
There was created a new AWS environment based on microservice architecture. The docker image was developed according to the latest best practices like multi-stage building, minimizing the number of layers, decoupling applications, etc. Backed services were deployed using AWS Fargate. For the front-end, the web application was configured as a CDN service using AWS CloudFront. To automate deployment and release processes, we created GitLab CI pipelines.
All secrets for the deployment process are stored securely in GitLab CI while all infrastructure is deployed by Terraform. State files for Terraform are stored in AWS S3 so they can be easily accessible from local and CI environments. For solving requests to deploy with zero downtime and rollback, we have decided to use AWS CodeDeploy. This solution gives the possibility to use Blue/Green deployment and an easy way to rollback to the previous version.
To complete this solution, we used the following tech stack: Amazon S3, RDS, Terraform, Gitlab CI, Application Load Balancer, Amazon ECS, CloudFront, Docker, ElastiCache, AWS CodeDeploy. The development team included three DevOps engineers (provided by Matoffo) and one technical director (provided by the client). In general, it took us about a month to deliver a ready-to-use AWS solution.
High-level solution diagram
It is essential to note that meeting the customer requirements was our primary goal throughout the whole development process. Bearing this in mind, the Matoffo team managed to deliver value in the following aspects:
- Best Industry Practices:
Applying a multi-stage docker image is considered to be the best practice for reducing redundant build effort and maintaining the final images small while also keeping your secrets safe.
- CI/CD Plugin:
This unique technology handles all operations automatically, so developers do not have to be engaged in the process.
- Cost-Efficient Solution:
While cost optimization played a crucial role for our customer, Matoffo delivered a powerful solution that perfectly meets this fundamental criterion.
- Fast Deployment:
The Matoffo team always meets deadlines, so this project for BlueGhost was not an exception. Even despite the festive period, we delivered our cloud-based solution on time.
- Robust AWS Solution:
As a result, the client got a highly available microservice architecture using AWS ECS with CloudFront and a fully managed and automated deployment process using GitLab CI.
"We couldn't be happier with Matoffo. Serhii and the entire team are outstanding, solicit and have a well-defined process. They ensured we would have everything we needed for our new infrastructure, even though it was around Xmas and New Year - they were there for us. All in all, we are extremely satisfied and will continue with Matoffo long term."
OUR FOCUS IS
Our primary goal is value delivery for the client by resolving technical challenges and assisting them to achieve their objectives. AWS cloud solutions are great toolset which we use to make it happens, primary by outstanding agility, where companies could scale up cloud resources as needed and significantly decrease time from idea to market as well as seamless adopt rapidly growing tech capabilities to transform their businesses to be competitive in the market.