Continuous Software Deployment Pipeline
Automated,Build,Test and Release Process
To create automated, continuous and reliable software release pipeline to deploy new applications on multiple AWS EC2 and on-premises production servers.
- Manual & very slow-paced traditional software release process
- Poor Time to Market
- Complicated and Manual testing processes
- Weak competitive advantage
- Poor adapt to change
- Poor customer experience
- High application downtime
- Error-prone manual operations
eCloudChain has proposed a solution to establish a Software Release Pipeline for Continuous Integration and Continuous Development (CI/CD) using AWS CodePipeline and AWS CodeDeploy services..
Seamless development, build, test and deployment process was successfully implemented to establish a cloud-based DevOps culture.
The development environment is completely re-engineered to set up a fully integrated code repository including Gitlab and AWS S3 with enabled versioning.
The development application is configured in AWS CodeDeploy to ensure the correct combination of revision and deployment configuration, The target production servers are configured using deployment groups including the AWS EC2 and On-Premises servers.
For automated build and test, AWS CodeBuild is used to integrate with pipeline workflow by using it’s source integration and build commands. This is to initiate a build every time the developers commit a change in the repository.
AWS CodePipeline is used to configure the automated release process to ensure consistent application releases on the deployment groups production servers. When developers commit any change in the GitLab and S3 source repository, CodePipeline automatically detects the changes to build these changes and test cases are run according to the configured test cases. After successful completion of these test cases, Codepipeline deploys the tested and approved code to the target production servers. AWS Lambda functions are used for integration with various notification channels.
To ensure the security, restricted IAM user roles and service roles were defined with appropriate AWS policies to grant access to AWS resources by different services i.e. AWS EC2, AWS CodeDeploy, AWS CodeBuild, and AWS Lambda. Security groups with restricted inbound and outbound permissions and VPC with private and public subnets are configured for AWS EC2 compute instances.
Automated and hassle free development and bug fixing mechanism has speed up the delivery process and improved the quality of applications while still providing the full control over various build,test and deployment stages.
Solution is built using different AWS services stack including AWS EC2, AWS S3,VPC,AWS Lambda and AWS pipeline services like CodeBuild,CodeDeploy and CodePipeline.