Solving AEM DevOps Challenges, Part 4: Cumbersome Release Process
Over the last 10 years of working with Adobe Experience Manager and JCR related technologies, we’ve dealt with hundreds of AEM projects and many processes. We have seen a variety of challenges in dealing with the AEM infrastructure and development landscape, in particular, where those two meet. We asked ourselves, how do we increase efficiency and reliability for both our developers and our enterprise clients while making AEM development feel more enjoyable and competitive with modern frameworks? Our answer is AEM Cloud.
In the third article, we explored the challenge of Slow Development Cycles and how we used our AEM Cloud Docker Images, CLI, and On-Demand Environments to solve them. Part 1 discussed Inconsistent Environments and Part 2 covered Relevant Content for Testing and Validation. This article will focus on the challenge of Cumbersome Release Process.
Challenge 4: Cumbersome Release Process
With each client, we notice the need to automate the software release lifecycle, improve developer efficiency, find and address bugs quicker, and deliver updates faster. In other words — they often lack true continuous delivery with their AEM implementation. This is partly due to each client having their own hodgepodge technology stack which excelled at certain things but lacked in others. It also stems from the difficulty in organizing and deploying small development changes. This results in unhappy development teams, unhappy stakeholders, and unhappy budgets.
Solution: AEM Cloud Continuous Delivery
AEM Cloud creates a foundation for true continuous delivery by building ephemeral environments based on feature branches in Git. A developer creates a branch, make their commits, and a new environment is provisioned based on production configuration, including relevant content and the developer’s changes. From there, automated tests are run and the changes can be approved and ready for release.
This all happens once again through the power of Docker and Kubernetes — where we have built a reproducible AEM environment based on a configuration file that lives within the project’s repo. Allowing developers, authors, quality assurance engineers, and stakeholders to build and approve feature branches at will. This tool allows organizations to be agile and truly release as often as code is completed.
Want to learn more? AEM.Cloud