There comes in Continuous Delivery (CD). Continuous delivery is all about delivering the changes to the end-users super fast, maybe for every code merge.
Here find the moving pieces in building a continuous delivery pipeline
- Configuration Management – Right branching strategy is critical. Has to have a master branch that reflects the production code all the time.
- Automation testing – More automation, shorter the time to production. A little place for manual testing.
- Continuous integration – CI is part of the game. Build only once and manage the end-states in artifacts repository such as Nexus, Bamboo.
- Artifacts repository – Use the same end-state in all your environments including stage, UAT, and production.
- Deployment – Need deployment management tools such as GO, RunDeck to install the end-state in your environments with the ability to rollback.
- Environment management – Once deployment, you need to have the ability to test the deployment and toolset to monitor the environment.
- Release management – Push button releases
- Canary release (Blue-green deployment) – Changes to production in a short time has the risk of carrying defects. You cannot afford to have all your servers exposed to the revised code. Test the change with a small percentage of real traffic.
Now coming to AEM.
- The first question to ask is — Does your business need continuous delivery pipeline? If your web presence is not your main means of business, you may not need a CD pipeline at all. Constructing a CD pipeline is an expensive and upfront investment.
- Second question — AEM (CMS) provides content agility with no code change. Content is what changes often in systems. AEM also provides the ability to play around with UI elements (called components). Does it address your need for change?
If you still see the need for a CD pipeline for AEM deployments, you may have to consider the following AEM specific inputs in addition to the moving pieces of CD pipeline described in the top of the page.
- Prefer smaller packages. OSGi is modular and the impact of your revised bundle is minimal.
- Achieve test automation. You have to address the quality aspect of bot the authoring and end-user aspects.
- Cache invalidation. You may have to give special attention to caching layers at dispatcher, CDN, etc.
No comments:
Post a Comment
If you have any doubts or questions, please let us know.