The client Blue Ridge, blends the disciplines of supply chain demand planning and pricing under a fully configurable cloud-based platform. The Blue Ridge planning and pricing platform gives business leaders app simplicity that uniquely integrates data science-rich inventory forecasting capabilities with price optimization insights.
Blue Ridge empowers wholesale distributors, specialty retailers, and discrete manufacturers with the capability to adapt to the market, product, and competitive challenges by efficiently and effectively managing an ever-volatile supply chain.
The customer faced several challenges to scale their business and approached CloudThat as a DevOps expert to provide them with the end-to-end implementation of continuous integration and continuous delivery partner.
The client’s objective is to migrate applications from server-based deployment to container-based deployment, automate the provisioning of the infrastructure on AWS, configure container repository, Set up CI/CD pipeline for deployment automation and fast releases, and many more.
Proposed Solution
After a careful analysis of the client’s IT infrastructure and organizational structure, CloudThat’s DevOps team proposed the following solution:
- Design and set up an EKS cluster. Both Linux and Windows nodes need to be configured. Enable cluster autoscaling. Configure AWS Load Balancer Controller and Nginx Ingress controller.
- Containerize the Dotnet applications and push them to ECR. Work closely with the application developers to have a better understanding of the application and resolve application-related errors.
- Highly available, scalable, fault-tolerant microservices are deployed to EKS to the specific namespaces.
- Setup single deployment for login application exposed using an AWS application load balancer.
- Setup dedicated Kubernetes Deployment resource per tenant for all other applications. Applications are exposed using cluster-ip service type.
- A highly available Nginx ingress backed by AWS NLB was set up for traffic management. Host-based routing was configured along with the ingress resource. Rules for forwarding traffic to newer clients may be easily added.
- Enable HPA based on CPU and memory consumptions.
- Infrastructure and application monitoring is in place with AWS CloudWatch and Datadog. Integrate Datadog with EKS. Ensure container logs are accessible from Datadog Dashboard
- Integrate TeamCity with BitBucket by adding BitBucket in the TeamCity project configuration. Integrate TeamCity with ECR by adding ECR connection in TeamCity project configuration and by adding Docker support in the build configuration.
Integrate Octopus with ECR by adding AWS ECR as an Octopus External Feed. Integrate Octopus Deploy with EKS by adding EKS Cluster as a Kubernetes target. Create service accounts to configure the added Kubernetes target
AWS Services used as part of the Solution
- AWS CloudFormation
- AWS EKS
- AWS EC2
- Amazon CloudWatch
- AWS ECR
- AWS ELB
Third-party Tools used
- Nginx Ingress Controller
- Log Monitor
- Datadog
- TeamCity
- OctopusDeploy
Architectural Diagram
-
CICD Diagram
-
Flow Diagram
-
VPC design
Outcome and Results
- The startup time and performance of applications were considerably improved since they are running on pods in the cluster. (Earlier startup was 5 mins but came down to 5-6 seconds)
- Downtime (tenant onboarding time) was reduced since RollingUpdate strategy was followed in the Kubernetes Deployment resource. (From 3-4 mins to less than a min because the Docker image will be containing the new tenant)
- Operational overhead was reduced in terms of
- Automated infrastructure provisioning using eksctl and CloudFormation
- The combination of HPA and cluster autoscaler facilitated smooth scaling of resources based on defined criteria
- CI/CD implementation and related DevOps best practices facilitated new feature releases and rollbacks with zero downtime and deployments spanning within minutes
- Resource (over and under-utilization) wastage was minimized, and the overall cost was brought down by making use of microservice-based architecture combined with HPA and Cluster Autoscaler by 10%
- Providing custom features through specific version updates to each tenant was made possible using a dedicated deployment design for each tenant
- Developers were able to view the application logs from DataDog in real-time and make appropriate code changes to resolve the same
- The multi-environment set up for the application deployment is made into effect which satisfies the given organizational SLAs and internal process framework which helps business growth
About CloudThat
We here at CloudThat are the official AWS (Amazon Web Services) Advanced Consulting Partner and Training partner and Microsoft gold partner, helping people develop knowledge on cloud and help their businesses aim for higher goals using best in industry cloud computing practices and expertise. We are on a mission to build a robust cloud computing ecosystem by disseminating knowledge on technological intricacies within the cloud space. Our blogs, webinars, case studies, and white papers enable all the stakeholders in the cloud computing sphere.
Feel free to drop a comment or any queries that you have regarding AWS services, cloud adoption, consulting and we will get back to you quickly. To get started, go through our Expert Advisory page and Managed Services Package that is CloudThat’s offerings.
WRITTEN BY Prarthit Mehta
Prarthit Mehta is the Business Unit Head-Cloud Consulting at CloudThat. He is an AWS ambassador and has experience delivering solutions for customers from various industry domains. He also holds working experience in AWS and Big data platforms. He is an AWS Certified Architect - Professional and a certified Microsoft Azure Solutions Architect.
Click to Comment