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

Alfresco Day Vienna 2015 - Technical Track - Developer Platform Updates

Embed Size (px)

Citation preview

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 development

and 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 services

Can 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 services

Can 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

Extend

Post 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)Share modules 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

Information provided in the following slide is roadmap information and therefore subtle to change in subject, timelines, cont

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