In response to the challenges faced by our client, we designed a comprehensive set of solutions that addresses the core issues and enhances the efficiency of their software development and deployment processes.
To address the absence of versioning and rollback processes, we implemented an automated deployment approach using Docker. Additionally, we harnessed Docker Compose to define and manage multi-container applications. Also, we established a Docker image versioning strategy to maintain a history of application releases. These versions are stored in the Amazon Elastic Container Registry (ECR), allowing for seamless rollback if needed. To overcome the lack of a notification system and monitoring, we seamlessly integrated AWS CloudWatch into the system. Furthermore, a system of email notifications has been established to promptly alert the operations team in instances of potential issues.