AEM in the cloud is a confusing and vague statement. This post presents a simple explanation of available deployment models for AEM. If you're unsure about recently introduced "AEM as a Cloud Service" and "Cloud Manager", this post is for you.
To summarize the deployment options for AEM, I've created a simple comparison table which is attached at the bottom of the post - you can jump right there to get the overview. Of course, there might be other, less standard deployment options but the four presented here are the most common and would suit most of the applications.
Who is managing the infrastructure?
The first level of choice is related to who is managing the infrastructure underpinning the AEM deployment:
1. Infrastructure managed by Adobe
2. Infrastructure managed in house (or by another company, like Cognifide)
Adobe currently offers two types of setup. Since both are deployed in a cloud, they may be confusing at first glance. Here's a brief explanation of the key differences:
1. AEM as a Cloud Service - self-scaling infrastructure in which you don't have access to machines running AEM instances. It's a modern, fully containerized system. However as a user of it, you won't work with Docker images - you need to use Cloud Manager to build your code and deploy it. This is currently the preferred offering by Adobe, although it's still quite new. Also, this option runs a dedicated version of AEM which is currently slightly less function-rich than a regular one, but on the other hand offers features not available anywhere else (like promised automated updates).
2. AEM Managed Service - it's a model which has been offered for several years now. You basically get a set of dedicated virtual machines running in a chosen cloud (AWS or Azure) and which host AEM instances (and Dispatchers). All of the infrastructure is managed by Adobe Managed Services team. You can use Cloud Manager to deploy your code or rely on customer success engineers to do manual deployments.