Successfully reported this slideshow.

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

0

Share

Upcoming SlideShare
Microservice architecture
Microservice architecture
Loading in …3
×
1 of 28
1 of 28

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

0

Share

Download to read offline

Slides from our "Developers Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture" Meetup on 22nd November 2016 together with BDose.

Slides from our "Developers Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture" Meetup on 22nd November 2016 together with BDose.

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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

  1. 1. Developers Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture David Lee Heiko Kahmann Berlin, 22.11.2016
  2. 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. 3. Dateiname Agenda The myToys Architecture – a brief history and overview Short Break for Pizza Interactive Discussion Groups Review
  4. 4. Dateiname The myToys Architecture – A brief history and overview
  5. 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. 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. 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. 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. 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. 10. Dateiname Transition to Microservices (2): How do we split our website into Microservices Header Slider Teaser Teaser Teaser
  11. 11. Dateiname Transition to Microservices (3): Example: Newsletter Microservice/Component Example: Registering for our Newsletter (Customer view)
  12. 12. Dateiname Transition to Microservices (3): Example: Newsletter Success Page Header Newsletter Footer
  13. 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. 14. Dateiname And this is how it looks in Real-Life…
  15. 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. 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. 17. Dateiname Transition to Microservices (6): Deploying Microservices in Real Time Pipeline in Jenkins 2.0
  18. 18. Dateiname Transition to Microservices (6): Deploying Microservices in Real Time Instant Messaging Channel for updates
  19. 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
  20. 20. Dateiname Interactive Discussion Groups
  21. 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. 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. 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. 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. 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. 26. Dateiname Agenda The myToys Architecture – a brief history and overview Short Break for Pizza Interactive Discussion Groups Review
  27. 27. Dateiname Interactive Discussion Groups Topics: 1.Microservices 2.Page Assembling 3.Continuous Delivery 4.Cloud and Service Discovery.
  28. 28. Dateiname Review Topics: 1.Microservices 2.Page Assembling 3.Continuous Delivery 4.Cloud and Service Discovery.

×