microservice transformation of the haufe publishing system

25
Haufe Publishing System Experiences from project HRS Universe 2020 Marco Seifried, Karsten Gaebert Workshop Barcelona May 10, 2017

Upload: haufe-lexware-gmbh-co-kg

Post on 23-Jan-2018

155 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Microservice Transformation of the Haufe Publishing System

Haufe Publishing SystemExperiences from project HRS Universe 2020

Marco Seifried, Karsten GaebertWorkshop Barcelona

May 10, 2017

Page 2: Microservice Transformation of the Haufe Publishing System

Haufe Publishing System

Page 3: Microservice Transformation of the Haufe Publishing System

Business Drivers

• Running out of support

• Speed of change

• USP / Business Features

• Reduce dependencies

• (Tech) Sharing

Page 4: Microservice Transformation of the Haufe Publishing System

Overarching Influences

Culture

StructureTechnology

Page 5: Microservice Transformation of the Haufe Publishing System

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

Page 6: Microservice Transformation of the Haufe Publishing System

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

Page 7: Microservice Transformation of the Haufe Publishing System

Project Approach HRS 2020

EDB

Page 8: Microservice Transformation of the Haufe Publishing System
Page 9: Microservice Transformation of the Haufe Publishing System
Page 10: Microservice Transformation of the Haufe Publishing System
Page 11: Microservice Transformation of the Haufe Publishing System

Pipelines

Page 12: Microservice Transformation of the Haufe Publishing System

VPC

Cluster Development

AZ 1 AZ 2

Cluster Integration

AZ 1 AZ 2

Cluster Production

AZ 1 AZ 2

Development Integration ProductionNamespaces::

Page 13: Microservice Transformation of the Haufe Publishing System

Build Pipeline for docker images

Bitbucket GOCD ArtifactoryUnittests ScansDEV

Page 14: Microservice Transformation of the Haufe Publishing System

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

Page 15: Microservice Transformation of the Haufe Publishing System

Integration Tests

Jenkins GitKubernetes

ClusterTests Action

Pull - Branches- Jenkinsfile- Tests- Config

BVFeaturesPerformance

RollbackDNS switch

…and monitoring

Page 16: Microservice Transformation of the Haufe Publishing System

Services

Page 17: Microservice Transformation of the Haufe Publishing System
Page 18: Microservice Transformation of the Haufe Publishing System

Import

Analyzer

Repository Search

Export

Storage Meta-DB

Web-UI

Mandanten Lieferanten

Services

Page 19: Microservice Transformation of the Haufe Publishing System

Import Analyzer Repository Search Export

Storage

Web-UI

Mandanten Lieferanten

<XML><XML>

Meta-DB

Import Workflow - Choreographie

Page 20: Microservice Transformation of the Haufe Publishing System

Import

Analyzer RepositorySearch

Export

Storage

Web-UI

Mandanten

Lieferanten

<XML><XML>

ImportTimeline

Meta-DB

Restore

Edit

Delete

Import Workflow - Orchestration

Page 21: Microservice Transformation of the Haufe Publishing System

Import

Analyzer Repository

Export

Storage

Meta-DB

Web-UILieferanten

<XML><XML>

ImportTimeline

Search

Mandanten

Scaling

Page 22: Microservice Transformation of the Haufe Publishing System

Messages

Format

• JSON (Schema)

Content

• Message-ID

• Service-Identifier

• Status

• Payload

Page 23: Microservice Transformation of the Haufe Publishing System
Page 24: Microservice Transformation of the Haufe Publishing System

Conclusion

Page 25: Microservice Transformation of the Haufe Publishing System