Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

New Repository in AEM 6 by Michael Marth

0 views

Published on

Published in: Technology, Business

New Repository in AEM 6 by Michael Marth

  1. 1. New Repository in AEM 6 and other goodies for developers Michael Marth, Adobe
  2. 2. About @michaelmarth Senior Engineering Manager at Adobe Responsible for Granite platform
  3. 3. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Before we start 3 Certifications
  4. 4. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Scalability Oak 4 AEM 6.0 Content Repository
  5. 5. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. AEM 6.0 Content Repository Goals  Scalability  Big repositories  Distributed, many cluster nodes  Write throughput  Parallel writes  Write performance  Many child nodes  Many ACLs 5 Project “Oak”  aka Jackrabbit 3, all open source  Apache Software Foundation http://jackrabbit.apache.org/oak/  Implementation of the JCR spec, JSR-283 Your apps run unchanged
  6. 6. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Architecture 6 JCR oak-core Micro kernel Oak API Micro kernel API
  7. 7. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Microkernel choose according to your scalability and performance requirements 7 jjjJCR Content Repository Persistence AEM Performance Optimized and Made for Scale
  8. 8. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Node Store Where nodes get stored 8 Nodes Binaries • Tar MK Tar files, locally • MongoMK MongoDB • … (other are WIP) oak-core JCR
  9. 9. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Data Stores Where the binary data gets stored 9 • File System (local, NAS, SAN) shareable • S3 for AWS deployments • In Tar files easier backup and ops • In MongoDB easier backup and ops oak-core JCR Nodes Binaries
  10. 10. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. TarMK Memory-mapped files 10 92 GB unused CQ5.x Tar PM 100GB RAM in Server 8GB JVM AEM6 Tar MK: 100GB RAM in Server 8GB JVM 92 GB off-heap used for running the repo from RAM
  11. 11. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. MongoMK Cluster Deployment Topologies 11 MongoS AEM with Oak MongoD Primary MongoD Secondary MongoD Secondary MongoDB replication r/w r r MongoS AEM with Oak MongoS AEM with Oak ShareNothing ShareNothing
  12. 12. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Micro Kernels Which one shall I use? 12 AEM6 Author default: TarMK local, fast, easy to operate “I need reliability”: TarMK + Failover instance HTTP-transported copy of instance, failover switch e.g. Nagios “I need scalability”: MongoMK Cluster Scale CPU (many AEM instances) Scale read throughput (many Mongo replicas) Scale globally (distribute replicas globally) “I cannot change the repository”: Remain on CRX2 Cluster Supported, but deprecated
  13. 13. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Micro Kernels Which one shall I use? 13 AEM6 Publish Primary use case is Publishing: TarMK as a “Farm” (independent instances) fast, independent, easy to operate Primary use case is User Generated Content: MongoMK in a Publish Cluster all Publish instances running on same MongoDB
  14. 14. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Search Pluggable Index Providers 14 • Property Index Provider stored in repo, backup’ed sync/async re-indexable asynchronously ordered indexes • Lucene full-text extraction stored in data store • Solr in JVM (OSGi runtime) or remote (for production) native queries language exposed oak-core JCR MK
  15. 15. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Search Configurable Indexes 15 • Index Definition via nodes not everything indexed by default anymore allows smaller, specialized, faster indexes no need to index nodes you do not search for • In AEM: pre-configured indexes for AEM itself • Define custom indexes for your application’s needs without an index the repo will be traversed on a query oak-core JCR MK
  16. 16. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Numbers Performance & Scalability 16 TarMK running on my MacBook (i.e. totally unscientific) • add nodes, session.save() for each node: xxx nodes added / sec • add nodes, batch save(): xxx nodes added / sec • add property, catch save(): xxx properties added / sec • import files from Wikipedia, flat hierarchy: MongoMK running on our Jenkins server • 1 Oak instance on MongoMK: nodes added / sec… • 3 Oak instances on MongoMK: nodes added / sec… (factor yyy) • 5 Oak instances on MongoMK: nodes added / sec…(factor yyy)
  17. 17. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Performance & Scalability Some Hints 17 Observations in a Cluster • Many Oak instances, high write throughput needed • Be mindful of observation listeners • Only listen to local events • Restrict paths you listen on Many child nodes • Many child nodes, high write throughput • Be mindful of sorted node types • nt:unstructured is sorted • oak:unstructured is not
  18. 18. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Efficiency We ♡ Sys Admins 18 Operations Dashboard
  19. 19. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Project Efficiency Granite Operations Dashboard provides control over system health, diagnosis and maintenance automation, efficiently and extensible. 19 Main features: • System health overview at a glance • Reducing time to find, analyze and fix issues • One-Click System Status to help file AEM Support tickets • Maintenance automation to reduce project operations
  20. 20. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 20
  21. 21. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 21
  22. 22. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 22
  23. 23. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 23 DEMO
  24. 24. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Efficiency We ♡ Sys Admins 24 One-Click Setup
  25. 25. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Project Efficiency One-Click Setup instantly fires up AEM instances in the cloud right 25 Main features: • Ready-made AEM configurations • Spins up machines in AWS – you maintain full control of the machines
  26. 26. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 26
  27. 27. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 27
  28. 28. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 28
  29. 29. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 29
  30. 30. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 30 DEMO
  31. 31. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Efficiency We ♡ Developers 31 Developer Mode
  32. 32. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Project Efficiency Developer Mode 32 Main features: • Inspect component performance right in the page • Run automated tests • Inspect component errors right in the context of the page
  33. 33. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 33
  34. 34. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 34
  35. 35. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 35
  36. 36. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 36
  37. 37. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 37 DEMO
  38. 38. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Efficiency We ♡ Developers 38 Eclipse Tooling
  39. 39. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 39 DEMO
  40. 40. What else is coming up
  41. 41. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 41 Sightly Beautiful Markup
  42. 42. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 42 Mobile PhoneGap Enterprise
  43. 43. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 43 one more thing™
  44. 44. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Sneak Peak 44 Granite.JS aka AEM Micro Engine
  45. 45. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Granite.JS Granite Javascript Platform 45 Main features: • Lightweight, scripting server stack • REST based content-driven web framework for server-side JavaScript development • Runs Sightly • Based on Node.js
  46. 46. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Granite.JS Architecture 46 jjj Coral UI / Sightly Sling AEM Granite/AEM - Java Oak REST Microkernel (Java) OSGi jjj Coral UI / Sightly Sling.JS Granite.JS – Node.JS Repository REST Microkernel (C) NPM
  47. 47. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Granite.JS Use Case (I) – Web Developer in AEM Projects 47 UI Dev codes Sightly, CSS, etc Brackets Grunt Granite.JS Java Dev codes Java, OSGi services Eclipse Maven Granite/AEM gitpush Maven AEM Production Pkg
  48. 48. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 48 DEMO
  49. 49. Thank for your attention

×