Más contenido relacionado La actualidad más candente (20) Similar a Aem hub oak 0.2 full (20) Aem hub oak 0.2 full1. New Repository in AEM 6
and other goodies for developers
Michael Marth
Sr. Engineering Manager at Adobe
Responsible for Granite platform
Twitter @michaelmarth
2. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Before we start
2
Certifications
3. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Scalability Oak
3
AEM 6.0 Content Repository
4. © 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
4
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
5. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Architecture
5
JCR
oak-core
Micro kernel
Oak API
Micro kernel API
6. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Microkernel choose according to your scalability and
performance requirements
6
jjjJCR Content Repository
Persistence
AEM
Performance Optimized and Made for Scale
7. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Node Store Where nodes get stored
7
Nodes
• Tar MK
Tar files, locally
• MongoMK
MongoDB
• …
(other are WIP)
oak-core
JCR
8. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Data Stores Where the binary data gets stored
8
• In Tar files
easier backup and ops
• In MongoDB
easier backup and ops
• File System (local, NAS,
SAN)
shareable
• S3
for AWS deployments
oak-core
JCR
Binaries
9. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
TarMK Memory-mapped files
9
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
10. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
MongoMK Cluster Deployment Topologies
10
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
11. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Micro Kernels Which one shall I use?
11
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
12. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Micro Kernels Which one shall I use?
12
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
13. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Search Pluggable Index Providers
13
• Property Index Provider
stored in repo, backup’ed
sync/async
re-indexable asynchronously
• Lucene
full-text extraction
stored in data store
• Solr
in JVM (OSGi runtime) or remote (for
production)
native queries language exposed
oak-core
JCR
MicroKernel
14. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Search Configurable Indexes
14
• 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
MicroKernel
15. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Numbers Performance (lower is better)
15
x2 x12
x5
x8
x3
x5
x2 x90
16. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Numbers Scalability (higher is better)
16
x5 means linear scalability
x5
x5
x5
x5
x5
x5
17. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 18
18. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficiency We ♡ Sys Admins
19
Operations Dashboard
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.
20
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. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 24
DEMO
21. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 25
22. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficiency We ♡ Sys Admins
26
One-Click Setup
23. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Project Efficiency One-Click Setup instantly fires up
AEM instances in the cloud right
27
Main features:
• Ready-made AEM configurations
• Spins up machines in AWS – you maintain full control of the
machines
24. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 32
DEMO
25. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 33
26. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficiency We ♡ Developers
34
Eclipse Tooling
27. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Project Efficiency Eclipse Tooling
35
Main features:
• Integrated with Maven Tooling, CRX Packaging & Debugger
• Work with Content in Eclipse
• Developed in the open (ASF Sling)
28. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 36
DEMO
29. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 37
30. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficiency We ♡ Developers
38
Developer Mode
31. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Project Efficiency Developer Mode
39
Main features:
• Inspect component performance right in the page
• Run automated tests
• Inspect component errors right in the context of the page
32. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 44
DEMO
34. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 46
Sightly
Beautiful Markup
Senol
35. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 47
Mobile
PhoneGap Enterprise
Bruce
36. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 48
AEM6
Best Of
Cedric
37. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 49
one more
thing™
38. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Sneak Peak
50
Granite.JS
aka AEM Micro Engine
39. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Granite.JS Granite Javascript Platform
51
Main features:
• Lightweight, scripting server stack
• REST based content-driven web framework for server-side
JavaScript development
• Runs Sightly
• Based on Node.js
40. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Granite.JS Architecture
52
jjj
Coral UI / Sightly
Sling
AEM
Granite/AEM - Java
Oak
REST
Microkernel (Java)
OSGi
jjj
Sightly
Sling.JS
Granite.JS – Node.JS
Repository
REST
Microkernel (C)
NPM
41. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Granite.JS Use Case (I) – Web Developer in AEM
Projects
53
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
42. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 54
Totally
Preview
43. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 55
DEMO