How-To Build Cloud Agnostic CI/CD Pipeline – #1 Prospect
It has never been easier to Integrate a Continuous Integration and Delivery pipeline. However, implementing the CI/CD Pipeline from the Cloud to target any Cloud is very challenging. We took the challenge anyway, and it resulted a cloud agnostic CI/CD blueprint.
The tool box for DevOps teams is pretty large. Every tool we can select has positives and negatives regarding features and costs. Xebialabs has created an overview which lists all common tools for DevOps Teams. The following picture highlights available open-source tools. You can select any tool you would like regarding Source-Code-Management (SCM), Deployment, Build, Monitoring and Cloud Provisioning. The key is to find the right tool with the specific features you need.
- The Source-Code-Management (SCM) is done by Github.
- We are using Git for our local Source Code Management (SCM).
- We also use Maven to standardise the deployment, resolve dependency automatically and automatically integrate tests.
- Juni white/grey and black box tests are embedded in our application and are executed via surefire and junit.
- We are using Jenkins to create our artifact and using the plugins for aws S3 cloud storage.
- We are using AWS CodePipeline to gain control and visibility about our CICD process.
- We use Cisco Metacloud (Openstack) to get a reliable private cloud platform for deployments and backend management installation of the used products.
- We use AVI for service load balancing and monitoring, but we need the insides of our application behaviour in realtime. We are using here AppDynamics to achieve application performance monitoring. We didn’t integrated it yet in the demo.
The result of this workshop is a dynamic blueprint of a CI/CD tool chain. It expands upon the standard process parts: Code, Integrate, Deploy, Monitor and additionally, we used AWS CodePipeline for the process management layer. You can now learn how-to build the pipeline from the products we selected.