Almost a year ago, one of our clients selected AEM as their new content management platform and engaged Odecee to implement the automation of their infrastructure and platform provisioning for the new system.
While AEM is a powerful tool that puts an incredible amount of capability and control at the fingertips of business users and marketing teams, its complex architecture means that installing, configuring, operating and maintaining an AEM environment in a high-availability scenario poses great challenges; often, its one of the most overlooked and costly overheads of a digital endeavour. A growing number of customers chose to defer the management of their platforms to third-party service providers, chief among these providers being Adobe with their Managed Services (AMS) offering. While this is not a bad option, especially for companies with either a small or young DevOps practice, it does come with some constraints:
- Environments exist outside of your cloud environment
- Lack of control over the deployment pipeline – often a traditional deployment model is employed
- Backup solutions often mean data is housed by the service managing the environment
- High-availability SLAs come with high penalties
Our client had a strong, highly-skilled and mature DevOps group; as such, they wanted to have control over all aspects of their environment, from provisioning and access control all the way to application bootstrapping and configuring.
Within five months, Odecee designed and implemented an AEM Infrastructure-as-code solution to fit the brief. Based on version 6.1 – the latest version at the time – it is highly-available, capable of auto-scaling under load, can auto-heal, backs-up at routine intervals or on-demand and connects to the existing delivery pipeline. All of this is in the full control of the customer. To date, the environment has not had any significant downtime or performance degradation recorded.
AEM Accelerator is born!
After the success of this implementation and the demonstrated value of our custom solution, Odecee recognised the need for a tool that combines the capabilities of a client-owned and client-hosted environment with the ease of use of a managed solution.
The result is the Odecee AEM Accelerator – a self-service, automated AEM environment provisioning and bootstrapping system.
The Accelerator is capable of generating a complete AEM environment (including author, publish and dispatcher instances) that is ready to use in minutes. Not only that – understanding the scarcity of highly-skilled AEM/DevOps people available in the market (like any other role in high-demand) – we built the AEM Accelerator for DevOps teams with limited-to-no AEM knowledge available.
How does the AEM Accelerator achieve all this?
There are really three components to the AEM Accelerator:
- Odecee-provided AEM Amazon Machine Images (AMIs)
These AMIs provide the foundation of the AEM infrastructure provisioning. There are three AMIs: Author AMI, Publish AMI and Dispatcher AMI; each corresponds to one of the three elements of an AEM environment stack. They are Linux-based and will always come with the latest OS patches available. Also, the Author and Publish AMIs are version-specific and come with the latest Adobe-provided hotfixes, service packs and feature packs available. The Dispatcher AMI will always ship the latest stable Dispatcher version available.
As of last week, the AEM Accelerator AMIs come in AEM version 6.1 and version 6.2. The entire system is SSL-enabled and adheres to Adobe’s security recommendations by default.
- Odecee AEM Management framework
This is the key component of our Accelerator. The Odecee AEM Management framework is a Python-written framework that controls the bootstrapping of the AEM environment. The framework is capable of the following:
- Discovering AEM instances within the AWS stack, allowing each of them to communicate to one another
- Configuring replication queues between Author and Publish instances
- Configuring dispatcher flush queues between Publish and Dispatcher instances
- Configuring Cloud Configuration services such as Adobe Analytics and Target
- Configuring OSGi services at startup time
- Connecting to an S3 Data Store in lieu of local Data and Content Stores
- Installing custom or 3rd party content packages and bundles.
In a nutshell, the Management framework is the connective tissue that enables all of the AEM stack elements to communicate with one another and perform their roles.
Odecee will continuously evolve the Management framework to incorporate new capabilities of the AEM platform as Adobe makes them publicly available.
- Custom configuration framework
While the previous two components allow for a fully-functional AEM environment to be provisioned, we recognise that every client’s requirements are specific and unique; that’s why we also ship a simple shell script-based framework that allows for additional configurations to be applied to the AEM environment once provisioned, thus tailoring it to each customer’s needs. These can include:
- Installation and configuration of client-specific hotfixes
- Configuring custom Cloud services
- Configuring backup processes and schedules
- Configuring the admin user information
The entire solution is implemented against industry-standard tools and programming languages – such as Puppet, AWS SDK, Troposphere, Python, Packer and Bash – which means it will be very easy for a team that has built around these capabilities to run and maintain the solution once deployed in a customer’s cloud environment.
On top of this, the AEM Accelerator comes with a Web-based user interface (UI) that makes the environment provisioning significantly easier and more streamlined. The UI will evolve continuously, allowing Odecee to incorporate customer feedback and provide ongoing updates and enhancements to the overall experience.
While the UI allows for easy use of the system, the solution can easily be plugged into a CI tool such as Jenkins or Bamboo, allowing teams to quickly and continuously deploy and test their code against an on-demand AEM stack. This means that if an automated build, test and deployment solution is available, the AEM infrastructure required to perform that process can be created and destroyed at will, further minimising operation costs for the client.
If you’d like to hear more about the AEM Accelerator capabilities and see the tool in action, don’t hesitate to get in touch with Odecee and we’ll be more than happy to show you how we can put the power and control of AEM at your hands.
This post was written by Zoran Nikolovski