We approached this problem by consolidating its infrastructure and automating its deployment process. We suggested and adopted the following steps to achieve its objective:
Migration to Kubernetes: We migrated its application to a single self-managed Kubernetes cluster in one AWS region, resulting in easier automation, simplified infrastructure, and reduced ongoing maintenance.
Consolidation of Environments : To address their cost concerns, We have implemented two distinct infrastructure changes. First, consolidated their two Amazon Elastic File System (EFS) instances into a single region. Second, consolidated their two Amazon Relational Database Service (RDS) servers into one. Additionally, they moved all of their applications to a single self-managed Kubernetes cluster within the same region.
Implementation of CI/CD: The company had an existing CI pipeline in Jenkins that was causing a lot of problems, including being injected with crypto malware and requiring new user additions every time the dev team changed. To solve these issues, We have moved the pipeline to Drone CI, which provided container-based pipelines and Github-based login access. This move improved reliability and consistency, resulting in reduced downtime and maintenance costs. CI/CD alerting was also added to Slack, providing developers with immediate notifications of any pipeline issues. To further enhance the infrastructure, namespaces were utilized to separate the staging and production environments within a single Kubernetes cluster.