Australia has a highly homogenous and competitive retail banking sector. Fight for market share over the past decade has centred on improving the customer experience (CX) – with a focus on innovation in online banking.
In 2014, National Australia Bank (NAB) committed to improving the CX of its various websites to retain customers and gain competitive advantage.
However, the bank was unable to introduce new online banking features rapidly and cost-effectively. This was mainly due to developers and engineers being occupied with managing and updating the on-premise Adobe Experience Manager (AEM) Content Management System (CMS) – which was being used across the bank’s web properties.
With the adoption of enterprise cloud solutions growing at the time, NAB looked into migrating its key technology platforms to cloud environments such as Amazon Web Services (AWS). This would result in lower IT operating costs and capital expenditure – and greater scalability and availability of platforms and applications.
Migrating AEM to AWS no easy task
Upon deciding to migrate AEM to the AWS cloud, NAB discovered it was no easy task. The powerful yet monolithic AEM wasn’t originally designed to leverage cloud capabilities such as horizontal scalability and ephemeral environments.
Due to the limitations of AEM, organisations like NAB were forced to build bespoke solutions from the ground up – which was costly. But more than that, this approach has prevented businesses from fully leveraging cloud best practices.
At NAB, AEM environments couldn’t be created in a repeatable manner or on an as-needed basis. Further, production environments were rarely touched due to stability concerns, which resulted in fewer releases than desired.
Also, major annual AEM updates were arduous and time consuming. They required changes to code (to support the application) and the underlying infrastructure.
Failing to realise AEM’s industry-leading value
With all these challenges, NAB’s engineers and developers had little availability to build and deploy new features for customers in a timely fashion. NAB was using an industry-leading CMS, yet they weren’t able to use it to its full potential to realise the desired ROI and competitive advantage.
When NAB’s technology leadership team identified an opportunity to overcome these challenges and pave the way for continuous delivery, they turned to Shine, with whom the bank had a years-long relationship in software engineering and development.
World-first innovation of AEM on AWS
To migrate AEM and provide NAB with full auto-recovery and scaling-on-demand, Shine introduced world-first AWS best-practices for design, tooling and end-to-end AEM environment management capabilities.
Shine developed a set of new capabilities including:
- Descriptor-based package deployments
- AEM security guideline checks
- A repository upgrade
- Blue-green releases and readiness checks.
With these capabilities and innovative use of tools like “Bees with Machine Guns” and “Chaos Monkey”, the solution reached 99.95% availability.
AEM automated environment management libraries open-sourced as AEM OpenCloud
Shine subsequently open-sourced these new capabilities in 2016 as a set of libraries – AEM OpenCloud – containing all the building blocks for running AEM in the cloud.
Unlike alternative SaaS offerings, these libraries provide organisations the level of customisation needed to use their standard operating environments – without compromising security or existing processes.
AEM OpenCloud enables organisations to deploy AEM in the cloud in half the time. Leveraging its capabilities has been further accelerated in 2020 when Shine developed an AWS Quick Start in collaboration with AWS.
Shine worked with NAB’s DevOps team to integrate the AEM OpenCloud framework into its operating environment. This involved:
- Creating a set of build pipelines running on top of Jenkins
- Environment configuration
- Implementing auto-baking of AMIs
- Supporting Dynamic Media
- Ensuring it worked on CentOS
During the project, NAB’s developers also contributed code to AEM OpenCloud.
All NAB web properties hosted with AEM OpenCloud
Since 2014 nab.com.au has been delivered by AEM on AWS. It was subsequently delivered by the AEM OpenCloud-based platform, which has been hosting all of NAB’s other web properties since 2017.
NAB now leverages blue/green releases to provide quick roll-back capability and perform necessary testing on a production environment before cutting over. This has been a tremendous improvement on the bank’s previous practice of direct deployments to production.
Now the production environment isn’t long-lived. It’s re-created with each new release. This ensures the operating systems are properly patched. Having a repeatable and stable environment creation process also increases confidence in the maintenance of the platform.
What’s more, development teams that were not previously involved in the environment management process are now leveraging this capability to create and shutdown non-production environments in a self-service model.
A ‘you built it, you run it’ model is now encouraging developers to understand how cloud infrastructure works. And despite some initial hurdles, they are now happily using Jenkins pipelines to manage their own environments and provide product support.