Continuous Delivery in a content centric world

39
Hippo Content Performance Continuous Delivery in a content centric world Jeroen Reijn, Hippo, #HipCon15

Transcript of Continuous Delivery in a content centric world

Page 1: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Continuous Delivery in a content centric world

Jeroen Reijn, Hippo, #HipCon15

Page 2: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”

- First Principle, Agile Manifesto

http://www.agilemanifesto.org/principles.html

Page 3: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Enterprise Agility

Content Performance

Deploy

Feedback

Developer Agility: Webfiles & LiveReload

Switch Templates

FeatureLibrary

Persona Trends

FeatureLibrary

Switch Templates

Developer Agility: Webfiles & LiveReload

Page 4: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Continuous Integration

vs

Continuous Delivery

vs

Continuous Deployment

Page 5: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Continuous Integration

Page 6: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Page 7: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Hippo and CI

Basic build & package

Compile

Unit Tests

Integration tests

Package

Create distribution

Page 8: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Speaking of Continuous Integration Servers...

Page 9: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Page 10: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Hippo CI in Jenkins

Page 11: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Building an Open Source CI / CD stack

Page 12: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Speaking of Continuous Delivery...

Page 13: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Page 14: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Basic build & package

Deploy to Test environment

Run functional & regression tests

Deploy to Performance test environment

Run Performance tests

Deploy to Acceptance environment

Acceptance tests Deploy to production environment

Page 15: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Page 16: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Continuous Delivery

Continuous Deployment

Deploy to Test

Deploy to Acceptance

Deploy to Production

Deploy to Test

Deploy to Acceptance

Deploy to Production

Manual

AutomatedAutomated

Automated

Build

Build

Automated

Automated

Page 17: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

How to go from Dev to Production?

Page 18: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

What kind of changes to push?

• Code• Templates (Freemarker / JSP)• Components (Java)• Updater scripts

• Content (?)• Configuration• HST• CMS• Security

Page 19: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Repository bootstrapping

Page 20: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Repository bootstrapping

Push configuration & content changes

Sequence basedCan be version based

Page 21: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Repository bootstrapping

Page 22: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Automated batch updates

Updater Scripts:• Useful for bulk content updates• Can be used for more complex operations• Registry of scripts• Scripts can be pushed in the execution

queue for auto processing

Page 23: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Deployment to a remote environment..

Page 24: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Enterprise Agility

Content Performance

Deploy

Feedback

Developer Agility: Webfiles & LiveReload

Switch Templates

Mission Control & OnDemand2

FeatureLibrary

Persona Trends

FeatureLibrary

Switch Templates

Developer Agility: Webfiles & LiveReload

Page 25: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Introducing Hippo OnDemand v2

Easily Run and Deploy Hippo CMS in the Cloud

Page 26: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Mission Control is the web browser app user interface on top of the Hippo onDemand platform thatallows users to create and manage Hippo onDemand cloud environments. Hippo onDemandsupports connection to local DTAP environments via REST APIs for a close knit deployment process.

Flexibility Spin out POCs or demos and share with customers

Cloud Create and manage production sites in

the cloud

Control Deploy without

the need for infrastructure teams

Scalability Rapid scaling to

dynamically meet your demand

Agility Speed up POCs by syncing local dev

and cloud instance

Page 27: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

OnDemand v2

• RESTful API for operations• Ships services required by all Hippo

Enterprise features• Manage environments• Deploy distributions

Page 28: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Mission Control

Page 29: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Page 30: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Hodor

Hippo OnDemand command line interface

Page 31: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Page 32: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Automated functional tests...

Page 33: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Functional tests with QA Essentials and BDD

Behaviour Driven DevelopmentBased on Cucumber and SeleniumShips with common CMS interactionsEasy to setup end to end tests

Page 34: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Page 35: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Continuous Deployment

Page 36: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Trust!

Page 37: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

In summary

Basic build & package

Deploy to Test environment

Run functional & regression tests

Deploy to Performance test environment

Run Performance tests

Deploy to Acceptance environment

Acceptance tests Deploy to production environment

QA Essentials

QA Essentials

Page 38: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Page 39: Continuous Delivery in a content centric world

Hippo

Con

tent

Per

form

ance

Questions?

@jreijn@onehippo

[email protected]