SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Microservices and Conversion
Hunting
Howtobuildsoftwarearchitecturesforchangeableness
Bernd Zuther - IT Consultant Big Data
codecentric AG
2/59
Conversion
Conversion Rate =
Number of Goals achieved
Visits
act of converting site visitors into paying customers
proportion of visits to a website which take action to go beyond a
website visit
·
·
6/59
FeatureToggle
public class TopSellerRecommendationPanel extends AbstractShopBasePanel {
@SpringBean
private FeatureToogleBean featureToogleBean;
...
@Override
protected void onConfigure() {
super.onConfigure();
setVisible(featureToogleBean.isTopSellerFeatureEnabled());
}
...
}
JAVA
7/59
Continuous Improvement
Continuous
Improvement
(Agility)
Architecture
Continuous
Delivery
Big Data
Innovation
8/59
Architecture
Continuous
Improvement
(Agility)
Architecture
Continuous
Delivery
Big Data
Innovation
9/59
White Label-Shop
Company BCompany A
give subset of
products
Landing Page BOnline Shop A
Logistics A
create order
ship order
publish products
10/59
Disadvantages of a Monolith
Development:
Product Management:
·
Reduction of development speed
Increase of turnaround times
Increase of build time
Strange behavior after changes
Application Scalability
-
-
-
-
-
·
Increase of time to market
A/B testing of process changes nearly impossible
Scalability of Workload
-
-
-
13/59
Microservice
Data
Functionality
15/59
Microservice Architecture
Data
Functionality
Data
Functionality
Data
Functionality
Functionality
Data
Functionality
Data
16/59
Microservice Taxonomy
Microservice
Application
Frontend
Service
Service
Repository
Service
Discovery
Contract Implementation Interface
Business
Logic
Data
17/59
Differences to SOA
Lightweight infrastructure and protocols (e.g. REST)
Greater flexibility of architecture (e.g. can contain GUI)
Managed as products, with their own lifecycle and delivery
Deployed as processes (Unix packages or Container)
·
·
·
·
18/59
Online Shop - Use cases
Online Shop
order products
Buyer
view catalog
<include>
create cart
<include>
19/59
Online Shop - Migration
<<device>>
Microservice Server
<<web server>>
Ngnix
<<service>>
Cart Service
<<service>>
Product
Service
<<device>>
Monolith Server
<<application server>>
Tomcat
<<artifact>>
shop.war
<<artifact>>
Catalog View
<<artifact>>
cart-service.jar
<<artifact>>
product-
service.jar
Cart
Catalog
Product
20/59
Challenges of Microservices
Require integration.
Require a multi deployment pipeline.
Require automation of deployment and configuration.
Require logging and monitoring.
·
·
·
·
24/59
Leavitt - Communication Structure
Type Star Chain Circle Complete Structure
centralization high medium low very low
communication low medium much very much
controllability much medium low very low
25/59
Leavitt in Action
<<device>>
Microservice Server
<<web server>>
Ngnix
<<service>>
Cart Service
<<service>>
Product
Service
<<device>>
Monolith Server
<<application server>>
Tomcat
<<artifact>>
shop.war
<<artifact>>
Catalog View
<<artifact>>
cart-service.jar
<<artifact>>
product-
service.jar
Cart
Catalog
Product
26/59
Postel’s Law
{
firstname: "Bernd",
lastname: "Zuther",
street: "Elsenheimerstraße 55a",
city: "München",
zip: 80687
}
JAVASCRIPT
29/59
Postel’s Law
{
firstname: "Bernd",
lastname: "Zuther",
birthday: "1983/08/15",
street: "Elsenheimerstraße 55a",
city: "München",
zip: 80687
}
JAVASCRIPT
30/59
Postel’s Law
{
firstname: "Bernd",
lastname: "Zuther",
birthday: "1983/08/15",
addresses : [{
street: "Elsenheimerstraße 55a",
city: "München",
zip: 80687,
type: "WORK"
}]
}
JAVASCRIPT
32/59
Postel’s Law
{
firstname: "Bernd",
lastname: "Zuther",
birthday: "1983/08/15",
street: "Elsenheimerstraße 55a",
city: "München",
zip: 80687,
addresses : [{
street: "Elsenheimerstraße 55a",
city: "München",
zip: 80687,
type: "WORK"
}]
}
JAVASCRIPT
34/59
Alternatives
URL:
Custom request header:
Accept header:
·
simply whack the API version into the URL, e.g. https://shop
/api/v2/cart/all
-
·
same URL as before but add a header “api-version: 2”-
·
modify accept header to specify the version, e.g. “Accept:
application/vnd.cart.v2+json”
-
36/59
Continuous Delivery
Continuous
Improvement
(Agility)
Architecture
Continuous
Delivery
Big Data
Innovation
37/59
Multi Deployment Pipeline
Build Test Publish
UI-Test
Build Test Publish
Deploy
Load-Test
Catalog View
Productservice
39/59
Deployment
@RestController
class CartController {
@Autowired
def CartRepository cartRepository;
@RequestMapping(value = "/create", produces =
MediaType.APPLICATION_JSON_VALUE, method =
RequestMethod.PUT)
@ResponseBody
def UUID create(@RequestBody CartItem item) {
cartRepository .create(item)
}
<<executable>>
cart-service.jar
build
Configuration
CART_SERVICE_PROFILES=production
CART_SERVICE_PORT=18100
CART_SERVICE_REDIS_URL=redis.microservice.io
release
release
<<package>>
cart-service.debrelease
Infrastructure Code
#! /bin/sh
PIDFILE=/var/run/cart.pid
BASE_DIRECTORY=/usr/share/shop/cart/bin
42/59
Docker Environment
<<device>>
Docker Deamon
<<container>>
Ngnix
<<container>>
Cart Service
<<container>>
Product
Service
<<artifact>>
checkout
.war
<<artifact>>
catalog.tar
<<artifact>>
cart-service.jar
<<artifact>>
product-
service.jar
<<container>>
Tomcat
<<container>>
MongoDB
<<container>>
Redis
<<container>>
Navigation
Service
<<artifact>>
navigation-
service.jar
Kubernetes - Cluster Management
45/59
Pod
kind: Pod
desiredState:
manifest:
containers:
- name: mongodb
image: dockerfile/mongodb
cpu: 100
memory: 50000000
ports:
- containerPort: 27017
YAML
Replication Controller
kind: ReplicationController,
desiredState:
replicas: 4
podTemplate:
desiredState:
manifest:
containers:
- name: product
image: zutherb/product-service
YAML
Service
48/59
Big Data
Continuous
Improvement
(Agility)
Architecture
Continuous
Delivery
Big Data
Innovation
49/59
Summary
Pro Needs
better A/B testing monitoring
effective technologies centralised logging
solution orientation
fully automated deployment
pipeline
incremental migration cluster management
Microservices do not guarantee more conversion!
You need to run experiments with your customers!
<Thank You!>
g+ plus.google.com/+BerndZuther
twitter @Bernd_Z
www bernd-zuther.de
github github.com/zutherb/
Confess - Microservices and Conversion Hunting - Build architectures for changeableness

Weitere ähnliche Inhalte

Ähnlich wie Confess - Microservices and Conversion Hunting - Build architectures for changeableness

Process selection for manufacturing fms
Process selection for manufacturing fmsProcess selection for manufacturing fms
Process selection for manufacturing fms
Kinshook Chaturvedi
 
Presentation mongo db munich
Presentation mongo db munichPresentation mongo db munich
Presentation mongo db munich
MongoDB
 
BtrCloud CloudStack Plugin
BtrCloud CloudStack PluginBtrCloud CloudStack Plugin
BtrCloud CloudStack Plugin
buildacloud
 
Bmw Lean Manufacturing (Pratik Negi)
Bmw Lean Manufacturing  (Pratik Negi)Bmw Lean Manufacturing  (Pratik Negi)
Bmw Lean Manufacturing (Pratik Negi)
pratik negi
 

Ähnlich wie Confess - Microservices and Conversion Hunting - Build architectures for changeableness (20)

MediaMarkt Saturn: Enabling a resilient Order Management System
MediaMarkt Saturn: Enabling a resilient Order Management SystemMediaMarkt Saturn: Enabling a resilient Order Management System
MediaMarkt Saturn: Enabling a resilient Order Management System
 
Kubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud appsKubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud apps
 
Mass Customisation In Scm
Mass Customisation In ScmMass Customisation In Scm
Mass Customisation In Scm
 
Confluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVAConfluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVA
 
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRWKubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
Kubernetes on AWS at Zalando: Failures & Learnings - DevOps NRW
 
Cimteq CableBuilder Go
Cimteq CableBuilder GoCimteq CableBuilder Go
Cimteq CableBuilder Go
 
Is it sensible to use Data Vault at all? Conclusions from a project.
Is it sensible to use Data Vault at all? Conclusions from a project.Is it sensible to use Data Vault at all? Conclusions from a project.
Is it sensible to use Data Vault at all? Conclusions from a project.
 
Designing ACM solutions AMIS25
Designing  ACM solutions   AMIS25Designing  ACM solutions   AMIS25
Designing ACM solutions AMIS25
 
From basement to global
From basement to globalFrom basement to global
From basement to global
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
An introduction to OVHcloud’s industrial innovations and what they mean for y...
An introduction to OVHcloud’s industrial innovations and what they mean for y...An introduction to OVHcloud’s industrial innovations and what they mean for y...
An introduction to OVHcloud’s industrial innovations and what they mean for y...
 
MODES Route - 27may98
MODES Route - 27may98MODES Route - 27may98
MODES Route - 27may98
 
Process selection for manufacturing fms
Process selection for manufacturing fmsProcess selection for manufacturing fms
Process selection for manufacturing fms
 
Presentation mongo db munich
Presentation mongo db munichPresentation mongo db munich
Presentation mongo db munich
 
BtrCloud CloudStack Plugin
BtrCloud CloudStack PluginBtrCloud CloudStack Plugin
BtrCloud CloudStack Plugin
 
Agile ALM with Traceability: Release of codeBeamer 5.5
Agile ALM with Traceability: Release of codeBeamer 5.5 Agile ALM with Traceability: Release of codeBeamer 5.5
Agile ALM with Traceability: Release of codeBeamer 5.5
 
What is Apache Kafka®?
What is Apache Kafka®?What is Apache Kafka®?
What is Apache Kafka®?
 
Bmw Lean Manufacturing (Pratik Negi)
Bmw Lean Manufacturing  (Pratik Negi)Bmw Lean Manufacturing  (Pratik Negi)
Bmw Lean Manufacturing (Pratik Negi)
 
Real-time processing of large amounts of data
Real-time processing of large amounts of dataReal-time processing of large amounts of data
Real-time processing of large amounts of data
 
Highway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup BerlinHighway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup Berlin
 

Mehr von Bernd Zuther

Building an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDBBuilding an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDB
Bernd Zuther
 
Building an-online-recommendation-engine-with-mongodb-cebit-hannover
Building an-online-recommendation-engine-with-mongodb-cebit-hannoverBuilding an-online-recommendation-engine-with-mongodb-cebit-hannover
Building an-online-recommendation-engine-with-mongodb-cebit-hannover
Bernd Zuther
 
Building an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDBBuilding an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDB
Bernd Zuther
 
Building an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDBBuilding an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDB
Bernd Zuther
 
Mongodb + Hadoop Big Data Solyanka
Mongodb + Hadoop Big Data SolyankaMongodb + Hadoop Big Data Solyanka
Mongodb + Hadoop Big Data Solyanka
Bernd Zuther
 
Real time Analytics with MongoDB
Real time Analytics with MongoDBReal time Analytics with MongoDB
Real time Analytics with MongoDB
Bernd Zuther
 

Mehr von Bernd Zuther (7)

code.talks 2015 - Microservices und die Jagd nach mehr Konversion
code.talks 2015 - Microservices und die Jagd nach mehr Konversioncode.talks 2015 - Microservices und die Jagd nach mehr Konversion
code.talks 2015 - Microservices und die Jagd nach mehr Konversion
 
Building an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDBBuilding an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDB
 
Building an-online-recommendation-engine-with-mongodb-cebit-hannover
Building an-online-recommendation-engine-with-mongodb-cebit-hannoverBuilding an-online-recommendation-engine-with-mongodb-cebit-hannover
Building an-online-recommendation-engine-with-mongodb-cebit-hannover
 
Building an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDBBuilding an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDB
 
Building an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDBBuilding an Online-Recommendation Engine with MongoDB
Building an Online-Recommendation Engine with MongoDB
 
Mongodb + Hadoop Big Data Solyanka
Mongodb + Hadoop Big Data SolyankaMongodb + Hadoop Big Data Solyanka
Mongodb + Hadoop Big Data Solyanka
 
Real time Analytics with MongoDB
Real time Analytics with MongoDBReal time Analytics with MongoDB
Real time Analytics with MongoDB
 

Kürzlich hochgeladen

Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 

Kürzlich hochgeladen (20)

Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 

Confess - Microservices and Conversion Hunting - Build architectures for changeableness