Keynote presentation held at Rethink! IT Europe 2017 in London outlining some of the best practices of how to re-invent your IT architecture. Includes key methods like radical agility, microservices and DevOps.
24. Challenges with monolithic software
24
Difficult to
Scale
Long
Cycles
Operations
Issues
Architecture is
hard to maintain
and evolve
New releases
take months
(to test, integrate)
Module X is failing,
Who is the owner?
Lack of
Agility
Lack of
Innovation
Frustrated
Customers
25. Microservices Development Lifecycle
25
$ $ $ $
$ $ $ $
$ $ $ $
$ $ $ $
Build Test Deploy
Build Test Deploy
Build Test Deploy
Build Test Deploy
Developers Microservices Delivery Pipelines
27. Microservices pay out for complex scenarios
27Source: Martin Fowler
‘Microservices Premium’
Base Complexity
Productivity
Microservices
Monoliths
28. Example: Monolithic online store
28
ONLINE STORE
Ordering Billing
AccountingInventory
• One piece of Software
• 100k lines of code
• Outdated technology
• Only few developers
understand it
• New releases take
forever
30. Order items on website
30
Checkout
Service
Order
Mgmt
RESTAPI
Postgres MongoDB
3) POST /orders
Inventory
Mgmt
RESTAPI
SAP MM
2) GET /items1) GET /stock
4) POST /items
Application
Interface IT Component
Provider
SAP
Data Object
Orders Items
31. Designing Microservices and selecting technologies
31
Ordering
Inventory
Billing
Accounting
Order Service Billing Service
Inventory Service Accounting Service
SAP FI
Paypal
Order
APIMySQL
MongoDB
Orders Invoices
Stock Items BalancesFinance
API
Inventory
API
Billing
API
Application
Interface
IT Component
Data Object
Bus. Capability
32. Elastic
All new functionality follows our Microservice
Architecture
32
View
Controller
Model
DB
Single Page App
REST-
API
DB
REST-
API
Frontend
Service
Backend
Microservices
Infrastructure
Services
33. Services are independent, which allows scaling
33
Pathfinder
Postgres
Elasticsearch
ArangoDB
Pathfinder UISingle Page App
Backend Services
• GraphQL or REST API
• oAuth2 /w JWT
• Swagger API Docs
• Event-Bus (Webhooks)
Resources
• No sharing across
services
Web-
hooks
MTM Export Images Survey Metrics
Postgres
Kafka
Postgres
Shibboleth
PhantomJS
Postgres
Elasticsearch
InfluxDB
“Platform Services”
34. Most critical tools to build microservices at LeanIX
34
Integrated
Development
Environment
Frameworks
Continuous
Integration
Packaging
Monitoring
IntelliJ
(Java)
VS Code
(Typescript)
Dropwizard
(Java)
Jenkins
Docker
Swagger
(Java)
44. A shift left of operational concerns
44
Development
Environment
Test
Environment
Stage
Environment
Production
Environment
Continuous
Integration
Continuous
Testing
Continuous
Delivery
Continuous
Monitoring
‘Shift-left‘ of operational concerns
48. Four waves to run IT like a startup
48
Single
Source of
Truth
(Existing)
Semi-automatic
Inventory
(Existing)
Microservices
Governance
(PoC)
Fully integrated
Docker &
Kubernetes setup
(in Dev)
49. From idea to production
49
Requirements Capacity & Planning Deployment Monitoring
Microservice Lifecycle Management