Joda Time a superior Time library for Java and Apache Felix RootCause, an interesting utility for debugging Declarative Services issues. Additionally, the bundle list also shows some of the new features in AEM as a Cloud Service such as an integration with Adobe IMS, an improved Brand Portal integration and Remote Assets.
Even More Differences: AEM SDK Quickstart to “true” AEM as a Cloud Service
One of the challenges I see with Adobe’s current model for development enablement is that the deployment model for AEM as a Cloud Service is completely different than the SDK Quickstart they provide. Some of the difference are:
The AEM SDK Quickstart runs natively on the computer, AEM as a Cloud Service runs in Docker containers
We don’t know what JVM release or parameters are used for running AEM as a Cloud Service
AEM as a Cloud Service is backed by MongoDB Atlas not TarFS
AEM as a Cloud Service uses Sling Content Distribution instead of traditional replication like the SDK Quickstart
None of these issues will be problems during the normal course of development, but if you run into performance or integration issues, not having an environment which matches the target architecture quickly becomes a challenge.
Adding to this, there are a 32 bundles found only in the “real” version of AEM as a Cloud Service.
aem-api-metrics-feature-model-addon - AEM API metrics agent add-on for feature model analysis
pattern-database-aem65 - AEM Pattern Database for Pattern Detector
pattern-database-skyline - AEM Pattern Database for Pattern Detector
pattern-detector - AEM Pattern Detector
pipeline-client-core - pipeline-client-core
pipeline-protocol - pipeline-protocol
Most of these bundles seem to be related to Adobe’s deployment model for AEM as a Cloud Service, either via the IMS integration, monitoring, data loading or the Sling Feature Model. Most of these dependencies are internal and not for our use, but it’s worth mentioning:
Granite Toggles - Feature flag functionality, meant for internal Adobe use
Prometheus Pull - internal metric gathering
Unified Profile Service - currently only supports authors, but AEP / SSO support is on the roadmap
Continuing to add differences, the RELAX NG Object Model / Parser, Joda Time and Gson libraries are actually different between the AEM SDK Quickstart and AEM as a Cloud Service. While they should both provide the same API surface, there’s no guarantee of this nor that the underlying bundling process was the same.
Conclusion
AEM 6.5 and AEM as a Cloud Service are pretty similar under the hood, however there are just enough differences to trip you up, especially when diagnosing thorny technical issues. I would advise care in dependency management, as AEM SDK Quickstart and AEM as a Cloud Service do have some differences.
My hope is that Adobe will release a version of their AEM SDK Quickstart as a Docker Swarm setup so developers can run a “lite” version of AEM as a Cloud Service on their local computer to really end to end test their applications.