alfresco day amsterdam 2015 - developer platform updates

29
What’s new with the Alfresco Platform? Ole Hejlskov Developer Evangelist @OleHejlskov Welcome!

Upload: alfresco-software

Post on 15-Jan-2017

280 views

Category:

Technology


2 download

TRANSCRIPT

What’s new with the Alfresco Platform?

Ole HejlskovDeveloper Evangelist

@OleHejlskov

Welcome!

Vision for the Alfresco PlatformObjectives and guiding forces driving development of the Alfresco Platform

3

Build an open and scalable platform to power the rapid developmentand deployment of hybrid content centric applications in the Alfresco extended ecosystem

Platform Vision

4

Pillars of the Alfresco Platform visionUnderstanding the vision

OpenOpen source, based on Open Source components and Open Standards, multi‐language

ScalableArchitected to perform at cloud scale, along multiple scalability 

dimensions & different  use cases 

DevelopmentA product that Devs love, with 

comprehensive, stable & supported APIs and SDKs 

RapidOffering a high productivity development environment and a smooth learning curve

ApplicationsSmart process applications and 

any other integrated application

Extended ecosystemPowering both internal and 

external (community, partners, customers) development

DeploymentA product that Ops love, with a simple yet scalable cloud ready installation and configuration

HybridThe Platform & solutions built on it must be able to run on premise or on Cloud (or both)

5

Technology & market innovation driving Alfresco Platform strategyDriving Forces

Hybrid ECM Innovate at Cloud speed Think Big Customer drivenPlatform and solutions should be able to run on premise, on cloud 

or both

Deliver innovation to the on premise and cloud products with agility typical of pure SaaS players

Enable the scaling of people, processes and products

Customer feedback, research, validation, pretotyping at the core of ideation and decision making process

6

Key improvement areas in the customer lifecycleCustomer Driven

Backwards CompatibilityJava Modules

IndexExtreme scale

BackwardsCompatibility

Share Extensions

ModulesIsolation

In place upgrade SP & HF

RepositoryExtreme

Scale

BackwardsCompatibility

Remote Applications

Alfresco Platform projectsOngoing developments in the Alfresco Platform

8

Platform InvestmentsAn end to end Platform lifecycle makeover

DeploymentTesting Release Integration Maintenance

Standard Dev Env

Share Separation

API BCKs

Xtreme scalability

Share separation API compatibility

JAR modules

Modules isolation

Dev Docs / Samples

Solr Sharding

Suite installers

In‐place SP & HF

API Compatibility

Share separation

Development

9

Testing real life cloud-scale use casesExtreme Scalability

1. Loading Alfresco on AWS + Aurora up to 1B documents

2. Indexing 1B documents with a sharded Solr configuration (20 shards, with 50M docs)

3. Improve MDQ to support transactional use cases (OR and boolean support)

4. Test real life use cases, starting with Share collaboration and Headless Content Platform

5. Producing sizing and scalability blueprints based on real data collected at different data points

10

Some numbersExtreme Scalability

1. The best document load rate for the number of Alfresco servers, latency and load balancer thresholds was 1000 documents per second (with 10 nodes); the load rate was consistent even passing the 1B document

2. A 3.2 TB Aurora database did not show any degradation

3. On 1B docs:Query: select * from cmis:document where IN_FOLDER('0d10d28f‐4671‐4077‐b888‐b7f4eaf1b450') order by cmis:name asc

Paging: Limit 100 and various skips applied to the known 1000 results

Time: 150ms

11

What’s in it for me?Extreme Scalability

1. Alfresco 5.1 supporting Solr Sharding!

2. Improved Metadata queries (OR and Boolean Support)

3. Updated scalability blueprint for 5.x

4. Updated AWS reference architecture for 5.x

12

Enabling a seamless maintenance for AlfrescoUpgrade Task Force

1. In place application of SP & HF (not major and minor upgrades, for now)

2. Separation of Share and Platform releases for independent consumption (and definition of a clear compatibility matrix)

3. Consolidation of Public API Lifecycle to ensure high longevity customizations (no need for re‐test)

13

Effects to the product lifecycleShare / Platform separation

Platform and Share 

can be built 

and developed 

independently

Dev Release Install

Platform and Share 

can be released 

independently (or 

together)

Maintain

Suite and 

independent 

installers for 

Alfresco and Share

Consume new 

version of Platform 

& Share 

independently

And what about compatibility?

14

Modularizing the platformBreaking the monolith

Alfresco Platform

Core set of functionalities exposing 

extension points including Java and 

ReST APIs

Transformation servicesCan be scaled independently using the 

transformation server or in MM for 

video transformations

Share services (New!) Subset of platform functionalities now 

extracted in a separate module (AMP) 

following the Share release lifecycle

Search servicesCan be scaled independently as it relies on 

Solr4 standalone (with Replication and 

Sharding support)

15

Share separation takeaways

1. Share (only) releases will now contain a share‐services.amp which contains Share specific backing APIs

2. Platform (only) released will no longer contain Share specific Java services

3. Compatibility between Share & Alfresco is driven by the Java (not ReST) APIs compatibility policy (wait for it…in the next slides!)

4. Expect more frequent Share releases on prem (quarterly) and on cloud

What you need to know!

16

Alfresco for the Developers

1. Comprehensive set of content management & workflow Java and ReST API

2. Modular UI framework to custom business solutions 

3. De facto standard based and enterprise ready SDKs for web and mobile development

4. Compatibility between Share & Alfresco is driven by the Java (not ReST) APIs compatibility policy (wait for it…in the next slides!)

What’s great about Alfresco Dev Platform

17

Multiple ways Alfresco helps you achieve your custom solutionsThe Alfresco Developer conundrum

Compatibility

Dev Env

Compatibility

Aikau based

Dev Env

StrategicTactical

18

Consolidate & ExtendPlatform execution strategy

Consolidate

Alfresco 5.1

ExtendPost Alfresco 5.1

19

Developer platform consolidation1. Documentation of Extension (Platform Java & Share) & integration (ReST) points

Move old ReST API to Limited Support and double down on new Alfresco One APICleary identify and document supported Java and Share 

2. API lifecycle, support and Backward compatibility In process ‐Major version supportReST ‐ Independently versioned and inherently backward compatible

3. Customer success driven tactical investments on the Java platform & modulesJAR simple module support (for Alfresco and Share)Physical isolation of modules without need to modify Alfresco (immutable)Sharemodules support and reporting

Ongoing activities targeting Alfresco.next

20

docs.alfresco.com/5.0/concepts/dev‐extensions‐share‐extension‐points‐introduction.html

StatusLive on Alfresco Docs

For each extension pointClear documentationSample code (easily forkable)A Support statusMajor version compatibility

A glimpse on the improved Alfresco Dev ExperienceShare extension points documentation

How can you help

Send feedback to me,[email protected] or viaAlfresco DEVPLAT project

21

docs.alfresco.com/5.0/concepts/dev‐extensions‐share‐extension‐points‐introduction.html

StatusLive on Alfresco Docs

For each extension pointClear documentationSample code (easily forkable)A Support statusMajor version compatibility

A glimpse on the improved Alfresco Dev ExperiencePlatform extension points documentation

How can you help

Send feedback to me,[email protected] or viaAlfresco DEVPLAT project

22

So what about compatibility?1. Major version for Platform and Share extensions (modules)

Your custom module built on 5.1 Public API will work throughout the whole 5.xAlfresco modules can be compatible for a major version

2. ReST API version driven support for integrations (standalone apps)Not bound to the Alfresco versionClear rules for versioning of ReST APIsShould ideally never need to version, requires client side discoverability

For internal and external Alfresco extensions and integrations

23

Alfresco SDKWhat’s out already

Alfresco SDK 2.1.0 ‐ Compatible with 5.0,  with hot reloading (Platform  & Share)What’s on the way

Alfresco SDK 2.1.1 ‐Multiple bug‐fixes, backward compatibleTogether with Alfresco next

Fully supported, easily forkable and complete set of samples on alfresco‐sdk‐samples (in Github)Improved hot reloadingCustomer value driven prioritization of Public Github issues. Request enhancements at https://github.com/Alfresco/alfresco‐sdk/issues

Making Alfresco development even more productive, safe and fun

What & when?An outlook to our target Platform release plan

25

provided in the following slide is roadmap information and therefore subtle to change in subject, timeline

26

Platform release targets1. Target: 5.1 —> End of primo 2016

Both Platform and Share 5.1 releasesIncludes all major Developer Platform improvementsSolr sharding and TXN MDQ improvements

2. Post 5.1 —> 2016Share can follow a more frequent / independent release scheduleIndependent maintenance schedulesStrategic improvements in the ReST API (vs Java), functionally and non functionallyMore modularization, for agility and scalability purposes

27

Take-aways1. API Lifecycle

Fundamental to avoid dependency hellClear, documented, easy to use and supported extension pointsKey factor to drive seamless upgrades

2. Extreme ScalabilitySolr ShardingMDQ improvementsTools and collaterals for sizing, scalability and reference architectures

3. Share separation

4. Upgrade task force

What you really need to remember about today’s session

Conclusions and Q/A 

29

WHAT WHY WHERE WHEN WHO HOW

Any Question ???Feel free to send your feedback at [email protected] or on twitter @OleHejlskov