Developers Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture

MyToys Group IT
MyToys Group ITMyToys Group IT
Developers Roadtrip to Heaven? myToys transition
from SOA to Microservices Architecture
David Lee
Heiko Kahmann
Berlin, 22.11.2016
Dateiname
About The Presenters
Dr. David Lee
BSc(Hons) Computing for Business and E-Commerce / PhD in Computer
Science (Robert Gordon University, Aberdeen, Scotland)
Certified Software Architect (Foundation Level)
2010-2014: Backend Software Developer at myToys.de
2014-Present: Software Architect at myToys.de
Heiko Kahmann
Dipl. Inf., Dipl. Vw (Freie Universität Berlin)
10 Years Experience as Researcher
Experience as Senior and Lead Software Developer in various companies
2015-Present: Software Architect at myToys.de
Dateiname
Agenda
The myToys Architecture – a brief history and overview
Short Break for Pizza
Interactive Discussion Groups
Review
Dateiname
The myToys Architecture –
A brief history and overview
Dateiname
Konsum Monolithic Application
HTML/CSS/JS
Java Modules
DB
HTML/CSS/JS
Java Modules
DB
HTML/CSS/JS
Java Modules
DB
Shops are very individual.
Features for x shops x times.
New shops take long time.
Dateiname
Responsive HTML/CSS/PHP
Multishop Platform (Service Orientated Architecture)
• Aim: Develop platform so features developed once but usable for all
shops. Retain individual design of shops.
Solr SQL
DB
NOSQL
DB
Java Product
Service
Raffle
Service
SQL
DB
Newsletter
Service
Rating
Service
Dateiname
Positive Experience with Service Orientated
Architecture
Business Relevant Services für every shop.
Services deployable separately.
More independent teams than with monolithic application.
Content Management System
Many change requests only affect the frontend part (HTML/CSS).
Dateiname
Challenges with Service Orientated Architecture
Scalable Services
Development and release co-ordination Backend <> Frontend.
Frontend Monolithic breaks Conways‘s Law.
Separated Data Layer
Big Challenge where bugs located.
Dateiname
Transition to Microservices (1):
We verticalise!
Solr SQL
DB
NOSQL
DB
Java
Microservice Microservice Microservice Microservice
SQL
DB
Product
Service
Product
Frontend
Raffle
Frontend
Newsletter
Frontend
Rating
Frontend
Raffle
Service
Newsletter
Service
Rating
Service
Responsive HTML/CSS/PHP
Dateiname
Transition to Microservices (2):
How do we split our website into Microservices
Header
Slider
Teaser Teaser
Teaser
Dateiname
Transition to Microservices (3):
Example: Newsletter Microservice/Component
Example: Registering for our Newsletter (Customer
view)
Dateiname
Transition to Microservices (3):
Example: Newsletter Success Page
Header
Newsletter
Footer
Dateiname
Transition to Microservices (3):
How it works in the background
Microservice
Header
PageAssembler
Configuration &
Service Discovery
Server
Load Balancer
http://www.mytoys.de/nl/success
HTMLRequest
/newsletter/success
david.lee@mytoys.de
PageAssembler
Request
/newsletter/success
PageConfiguration
with Service URLs
Request
myToys.de
Header
HTML
Microservice
Newsletter
Microservice
Footer
Newsletter
DB
david.lee@mytoys.de
Newsletter
HTML
Request
myToys.de
david.lee@mytoys.de
Request
myToys.de
Footer
HTML
Cache
Dateiname
And this is how it looks in
Real-Life…
Dateiname
Transition to Microservices (4):
Public API
Public API
Microservice Newsletter
Registration
Newsletter
DB
david.lee@mytoys.de
Request
myToys.de
Request
Newsletter Registration
JSON
JSON
Dateiname
Transition to Microservices (5):
Microservice Store and Live Editor
Live Editor
Header
C
a
r
o
u
s
e
l
Navigation
Teaser
Microservice Store
Header
Login
Carousel
Teaser
Footer
PO
New Microservice
Developer
1
2
Dateiname
Transition to Microservices (6):
Deploying Microservices in Real Time
Pipeline in Jenkins 2.0
Dateiname
Transition to Microservices (6):
Deploying Microservices in Real Time
Instant Messaging Channel for updates
Dateiname
Summary of key components for TechVision
PageAssembler Microservices
Team Split /
Independence / Self-
responsibility
Cloud
Elastic Load Balancing Continuous Delivery
Automatic Documentation Test Driven
Service Discovery
PO / first Level Support
Live Shop Editor
Dateiname
Interactive Discussion
Groups
Dateiname
Interactive Discussion Groups
• There are 4 groups:
• Microservices
• Page Assembling
• Continuous Delivery
• Cloud, Elastic Load Balancing and Service Discovery.
• Discussion Groups: after pizza until 8.30pm. Visit each group – how
long is up to you.
• Summary afterwards.
Dateiname
Group #1: Microservices (Timo Fleischfresser)
„The name of Microservices suggests that it affects the size of the service
– and obviously services should be small. One possible definition for the
size of a microservice is …“ [Eberhard Wolff, Microservices]
• Lines of Code
• ….?
• ….?
• ….?
Discussion Questions:
1.What are good measures for defining the size of a microservice?
2.What are bad measures for defining the size of a microservice?
Dateiname
Group #2: Page Assembling
(Heiko Kahmann)
Discussion Questions:
1.What are the
responsibilities of a Page
Assembler?
2.Which tasks are
performed better by other
components?
3.Is it possible to do
assemble a page
completely on the client
side?
Dateiname
Group #3: Continuous Delivery (Andreas Lehmann)
Discussion Questions:
1.How do we manage the trade-off
between speed and quality in the
continuous delivery approach?
2.For which situations may it better to be
fast rather than have the highest
quality?
3.For which situations may it better to
have higher quality than a fast pipeline?
Speed Quality
Dateiname
Group #4: Cloud, Elastic Load Balancing and Service
Discovery (David Lee)
Discussion Questions:
1.Let‘s use the cloud! What are the
challenges of making applications
cloud-ready?
2.What are the advantages and
disadvantages of the main cloud
providers based on your
experience?
Dateiname
Agenda
The myToys Architecture – a brief history and overview
Short Break for Pizza
Interactive Discussion Groups
Review
Dateiname
Interactive Discussion
Groups
Topics:
1.Microservices
2.Page Assembling
3.Continuous Delivery
4.Cloud and Service Discovery.
Dateiname
Review
Topics:
1.Microservices
2.Page Assembling
3.Continuous Delivery
4.Cloud and Service Discovery.
1 of 28

Recommended

Microservice architecture by
Microservice architectureMicroservice architecture
Microservice architectureŽilvinas Kuusas
2.7K views44 slides
Microservices: Architecture for Agile Software Development by
Microservices: Architecture for Agile Software DevelopmentMicroservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software DevelopmentEberhard Wolff
4.7K views69 slides
From Monoliths to Services: Grafually paying your Technical Debt by
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtDavid Litvak Bruno
423 views98 slides
IBM Containers- Bluemix by
IBM Containers- BluemixIBM Containers- Bluemix
IBM Containers- BluemixVirginia Fernandez
854 views17 slides
Microservices: Where do they fit within a rapidly evolving integration archit... by
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
5.8K views34 slides
Understanding Docker and IBM Bluemix Container Service by
Understanding Docker and IBM Bluemix Container ServiceUnderstanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container ServiceAndrew Ferrier
1.1K views31 slides

More Related Content

What's hot

Building modern media solutions with Windows Azure by @fincooper by
Building modern media solutions with Windows Azure by @fincooperBuilding modern media solutions with Windows Azure by @fincooper
Building modern media solutions with Windows Azure by @fincooperKarl Ots
319 views19 slides
Why Microservice by
Why Microservice Why Microservice
Why Microservice Kelvin Yeung
500 views32 slides
Beyond Microservices by
Beyond MicroservicesBeyond Microservices
Beyond MicroservicesEberhard Wolff
1.9K views88 slides
Microservice Architecture by
Microservice ArchitectureMicroservice Architecture
Microservice Architecturetyrantbrian
10.2K views83 slides
Microservice architecture : Part 1 by
Microservice architecture : Part 1Microservice architecture : Part 1
Microservice architecture : Part 1NodeXperts
378 views15 slides
Creating Effective Mobile Applications with IBM Bluemix by
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixAndrew Ferrier
639 views34 slides

What's hot(20)

Building modern media solutions with Windows Azure by @fincooper by Karl Ots
Building modern media solutions with Windows Azure by @fincooperBuilding modern media solutions with Windows Azure by @fincooper
Building modern media solutions with Windows Azure by @fincooper
Karl Ots319 views
Microservice Architecture by tyrantbrian
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
tyrantbrian10.2K views
Microservice architecture : Part 1 by NodeXperts
Microservice architecture : Part 1Microservice architecture : Part 1
Microservice architecture : Part 1
NodeXperts378 views
Creating Effective Mobile Applications with IBM Bluemix by Andrew Ferrier
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM Bluemix
Andrew Ferrier639 views
Share seattle cics cloud by nick_garrod
Share seattle cics cloudShare seattle cics cloud
Share seattle cics cloud
nick_garrod349 views
Become a Bluemix Architect in 45 Minutes by Andrew Ferrier
Become a Bluemix Architect in 45 MinutesBecome a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 Minutes
Andrew Ferrier436 views
Decomposing applications for deployability and scalability(SpringSource webinar) by Chris Richardson
Decomposing applications for deployability and scalability(SpringSource webinar)Decomposing applications for deployability and scalability(SpringSource webinar)
Decomposing applications for deployability and scalability(SpringSource webinar)
Chris Richardson2.6K views
Microservice Architecture | Microservices Tutorial for Beginners | Microservi... by Edureka!
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Edureka!1.4K views
MicroServices, yet another architectural style? by ACA IT-Solutions
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?
ACA IT-Solutions10.9K views
Microservices vs SOA by inovia
Microservices vs SOAMicroservices vs SOA
Microservices vs SOA
inovia589 views
Seven standards of cloud computing by Hossam Zein
Seven standards of cloud computingSeven standards of cloud computing
Seven standards of cloud computing
Hossam Zein936 views
SYN310: Deep dive into ShareFile Enterprise functionality by Citrix
SYN310: Deep dive into ShareFile Enterprise functionalitySYN310: Deep dive into ShareFile Enterprise functionality
SYN310: Deep dive into ShareFile Enterprise functionality
Citrix18.4K views
Developing applications with a microservice architecture (SVforum, microservi... by Chris Richardson
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
Chris Richardson168.7K views
Novell vibe intro and roadmap v5 by GWAVA
Novell   vibe intro and roadmap v5Novell   vibe intro and roadmap v5
Novell vibe intro and roadmap v5
GWAVA 2.6K views

Similar to Developers Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture

Architecting for Scale by
Architecting for ScaleArchitecting for Scale
Architecting for ScalePooyan Jamshidi
2.4K views83 slides
On The Road towards Continuous Delivery by
On The Road towards Continuous DeliveryOn The Road towards Continuous Delivery
On The Road towards Continuous DeliveryMyToys Group IT
368 views34 slides
[MS PowerPoint 97/2000 format] by
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]webhostingguy
192 views28 slides
[MS PowerPoint 97/2000 format] by
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]webhostingguy
245 views28 slides
Accelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices by
Accelerate Delivery: Business case for Agile DevOps, CI/CD and MicroservicesAccelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices
Accelerate Delivery: Business case for Agile DevOps, CI/CD and MicroservicesRick Hightower
276 views71 slides
IBM Think 2020 Openshift on IBM Z and LinuxONE by
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEFilipe Miranda
273 views32 slides

Similar to Developers Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture(20)

On The Road towards Continuous Delivery by MyToys Group IT
On The Road towards Continuous DeliveryOn The Road towards Continuous Delivery
On The Road towards Continuous Delivery
MyToys Group IT368 views
[MS PowerPoint 97/2000 format] by webhostingguy
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]
webhostingguy192 views
[MS PowerPoint 97/2000 format] by webhostingguy
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]
webhostingguy245 views
Accelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices by Rick Hightower
Accelerate Delivery: Business case for Agile DevOps, CI/CD and MicroservicesAccelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices
Accelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices
Rick Hightower276 views
IBM Think 2020 Openshift on IBM Z and LinuxONE by Filipe Miranda
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONE
Filipe Miranda273 views
Microservices Architecture for e-Commerce by Divante
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-Commerce
Divante29K views
Business and IT agility through DevOps and microservice architecture powered ... by Lucas Jellema
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
Lucas Jellema306 views
Sukumar Nayak-Agile-DevOps-Cloud Management by Sukumar Nayak
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak4.4K views
When Developers Operate and Operators Develop by Adrian Cockcroft
When Developers Operate and Operators DevelopWhen Developers Operate and Operators Develop
When Developers Operate and Operators Develop
Adrian Cockcroft10.8K views
IBM Connections Cloud Application Development Strategy by Luis Benitez
IBM Connections Cloud Application Development StrategyIBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development Strategy
Luis Benitez5.5K views
How adding a further tool can be a good thing by Belsoft
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thing
Belsoft165 views
How adding a further tool can be a good thing by Andreas Ponte
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thing
Andreas Ponte262 views
Liferay as a Microservice Platform by Daniel Reuther
Liferay as a Microservice PlatformLiferay as a Microservice Platform
Liferay as a Microservice Platform
Daniel Reuther2.5K views
Grails & DevOps: continuous integration and delivery in the cloud by GR8Conf
Grails & DevOps: continuous integration and delivery in the cloudGrails & DevOps: continuous integration and delivery in the cloud
Grails & DevOps: continuous integration and delivery in the cloud
GR8Conf3.2K views

Recently uploaded

DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...Deltares
9 views34 slides
LAVADORA ROLO.docx by
LAVADORA ROLO.docxLAVADORA ROLO.docx
LAVADORA ROLO.docxSamuelRamirez83524
7 views1 slide
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDeltares
15 views43 slides
Winter '24 Release Chat.pdf by
Winter '24 Release Chat.pdfWinter '24 Release Chat.pdf
Winter '24 Release Chat.pdfmelbourneauuser
9 views20 slides
Generic or specific? Making sensible software design decisions by
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
6 views60 slides
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...Deltares
6 views15 slides

Recently uploaded(20)

DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 views
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares15 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
El Arte de lo Possible by Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j39 views
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... by Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 views
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
MariaDB stored procedures and why they should be improved by Federico Razzoli
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improved
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349236 views

Developers Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture

  • 1. Developers Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture David Lee Heiko Kahmann Berlin, 22.11.2016
  • 2. Dateiname About The Presenters Dr. David Lee BSc(Hons) Computing for Business and E-Commerce / PhD in Computer Science (Robert Gordon University, Aberdeen, Scotland) Certified Software Architect (Foundation Level) 2010-2014: Backend Software Developer at myToys.de 2014-Present: Software Architect at myToys.de Heiko Kahmann Dipl. Inf., Dipl. Vw (Freie Universität Berlin) 10 Years Experience as Researcher Experience as Senior and Lead Software Developer in various companies 2015-Present: Software Architect at myToys.de
  • 3. Dateiname Agenda The myToys Architecture – a brief history and overview Short Break for Pizza Interactive Discussion Groups Review
  • 4. Dateiname The myToys Architecture – A brief history and overview
  • 5. Dateiname Konsum Monolithic Application HTML/CSS/JS Java Modules DB HTML/CSS/JS Java Modules DB HTML/CSS/JS Java Modules DB Shops are very individual. Features for x shops x times. New shops take long time.
  • 6. Dateiname Responsive HTML/CSS/PHP Multishop Platform (Service Orientated Architecture) • Aim: Develop platform so features developed once but usable for all shops. Retain individual design of shops. Solr SQL DB NOSQL DB Java Product Service Raffle Service SQL DB Newsletter Service Rating Service
  • 7. Dateiname Positive Experience with Service Orientated Architecture Business Relevant Services für every shop. Services deployable separately. More independent teams than with monolithic application. Content Management System Many change requests only affect the frontend part (HTML/CSS).
  • 8. Dateiname Challenges with Service Orientated Architecture Scalable Services Development and release co-ordination Backend <> Frontend. Frontend Monolithic breaks Conways‘s Law. Separated Data Layer Big Challenge where bugs located.
  • 9. Dateiname Transition to Microservices (1): We verticalise! Solr SQL DB NOSQL DB Java Microservice Microservice Microservice Microservice SQL DB Product Service Product Frontend Raffle Frontend Newsletter Frontend Rating Frontend Raffle Service Newsletter Service Rating Service Responsive HTML/CSS/PHP
  • 10. Dateiname Transition to Microservices (2): How do we split our website into Microservices Header Slider Teaser Teaser Teaser
  • 11. Dateiname Transition to Microservices (3): Example: Newsletter Microservice/Component Example: Registering for our Newsletter (Customer view)
  • 12. Dateiname Transition to Microservices (3): Example: Newsletter Success Page Header Newsletter Footer
  • 13. Dateiname Transition to Microservices (3): How it works in the background Microservice Header PageAssembler Configuration & Service Discovery Server Load Balancer http://www.mytoys.de/nl/success HTMLRequest /newsletter/success david.lee@mytoys.de PageAssembler Request /newsletter/success PageConfiguration with Service URLs Request myToys.de Header HTML Microservice Newsletter Microservice Footer Newsletter DB david.lee@mytoys.de Newsletter HTML Request myToys.de david.lee@mytoys.de Request myToys.de Footer HTML Cache
  • 14. Dateiname And this is how it looks in Real-Life…
  • 15. Dateiname Transition to Microservices (4): Public API Public API Microservice Newsletter Registration Newsletter DB david.lee@mytoys.de Request myToys.de Request Newsletter Registration JSON JSON
  • 16. Dateiname Transition to Microservices (5): Microservice Store and Live Editor Live Editor Header C a r o u s e l Navigation Teaser Microservice Store Header Login Carousel Teaser Footer PO New Microservice Developer 1 2
  • 17. Dateiname Transition to Microservices (6): Deploying Microservices in Real Time Pipeline in Jenkins 2.0
  • 18. Dateiname Transition to Microservices (6): Deploying Microservices in Real Time Instant Messaging Channel for updates
  • 19. Dateiname Summary of key components for TechVision PageAssembler Microservices Team Split / Independence / Self- responsibility Cloud Elastic Load Balancing Continuous Delivery Automatic Documentation Test Driven Service Discovery PO / first Level Support Live Shop Editor
  • 21. Dateiname Interactive Discussion Groups • There are 4 groups: • Microservices • Page Assembling • Continuous Delivery • Cloud, Elastic Load Balancing and Service Discovery. • Discussion Groups: after pizza until 8.30pm. Visit each group – how long is up to you. • Summary afterwards.
  • 22. Dateiname Group #1: Microservices (Timo Fleischfresser) „The name of Microservices suggests that it affects the size of the service – and obviously services should be small. One possible definition for the size of a microservice is …“ [Eberhard Wolff, Microservices] • Lines of Code • ….? • ….? • ….? Discussion Questions: 1.What are good measures for defining the size of a microservice? 2.What are bad measures for defining the size of a microservice?
  • 23. Dateiname Group #2: Page Assembling (Heiko Kahmann) Discussion Questions: 1.What are the responsibilities of a Page Assembler? 2.Which tasks are performed better by other components? 3.Is it possible to do assemble a page completely on the client side?
  • 24. Dateiname Group #3: Continuous Delivery (Andreas Lehmann) Discussion Questions: 1.How do we manage the trade-off between speed and quality in the continuous delivery approach? 2.For which situations may it better to be fast rather than have the highest quality? 3.For which situations may it better to have higher quality than a fast pipeline? Speed Quality
  • 25. Dateiname Group #4: Cloud, Elastic Load Balancing and Service Discovery (David Lee) Discussion Questions: 1.Let‘s use the cloud! What are the challenges of making applications cloud-ready? 2.What are the advantages and disadvantages of the main cloud providers based on your experience?
  • 26. Dateiname Agenda The myToys Architecture – a brief history and overview Short Break for Pizza Interactive Discussion Groups Review