If you like to optimize your automated continuous integration pipeline, consider these three best practices.
1. Modular Product Design
a. The 12 factor app principles, enables incremental changes to be integrated
b. Micro Services Architecture
Microservices are composed of autonomous bounded services which communicate via APIs over a distributed network. Each service has its own storage and is independent of other services
Each service can be integrated into the CI pipeline when available
Adding integration tests to your CI pipeline for micro services can help
1. Connection failures between services
2. Interactions between services
3. Dependencies between services
4. API contract
5. Aggregate performance
c. Containers
Containers are the fastest means to launch short lived purpose built testing sandboxes as part of a continuous integration process. Consider adding test tools and test artifacts in separate test containers
In 30 minutes, someone can go from having nothing on their machine to a full development environment and ability to commit and deploy
2. Scale CI Infrastructure
a. Vertical and horizontal scaling of both the CI build and test resources creates an infrastructure
b. Predictive orchestration of CI infrastructures enable CI and test resources and processes to setup in advance
3. Accelerate CI processes
a. Pretest and pre-check integration deliverables
b. Pipeline build and test processes reduce setup delays
c. Fail fast prioritizes important tests early
d. Risk based specific test selection speed up CI testing
e. In-process analytics detect threshold exceptions
f. Remediate problems with automated roll-backs
g. Automatically revert changes that break CI processes
Scrum, Product Management, and DevOps: Simplifying the jargon
The internet and social media are full of Agile, Scrum, Product Management, and DevOps jargon, including incorrect and misunderstood concepts. This could be problematic for a learner seeking knowledge. Without a course with Scrum Alliance, Scrum.org, or DevOps Institute, this knowledge is difficult to achieve.
References
1. Containers, Microservices and orchestrating the whole symphony by Uri Cohen
2. Github – Spring PetClinic Microservices
3. Database Continuous Integration
4. How to scale Microservices CI/CD pipelines
I would love to hear from you about what you would like us to add to this article that will help you better understand the product owner role. Please share your comments below.