Microservice Transformation of the Haufe Publishing System

Post on 23-Jan-2018

155 views 0 download

transcript

Haufe Publishing SystemExperiences from project HRS Universe 2020

Marco Seifried, Karsten GaebertWorkshop Barcelona

May 10, 2017

Haufe Publishing System

Business Drivers

• Running out of support

• Speed of change

• USP / Business Features

• Reduce dependencies

• (Tech) Sharing

Overarching Influences

Culture

StructureTechnology

Lean Principles

ELIMINATE WASTE Speed! We only implement what‘s requested and releaseimmediately. Get feedback. And start over.

AMPLIFY LEARNING Learning is integral part of the project.

DECIDE AS LATE AS POSSIBLE Make decisions based on factsBuild in capacity for change

DELIVER AS FAST AS POSSIBLE Design, implement, feedback, improve

EMPOWER THE TEAM No fraction. Responsibility. Less control.

BUILD INTEGRITY IN We deliver business value, in small doses that make sense

SEE THE WHOLE Measure overall performance, not individual

BASELINE – ARCHITECTURAL PRINCIPLES

Business value over technical strategy

Strategic goals over project-specific benefits

Composability over silos

Shared services over specific-purpose implementations

Evolutionary refinement over pursuit of initial perfection

Design for obsoleteness over building for eternity

Good enough over best of breed

Declarative processes over implicit knowledge

Data over opinion

Project Approach HRS 2020

EDB

Pipelines

VPC

Cluster Development

AZ 1 AZ 2

Cluster Integration

AZ 1 AZ 2

Cluster Production

AZ 1 AZ 2

Development Integration ProductionNamespaces::

Build Pipeline for docker images

Bitbucket GOCD ArtifactoryUnittests ScansDEV

Deploy Pipeline

Jenkins GitKubernetes

ClusterTests Step 1 Action

Pull - Branches- Jenkinsfile- Tests- Config

IP based:EndpointsLogicPerformanceAPI

Delete orMake public (DNS)-> Canary

Tests Step 2

DNS based:InteractionIntegrationAPIUI

API

Integration Tests

Jenkins GitKubernetes

ClusterTests Action

Pull - Branches- Jenkinsfile- Tests- Config

BVFeaturesPerformance

RollbackDNS switch

…and monitoring

Services

Import

Analyzer

Repository Search

Export

Storage Meta-DB

Web-UI

Mandanten Lieferanten

Services

Import Analyzer Repository Search Export

Storage

Web-UI

Mandanten Lieferanten

<XML><XML>

Meta-DB

Import Workflow - Choreographie

Import

Analyzer RepositorySearch

Export

Storage

Web-UI

Mandanten

Lieferanten

<XML><XML>

ImportTimeline

Meta-DB

Restore

Edit

Delete

Import Workflow - Orchestration

Import

Analyzer Repository

Export

Storage

Meta-DB

Web-UILieferanten

<XML><XML>

ImportTimeline

Search

Mandanten

Scaling

Messages

Format

• JSON (Schema)

Content

• Message-ID

• Service-Identifier

• Status

• Payload

Conclusion