NoCMS - from monolithic CMS to dissolved CMS

Post on 21-Jan-2017

595 views 4 download

Transcript of NoCMS - from monolithic CMS to dissolved CMS

com

NoCMS… from monolithic CMS to dissolved CMS

com

SPEAKER

PHILIPP BÄRFUSS

2005-2016 CTO @Magnolia developer, architect product manager organisation coach

@pbaerfuss! "# woowai.com/pb woowai.com/pb

com

DO YOU BUILD A NEW CMS?SPEAKER

I am not a masochist!

com

BUT I LIKE TO SHARE MY PROBLEM AND IDEAS

SPEAKER

… and hope some will implement it ;-)

the liberating company

.com

com

BETTER PRODUCTS - BETTER ORGANISATIONS

COMPANY

PRODUCT MANAGEMENTShip value not products.

Everything is a product and so product management

methodologies like value proposition design are key for the success of all kinds of initiatives.

◎PLATFORM AND

IMPLEMENTATION

In the world of software products and online services we want to be the backbone of highly valuable

solutions.

%ORGANISATION COACHING

Coaching of startups and SMEs for liberating and agile structures.

Agile and creative working and collaboration methodologies

com

CHALLENGE

IMPLEMENTATION AND PLATFORM

In the world of software products and online services we want to be the backbone of highly valuable

solutions.

' A/B Testing

Help Texts

Profile

Subscription Plans

UI

com

CHALENGE

WHAT IS A CMS?

Delivery

Storage

Authoring

DELIVERY

(

AUTHORING

)STORAGE

+

com

CONTENT DRIVEN VS FUNCTIONAL

CHALLENGE

Functional

Content

Digital Transformation

0

25

50

75

100

Brochure Site Digital Business

Functional

Content

com

MICROSERVICE ARCHITECTUREMICROSERVICES

Cloud solutions are installed once and need to scale

+

com

“In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.

MICROSERVICES

– Martin Fowlerhttp://martinfowler.com/articles/microservices.html

+

com

These services are built around business capabilities and independently deployable by fully automated deployment machinery.

MICROSERVICES

– Martin Fowlerhttp://martinfowler.com/articles/microservices.html

,

+

com

There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.”

MICROSERVICES

– Martin Fowlerhttp://martinfowler.com/articles/microservices.html

+

com

Microservice practitioners, usually have come from an evolutionary design background and see service decomposition as a further tool to enable application developers to control changes in their application without slowing down change. Change control doesn't necessarily mean change reduction - with the right attitudes and tools you can make frequent, fast, and well-controlled changes to software.”

MICROSERVICES

– Martin Fowlerhttp://martinfowler.com/articles/microservices.html

-

com

MICROSERVICES

http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/microservices.html

com

MICROSERVICES

Traditional SOA MicroservicesMessaging type Smart, but dependency-laden ESB Dumb, fast messaging (as with Apache

Kafka)Programming style Imperative model Reactive actor programming model that

echoes agent-based systemsLines of code per service Hundreds or thousands of lines of code 100 or fewer lines of codeState Stateful StatelessMessaging type Synchronous: wait to connect Asynchronous: publish and subscribeDatabases Large relational databases NoSQL or micro-SQL databases blended

with conventional databasesCode type Procedural FunctionalMeans of evolution Each big service evolves Each small service is immutable and can

be abandoned or ignoredMeans of systemic change Modify the monolith Create a new serviceMeans of scaling Optimize the monolith Add more powerful services and cluster

by activitySystem-level awareness Less aware and event driven More aware and event driven

http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/microservices.html

+

com

– Nic Ferrier

“a microservice should be re-writeable in about 2 weeks”

MICROSERVICES

com

MONOLITHIC CMSCHALLENGE

I don’t want to integrate my platform into a CMS

com

MONOLITHICNOCMS

STORAGE

AUTHORING

)

DELIVERY

(

com

HEADLESS CMSCHALLENGE

Disconnects authoring, leaves me on my own for the delivery task and generates a content silo.

com

HEADLESSNOCMS

STORAGE

AUTHORING

)

DELIVERY

(

com

NOCMSNOCMS

.. a catchy term for a new proposal

com

DISOLVED CMSNOCMS

a CMS for the digital transformation

com

NOCMS

CONTENT NODES

CONTEXT

♥AGGREGATOR

/ AUTHORING

)

PRODUCERS

%

0

0

ROUTER

(

%

com

NOCMS

CONTENT NODES

CONTEXT

♥AGGREGATOR

/ AUTHORING

)

PRODUCERS

%

0

0

ROUTER

(

SEARCH

1CACHE

2

SECURITY3

com

INTEGRATIONNOCMS

How to add other stuff.

com

MONOLITHICNOCMS

STORAGE

AUTHORING

)

DELIVERY

(

MOBILE API

4

TRANSLATION

4

SHOP

45

5

5

com

HEADLESSNOCMS

STORAGE

CLIENT

6

AUTHORING

)

MOBILE API

4

TRANSLATION

4

SHOP

45

5

5PRODUCERS

%

STORAGE

DELIVERY

(

com

DISSOLVEDNOCMS

CONTENT NODES

CONTEXT

♥ AGGREGATOR

/ AUTHORING

)

PRODUCERS

%

ROUTER

(

MOBILE API

4 TRANSLATION

4

SHOP

4

com

INTEGRATION

Dissolved + United

NOCMS

Monolithic + Integrations

vs

com

VALUE PROPOSITION

continuously deploy changes

no limits in scaling

all peaces replaceable

universal experience for authors

NOCMS

com

CUSTOMER

functional sites

digital business

skilled IT departments

NOCMS

com

BUILD ALL THAT FROM SCRATCH? AWS

AWS has a surprisingly well fitting palette of services

com

AWS

JUMP START

rich set of services

scales

well known

com

AWS

77 7

77

com

AWS

7

7

7

com

CMS AS AN APIAPI

what we need are contracts

com

CONTENTAPI

… lets try to catch that content bus

com

EVENTSCONTENT

?subscribe

notify

get(id, context)

push(content)

?Web Hooks

com

CONTENT FLOWSCONTENT

Local Store

Headquarter

Stage

Europe

Live

com

CONTENT FLOWCONTENT

2Content

Queue

Cache

TRANSLATION

4

com

DELIVERYAPI

lets play together!

com

DELIVERY

CONTENT NODES

CONTEXT

♥ROUTER

(

PRODUCERS

%

0

AGGREGATOR

/

com

CONTEXT

user/groups/roles

languages

device

DELIVERY

com

DELIVERY

PRODUCER%

PRODUCER%

PRODUCER%

produce (content, channel)

AGGREGATOR

/SHOP

4

com

LAMBDAAWS

The dust of life. Finally a content bus.

com

AWS LAMBDA

com

AWS LAMBDA

com

AWS LAMBDA

com

WHAT IS MISSING?AUTHORING

No solution for the authoring

com

STRUCTURED AND IN CONTEXTAUTHORING

… unified authoring experience wanted

com

AUTHORING

CONTENT NODE

AUTHORING

)

CONTENT NODE

CONTENT NODE

com

AUTHORING

CONTENT NODE

AUTHORING

)Data Model

push

com

AUTHORING

6AUTHORING

)author.js

FORM

8delegate

APPLICATION?

IN CONTEXT

9

com

AUTHORING

6

AUTHORING

)

PAGE

8PRODUCER%annotates

edit(id)

FORM

8 CONTENT NODE

Meta Model

com

NEXT?API

some of the API could be tested with a basic Node.js implementation

com

LET’S SUM IT UPCONCLUSION

… so what have we learned

com

CONCLUSION

Digital Transformation

com

INSIGHTS

Digital businesses demand for a new integrative CMS approach

Microservices architecture fits well

CONCLUSIONS

Frameworks like AWS are ready

Authoring is the challenge and the chance for the CMS industry

com

CONCLUSION

:@pbaerfuss

@woowai_com

!!

∠woowai.com/pb

! #nocms