SlideShare a Scribd company logo
1 of 58
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Building BMW Group’s Customer
Engagement Platform on AWS
A M T 3 0 5
Constantin Gonzalez
Principal Solutions Architect
AWS
Julian Roedig
Principal Solution Architect
BMW Group
Patrick Lanners
Solution Architect
BMW Group
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What you’ll get out of this session
An introduction to microservices
Real-world customer experience from BMW Group
Methodology
Architecture overview
Architecture deep dives
Guidelines and resources for your own microservices projects
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Rigid
Hard to scale
Hard to deploy
Locked-in
Hard to reuse
Easy to break
Monoliths
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monolith development lifecycle
Developers
ReleaseTestBuild
Delivery pipelineApp
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Autonomous
Specialized
Agile
Flexible to scale
Easy to deploy
Freedom
Easy to reuse
Resilient
Microservices
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservice development lifecycle
Developers Delivery pipelinesServices
ReleaseTestBuild
ReleaseTestBuild
ReleaseTestBuild
ReleaseTestBuild
ReleaseTestBuild
ReleaseTestBuild
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
But how?
Migration?
Networking?
Service discovery?
Deployment?
Which services?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Introduction
Architecture overview
Architecture deep dives
1
2
3
Conclusion4
Page 11Lanners & Roedig, BMW Group | AWS re:Invent 2018
THE PLATFORM CONSOLIDATES THE VEHICLE PRODUCTS AS SERVICES.
~7
Engines
~12
Colors
~14
Wheels
~11
Upholstery
~7
Trims
~90
Optional
Equipment
Many possibilitiesto configureyour dream car
=
OUR PLATFORM CONSOLIDATES THE VEHICLE PRODUCTS AS SERVICES
Page 12Lanners & Roedig, BMW Group | AWS re:Invent 2018
EXAMPLES OF FRONT ENDS THAT USE OUR CONFIGURATOR PLATFORM
Dealer iPad Configurator bmw.de mini.at bmw-motorrad.de 26+ Systems
Page 13Lanners & Roedig, BMW Group | AWS re:Invent 2018
UNIFIED CONFIGURATOR PLATFORM: CENTRAL
ENGAGEMENT PLATFORM AS BUSINESS ENABLER
Unified Configurator Platform
Accessories
Product Data
Official
Technical Data
Net-Gross-Price
Calculation
Virtual Garage
Constructability
Check
Data Import Data Generation
Product Data Technical Data …
Consumes API
...
Technical
Calculations
Key facts:
- RESTful API
- Used by ~30 products
- Hundreds of Mio API
calls per month
- Supports all BMW
Group brands and
markets
Introduction
Architecture overview
Architecture deep dives
1
2
3
Conclusion4
Page 15Lanners & Roedig, BMW Group | AWS re:Invent 2018
A MONOLITHIC SYSTEM ISN’T BYDEFINITION A BAD THING
Monolith
Team
Clients
Benefits
- Fast development of a first production-ready MVP
- No need to handle the challenges of a distributed system
Challenges and driving factors for going the next step
- Increased number of requirements led to an increase of
the overall complexity
Page 16Lanners & Roedig, BMW Group | AWS re:Invent 2018
MICROSERVICES WITH API-FIRST STRATEGY: ENABLES FASTER DEVELOPMENT AND
INCREASEDTRANSPARENCY
Benefits
- Increased transparency for API consumer due to API-
first approach
- Multiple teams can work independently
Challenges and driving factors for going the next
step
- Latency performance to provide our service on a
worldwide basis
- Broader solution scope needed to satisfy business
needs
Teams
Clients
MS
MS
MS
MS
API-First
Page 17Lanners & Roedig, BMW Group | AWS re:Invent 2018
GAME CHANGER: BRINGINGTHE MICROSERVICES IN A “LIFT-THINK-SHIFT”
APPROACHTO AWS
AWS Elastic Beanstalk
Amazon API Gateway
Amazon ECS + AWS Batch
Amazon RDS
AWS-Cloud
Glassfish 4
Microservice
Software Business Logic
API Specification Transformation into API-GW
Transformation from
ORACLEto Postgres
API-Sec. Auth. Information
Dockerizethe business logic
Specifications
WEB-EAM Master Solution
On-Premises Off-Premises
API Interface (generated)
Authentication Information
Docker + GF4
Microservice DB
Software Business Logic
Rewrite import procedures
from PL/SQLto Java
Microservice DB
Import Job
Docker
Software Import Job
Page 18Lanners & Roedig, BMW Group | AWS re:Invent 2018
WE DEFINED A SINGLE ENTRY POINT TO OUR SERVICES
AWS
API Gateway
AWS
CloudFront
Amazon
Route 53
AWS
Lambda
AWS
DynamoDB
Elastic Beanstalk Environment
Network Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
Route 53
VPC Link
EB Environment
Microservice A
Amazon
EC2
Proxy
Page 19Lanners & Roedig, BMW Group | AWS re:Invent 2018
OUR BASE TECH STACK FOR MICROSERVICES ON BEANSTALK
Elastic Beanstalk Environment
Application
Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
EC2
Auto Scaling Group
Amazon RDS
(Multi AZ)
DB Subnet A/B
Security Group
Security Group
Microservice A
nstalk Environment
d
B App Subnet A/B
Amazon
Route 53
Amazon
EC2
Proxy
Introduction
Architecture overview
Architecture deep dives
1
2
3
Conclusion4
Architecture deep dives3
Service discovery
AWS Lambda CI/CD
Offline data processing
Advanced Lambda use case
Environments on demand
Architecture deep dives3
Service discovery
AWS Lambda CI/CD
Offline data processing
Advanced Lambda use case
Environments on demand
Page 23Lanners & Roedig, BMW Group | AWS re:Invent 2018
AWS
API Gateway
AWS
CloudFront
AWS
Route 53
AWS
Lambda
AWS
DynamoDB
ENHANCED FLEXIBILITYTHROUGH DNS-BASED SERVICE DISCOVERY
Elastic Beanstalk Environment
Network Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
Route 53
VPC Link
EB Environment
Microservice A
Amazon
EC2
Proxy
Page 24Lanners & Roedig, BMW Group | AWS re:Invent 2018
AWS
API Gateway
AWS
CloudFront
AWS
Route 53
AWS
Lambda
AWS
DynamoDB
ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY.
Elastic Beanstalk Environment
Network Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
Route 53
VPC Link
EB Environment
Microservice A
Amazon
EC2
Proxy
EB Environment
Microservice B
EB Environment
Microservice C
Page 25Lanners & Roedig, BMW Group | AWS re:Invent 2018
AWS
API Gateway
AWS
CloudFront
AWS
Route 53
AWS
Lambda
AWS
DynamoDB
ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY.
Elastic Beanstalk Environment
Network Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
Route 53
VPC Link
Amazon
EC2
EB Environment
Microservice A
Proxy
Page 26Lanners & Roedig, BMW Group | AWS re:Invent 2018
AWS
API Gateway
AWS
CloudFront
AWS
Route 53
AWS
Lambda
AWS
DynamoDB
ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY.
Elastic Beanstalk Environment
Network Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
Route 53
VPC Link
Amazon
EC2
EB Environment
Microservice A
Proxy
EB Environment
Microservice A
Weighted
Routing
99%
1%
Page 27Lanners & Roedig, BMW Group | AWS re:Invent 2018
AWS
API Gateway
AWS
CloudFront
AWS
Route 53
AWS
Lambda
AWS
DynamoDB
ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY.
Elastic Beanstalk Environment
Network Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
Route 53
VPC Link
Amazon
EC2
Proxy
EB Environment
Microservice A
Weighted
Routing
100%
EB Environment
Microservice A
Page 28Lanners & Roedig, BMW Group | AWS re:Invent 2018
AWS
API Gateway
AWS
CloudFront
AWS
Route 53
AWS
Lambda
AWS
DynamoDB
ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY.
Elastic Beanstalk Environment
Network Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
Route 53
VPC Link
Amazon
EC2
Proxy
Weighted
Routing
EB Environment
Microservice A
99%
Other tech stack
Microservice A
1%
Page 29Lanners & Roedig, BMW Group | AWS re:Invent 2018
AWS
API Gateway
AWS
CloudFront
AWS
Route 53
AWS
Lambda
AWS
DynamoDB
ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY.
Elastic Beanstalk Environment
Network Load
Balancer
ELB Subnet A/B App Subnet A/B
Amazon
Route 53
VPC Link
Amazon
EC2
Proxy
Weighted
Routing
Other tech stack
Microservice A
100%
Architecture deep dives3
Service discovery
AWS Lambda CI/CD
Offline data processing
Advanced Lambda use case
Environments on demand
Page 31Lanners & Roedig, BMW Group | AWS re:Invent 2018
THE AUTOMATED CI/CD-PIPELINE ALLOWS US TO
SAFELYDEPLOYNEW LAMBDA FUNCTIONS Git
- Lambda code
- AWS CloudFormation
- Jenkinsfile
git
AWS
CodeDeploy
AWS
CloudFormation
Amazon
S3
Jenkins
Build and
upload
Stack
create/update
AWS CloudFormation
- Creates new Lambda version
- Creates a new alias
AWS CodeDeploy:
- Canary deployment (e.g. 10/90)
- Rollback with Amazon
CloudWatch Metric
Amazon
CloudWatch
10%
Code V2
Lambda
90%
Code V1
Architecture deep dives3
Service discovery
AWS Lambda CI/CD
Offline data processing
Advanced Lambda use case
Environments on demand
Page 33Lanners & Roedig, BMW Group | AWS re:Invent 2018
DATA IMPORTS NEED TO BE
COORDINATED WORLDWIDE
Microservice A
On-Premises
Data sources
On-Premises
Data sources
Microservice B
Microservice D
import
import
import
Microservice C
aggregate
aggregate
10:20 pm
10:30 pm
10:40 pm
10:50 pm
11:00 pm
11:10 pm
05:20 am
05:30 am
05:40 am
05:50 am
06:00 am
06:10 am
06:20 am
UTC+0
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
A
B
D
C
Eventual
consistency
Germany Austria France Spain
USA Canada Mexico
...
...
UTC+1
UTC-6
Data processing per day
Page 34Lanners & Roedig, BMW Group | AWS re:Invent 2018
HOW WE CONTINUOUSLYIMPORT DATA FROM ON-PREMISES DATA SOURCES
Amazon
ECS
ment
bnet A/B
zon
C2
ing Group
Amazon RDS
(Multi AZ)
DB Subnet A/B
Security Group
y Group
Microservice A CloudWatch Event
AWS
Lambda
Trigger
Lambda
AWS Batch
Queue
Tasks
On-Premises
Data
Sources
Execute Task and
Import Data
Create
Job with
Dependencies
A
B
C
Page 35Lanners & Roedig, BMW Group | AWS re:Invent 2018
HOW WE CONTINUOUSLYIMPORT DATA FROM ON-PREMISES DATA SOURCES
Amazon
ECS
ment
bnet A/B
zon
C2
ing Group
Amazon RDS
(Multi AZ)
DB Subnet A/B
Security Group
y Group
Microservice A CloudWatch Event
AWS
Lambda
Trigger
Lambda
AWS Batch
Queue
Tasks
Create
Job with
Dependencies
A
B
C
Amazon ECR
Architecture deep dives3
Service discovery
AWS Lambda CI/CD
Offline data processing
Advanced Lambda use case
Environments on demand
Page 37Lanners & Roedig, BMW Group | AWS re:Invent 2018
LEVERAGE AWS LAMBDA TO PERFORM THOUSANDS
OF VEHICLES CONSTRUCTABILITYCHECKS Use case
• Purpose-driven calculation
• Fast response
AWS Lambda
Orchestration
Amazon S3
Vehicle product data
and constructability
rules
Request
Response
AWS Lambda
Constructability
Check
AWS Lambda
Constructability
Check
AWS Lambda
Constructability
Check
.
.
.
Solution
• Spawn parallel Lambdas
Limits
• Restricted parallel
executions
• Reusage of hot lambdas
• Caching prevents
recalculation
• Consider the costs
Architecture deep dives3
Service discovery
AWS Lambda CI/CD
Offline data processing
Advanced Lambda use case
Environments on demand
Page 39Lanners & Roedig, BMW Group | AWS re:Invent 2018
ON-DEMAND DEVELOPMENT ENVIRONMENTS ARE AN
ESSENTIAL PART OF OUR AUTOMATED TEST PROCESS
Jenkinsgit
AWS
CloudFormation
Stack(s)
On-demand stack for feature branch
Key Facts:
• Gitflow workflow
• Full stack “on demand”
Benefits
• Teams are not blocked
• Isolated testing
• Verification of AWS
CloudFormation code
• Happy Dev teams
Trigger
create
stacks
deploy
feature branch
Microservice with
feature branchAmazon API
Gateway
Amazon
Route 53
Network Load
Balancer
Amazon
Route 53
Introduction
Architecture overview
Architecture deep dives
1
2
3
Conclusion4
Page 41Lanners & Roedig, BMW Group | AWS re:Invent 2018
WE INTRODUCED GAMEDAYS TO TRAIN OUR OPERATION TEAM TO BE WELL
PREPARED FOR POTENTIAL PRODUCTION PROBLEMS
§ Solve real production scenarios
§ Gamification is used through scoring and
leaderboards
§ Chaos Monkey Team brings fun into the situation
§ Each team gains points for
§ Availability of the system
§ Proposed improvements for DevOps-Cycle
Page 42Lanners & Roedig, BMW Group | AWS re:Invent 2018
FEEDBACK AFTER THE FIRST GAMEDAY
The gameday showed that it’s a great opportunity
to deepen the transferred knowledge in a fun way
and to gain hands on experience through
simulated incidents for the operation work.
“
Operationsteam, March 2018
„
Page 43Lanners & Roedig, BMW Group | AWS re:Invent 2018
LESSONS LEARNED FROM THE TRANSITION TO AWS
• Don’t build a distributed monolithic application
• Don’t try to make it too perfect
• Stop talking, start building
• Continuous learning and adaptation
• Be aware of AWS soft & hard limits, and build your architecture accordingly
• Doing the transformation in-house was a game changer
• Consider AWS Professional Services as a coach at the beginning of your transition
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Best practices
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Start with domain-driven design
• Focus on the core domain
• Put a domain model at the center
• Collaborate between
technical and domain experts
Image: Eric Evans, CC-BY-25
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Adopt microservices principles
Do one
thing wellIndependent
Decentralized
Black box
Polyglot
You build it, you run it
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Adopt the three ways of DevOps
1. Systems thinking
2. Amplify feedback loops
3. Culture of continual
experimentation and
learning
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Adopt the three ways of DevOps
1. Systems thinking
2. Amplify feedback loops
3. Culture of continual
experimentation and
learning
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Adopt the three ways of DevOps
1. Systems thinking
2. Amplify feedback loops
3. Culture of continual
experimentation and
learning
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Adopt the three ways of DevOps
1. Systems thinking
2. Amplify feedback loops
3. Culture of continual
experimentation and
learning
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Adopt the three ways of DevOps
1. Systems thinking
2. Amplify feedback loops
3. Culture of continual
experimentation and
learning
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Simple serverless microservice with AWS Lambda
Static
content
User interface Microservices Data store
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Simple serverless microservice with containers
Static
content
User interface Microservices Data store
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Simple messaging between microservices
Message
Bus
Important
event
Important
event
Provider
Microservice A
SNS Topic A Message
queue
Consumer
Microservice B
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
app-dev3à 10.1.0.8
app1-tst à 10.1.0.11
db1-tst à 10.1.0.14
app2 à 10.1.0.16
db2 à 10.1.0.18
my-app à 10.1.0.20
websrv1à 10.1.0.1
websrv2à 10.1.0.2
websrv3à 10.1.0.4
app-dev1à 10.1.0.9
app-dev2à 10.1.0.5
db-devà 10.1.0.19
Simple service discovery using Amazon Route 53
app-dev3à 10.1.0.8
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Wrap-up/summary
Monoliths aren’t necessarily bad ― in the beginning
Moving to microservices has a lot of advantages
Become a Builder: learn, build, experiment, iterate
Lots of best practices available
Domain-driven design, microservices, DevOps
AWS managed services help make stuff easier
AWS Lambda, Amazon API Gateway, Amazon ECS, Amazon Route 53, and friends
Work with AWS Professional Services, AWS Support, and AWS partners
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveJudy Breedlove
 
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...AWS Korea 금융산업팀
 
Az 104 session 2 implement and manage azure webapps and container
Az 104 session 2 implement and manage azure webapps and containerAz 104 session 2 implement and manage azure webapps and container
Az 104 session 2 implement and manage azure webapps and containerAzureEzy1
 
AWS Summit Seoul 2023 |Datadog을 활용한 AWS 서버리스 Observability
AWS Summit Seoul 2023 |Datadog을 활용한 AWS 서버리스 ObservabilityAWS Summit Seoul 2023 |Datadog을 활용한 AWS 서버리스 Observability
AWS Summit Seoul 2023 |Datadog을 활용한 AWS 서버리스 ObservabilityAmazon Web Services Korea
 
Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...
Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...
Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...Simplilearn
 
Executing a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSExecuting a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSAmazon Web Services
 
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...Morgan Simonsen
 
Migrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureMigrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureChris Dufour
 
VMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWS
VMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWSVMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWS
VMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWSAmazon Web Services Korea
 
Cloud Cloud Cloud
Cloud Cloud CloudCloud Cloud Cloud
Cloud Cloud Cloudkdalma
 
Introduction to AWS (Amazon Web Services)
Introduction to AWS (Amazon Web Services)Introduction to AWS (Amazon Web Services)
Introduction to AWS (Amazon Web Services)Albert Suwandhi
 
Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )Harish Ganesan
 

What's hot (20)

API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspective
 
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
 
AWS Technical Essentials Day
AWS Technical Essentials DayAWS Technical Essentials Day
AWS Technical Essentials Day
 
Cloud Migration Workshop
Cloud Migration WorkshopCloud Migration Workshop
Cloud Migration Workshop
 
Welcome to the AWS Cloud
Welcome to the AWS CloudWelcome to the AWS Cloud
Welcome to the AWS Cloud
 
Serverless Architectures.pdf
Serverless Architectures.pdfServerless Architectures.pdf
Serverless Architectures.pdf
 
Az 104 session 2 implement and manage azure webapps and container
Az 104 session 2 implement and manage azure webapps and containerAz 104 session 2 implement and manage azure webapps and container
Az 104 session 2 implement and manage azure webapps and container
 
Cloud Migration Strategy - IT Transformation with Cloud
Cloud Migration Strategy - IT Transformation with CloudCloud Migration Strategy - IT Transformation with Cloud
Cloud Migration Strategy - IT Transformation with Cloud
 
AWS Summit Seoul 2023 |Datadog을 활용한 AWS 서버리스 Observability
AWS Summit Seoul 2023 |Datadog을 활용한 AWS 서버리스 ObservabilityAWS Summit Seoul 2023 |Datadog을 활용한 AWS 서버리스 Observability
AWS Summit Seoul 2023 |Datadog을 활용한 AWS 서버리스 Observability
 
Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...
Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...
Cloud Computing For Beginners | Cloud Computing Explained | Cloud Computing T...
 
Migration Planning
Migration PlanningMigration Planning
Migration Planning
 
Executing a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWSExecuting a Large-Scale Migration to AWS
Executing a Large-Scale Migration to AWS
 
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
 
Migrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureMigrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft Azure
 
VMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWS
VMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWSVMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWS
VMware on AWS를 통한 하이브리드 클라우드 구축 적용 - 홍정진, AWS Partner SA/ VMC on AWS
 
Cloud Cloud Cloud
Cloud Cloud CloudCloud Cloud Cloud
Cloud Cloud Cloud
 
Entel SAP on Huawei Cloud.pdf
Entel SAP on Huawei Cloud.pdfEntel SAP on Huawei Cloud.pdf
Entel SAP on Huawei Cloud.pdf
 
Introduction to AWS (Amazon Web Services)
Introduction to AWS (Amazon Web Services)Introduction to AWS (Amazon Web Services)
Introduction to AWS (Amazon Web Services)
 
Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )
 
AWS Foundations
AWS FoundationsAWS Foundations
AWS Foundations
 

Similar to Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:Invent 2018

Building Well-Architected .NET Applications on AWS (WIN326) - AWS re:Invent 2018
Building Well-Architected .NET Applications on AWS (WIN326) - AWS re:Invent 2018Building Well-Architected .NET Applications on AWS (WIN326) - AWS re:Invent 2018
Building Well-Architected .NET Applications on AWS (WIN326) - AWS re:Invent 2018Amazon Web Services
 
Deep Dive into the AWS Connected Vehicle Reference Solution (AMT303) - AWS re...
Deep Dive into the AWS Connected Vehicle Reference Solution (AMT303) - AWS re...Deep Dive into the AWS Connected Vehicle Reference Solution (AMT303) - AWS re...
Deep Dive into the AWS Connected Vehicle Reference Solution (AMT303) - AWS re...Amazon Web Services
 
Serverless Computing How to Innovate Faster
Serverless Computing How to Innovate FasterServerless Computing How to Innovate Faster
Serverless Computing How to Innovate FasterAmazon Web Services
 
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018Amazon Web Services
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Amazon Web Services
 
Airbus Goes Serverless with AWS to Improve Fleet Operations (MFG315) - AWS re...
Airbus Goes Serverless with AWS to Improve Fleet Operations (MFG315) - AWS re...Airbus Goes Serverless with AWS to Improve Fleet Operations (MFG315) - AWS re...
Airbus Goes Serverless with AWS to Improve Fleet Operations (MFG315) - AWS re...Amazon Web Services
 
IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM
 
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...Amazon Web Services
 
Go Fast and Remain Secure: How Millennium Enables Developers and Upholds Secu...
Go Fast and Remain Secure: How Millennium Enables Developers and Upholds Secu...Go Fast and Remain Secure: How Millennium Enables Developers and Upholds Secu...
Go Fast and Remain Secure: How Millennium Enables Developers and Upholds Secu...Amazon Web Services
 
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Amazon Web Services
 
Serverless applications with AWS
Serverless applications with AWSServerless applications with AWS
Serverless applications with AWSjavier ramirez
 
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...Amazon Web Services
 
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...Amazon Web Services
 
Deploying critical Microsoft workloads on AWS at Capital One - SDD337 - AWS r...
Deploying critical Microsoft workloads on AWS at Capital One - SDD337 - AWS r...Deploying critical Microsoft workloads on AWS at Capital One - SDD337 - AWS r...
Deploying critical Microsoft workloads on AWS at Capital One - SDD337 - AWS r...Amazon Web Services
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayAmazon Web Services
 
Performing serverless analytics in AWS Glue - ADB202 - Chicago AWS Summit
Performing serverless analytics in AWS Glue - ADB202 - Chicago AWS SummitPerforming serverless analytics in AWS Glue - ADB202 - Chicago AWS Summit
Performing serverless analytics in AWS Glue - ADB202 - Chicago AWS SummitAmazon Web Services
 
Modern Applications Development on AWS
Modern Applications Development on AWSModern Applications Development on AWS
Modern Applications Development on AWSBoaz Ziniman
 
Hosting .NET Applications on AWS - AWS Federal Pop-Up Loft
Hosting .NET Applications on AWS  - AWS Federal Pop-Up LoftHosting .NET Applications on AWS  - AWS Federal Pop-Up Loft
Hosting .NET Applications on AWS - AWS Federal Pop-Up LoftAmazon Web Services
 
Dynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the futureDynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the futureDynatrace
 

Similar to Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:Invent 2018 (20)

Building Well-Architected .NET Applications on AWS (WIN326) - AWS re:Invent 2018
Building Well-Architected .NET Applications on AWS (WIN326) - AWS re:Invent 2018Building Well-Architected .NET Applications on AWS (WIN326) - AWS re:Invent 2018
Building Well-Architected .NET Applications on AWS (WIN326) - AWS re:Invent 2018
 
Deep Dive into the AWS Connected Vehicle Reference Solution (AMT303) - AWS re...
Deep Dive into the AWS Connected Vehicle Reference Solution (AMT303) - AWS re...Deep Dive into the AWS Connected Vehicle Reference Solution (AMT303) - AWS re...
Deep Dive into the AWS Connected Vehicle Reference Solution (AMT303) - AWS re...
 
Serverless Computing How to Innovate Faster
Serverless Computing How to Innovate FasterServerless Computing How to Innovate Faster
Serverless Computing How to Innovate Faster
 
Re cap2018
Re cap2018Re cap2018
Re cap2018
 
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
Airbus Goes Serverless with AWS to Improve Fleet Operations (MFG315) - AWS re...
Airbus Goes Serverless with AWS to Improve Fleet Operations (MFG315) - AWS re...Airbus Goes Serverless with AWS to Improve Fleet Operations (MFG315) - AWS re...
Airbus Goes Serverless with AWS to Improve Fleet Operations (MFG315) - AWS re...
 
IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote
 
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
 
Go Fast and Remain Secure: How Millennium Enables Developers and Upholds Secu...
Go Fast and Remain Secure: How Millennium Enables Developers and Upholds Secu...Go Fast and Remain Secure: How Millennium Enables Developers and Upholds Secu...
Go Fast and Remain Secure: How Millennium Enables Developers and Upholds Secu...
 
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
 
Serverless applications with AWS
Serverless applications with AWSServerless applications with AWS
Serverless applications with AWS
 
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
 
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
 
Deploying critical Microsoft workloads on AWS at Capital One - SDD337 - AWS r...
Deploying critical Microsoft workloads on AWS at Capital One - SDD337 - AWS r...Deploying critical Microsoft workloads on AWS at Capital One - SDD337 - AWS r...
Deploying critical Microsoft workloads on AWS at Capital One - SDD337 - AWS r...
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon Way
 
Performing serverless analytics in AWS Glue - ADB202 - Chicago AWS Summit
Performing serverless analytics in AWS Glue - ADB202 - Chicago AWS SummitPerforming serverless analytics in AWS Glue - ADB202 - Chicago AWS Summit
Performing serverless analytics in AWS Glue - ADB202 - Chicago AWS Summit
 
Modern Applications Development on AWS
Modern Applications Development on AWSModern Applications Development on AWS
Modern Applications Development on AWS
 
Hosting .NET Applications on AWS - AWS Federal Pop-Up Loft
Hosting .NET Applications on AWS  - AWS Federal Pop-Up LoftHosting .NET Applications on AWS  - AWS Federal Pop-Up Loft
Hosting .NET Applications on AWS - AWS Federal Pop-Up Loft
 
Dynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the futureDynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the future
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Building BMW Group’s Customer Engagement Platform on AWS A M T 3 0 5 Constantin Gonzalez Principal Solutions Architect AWS Julian Roedig Principal Solution Architect BMW Group Patrick Lanners Solution Architect BMW Group
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What you’ll get out of this session An introduction to microservices Real-world customer experience from BMW Group Methodology Architecture overview Architecture deep dives Guidelines and resources for your own microservices projects
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Rigid Hard to scale Hard to deploy Locked-in Hard to reuse Easy to break Monoliths
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monolith development lifecycle Developers ReleaseTestBuild Delivery pipelineApp
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Autonomous Specialized Agile Flexible to scale Easy to deploy Freedom Easy to reuse Resilient Microservices
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Microservice development lifecycle Developers Delivery pipelinesServices ReleaseTestBuild ReleaseTestBuild ReleaseTestBuild ReleaseTestBuild ReleaseTestBuild ReleaseTestBuild
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. But how? Migration? Networking? Service discovery? Deployment? Which services?
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 11. Page 11Lanners & Roedig, BMW Group | AWS re:Invent 2018 THE PLATFORM CONSOLIDATES THE VEHICLE PRODUCTS AS SERVICES. ~7 Engines ~12 Colors ~14 Wheels ~11 Upholstery ~7 Trims ~90 Optional Equipment Many possibilitiesto configureyour dream car = OUR PLATFORM CONSOLIDATES THE VEHICLE PRODUCTS AS SERVICES
  • 12. Page 12Lanners & Roedig, BMW Group | AWS re:Invent 2018 EXAMPLES OF FRONT ENDS THAT USE OUR CONFIGURATOR PLATFORM Dealer iPad Configurator bmw.de mini.at bmw-motorrad.de 26+ Systems
  • 13. Page 13Lanners & Roedig, BMW Group | AWS re:Invent 2018 UNIFIED CONFIGURATOR PLATFORM: CENTRAL ENGAGEMENT PLATFORM AS BUSINESS ENABLER Unified Configurator Platform Accessories Product Data Official Technical Data Net-Gross-Price Calculation Virtual Garage Constructability Check Data Import Data Generation Product Data Technical Data … Consumes API ... Technical Calculations Key facts: - RESTful API - Used by ~30 products - Hundreds of Mio API calls per month - Supports all BMW Group brands and markets
  • 15. Page 15Lanners & Roedig, BMW Group | AWS re:Invent 2018 A MONOLITHIC SYSTEM ISN’T BYDEFINITION A BAD THING Monolith Team Clients Benefits - Fast development of a first production-ready MVP - No need to handle the challenges of a distributed system Challenges and driving factors for going the next step - Increased number of requirements led to an increase of the overall complexity
  • 16. Page 16Lanners & Roedig, BMW Group | AWS re:Invent 2018 MICROSERVICES WITH API-FIRST STRATEGY: ENABLES FASTER DEVELOPMENT AND INCREASEDTRANSPARENCY Benefits - Increased transparency for API consumer due to API- first approach - Multiple teams can work independently Challenges and driving factors for going the next step - Latency performance to provide our service on a worldwide basis - Broader solution scope needed to satisfy business needs Teams Clients MS MS MS MS API-First
  • 17. Page 17Lanners & Roedig, BMW Group | AWS re:Invent 2018 GAME CHANGER: BRINGINGTHE MICROSERVICES IN A “LIFT-THINK-SHIFT” APPROACHTO AWS AWS Elastic Beanstalk Amazon API Gateway Amazon ECS + AWS Batch Amazon RDS AWS-Cloud Glassfish 4 Microservice Software Business Logic API Specification Transformation into API-GW Transformation from ORACLEto Postgres API-Sec. Auth. Information Dockerizethe business logic Specifications WEB-EAM Master Solution On-Premises Off-Premises API Interface (generated) Authentication Information Docker + GF4 Microservice DB Software Business Logic Rewrite import procedures from PL/SQLto Java Microservice DB Import Job Docker Software Import Job
  • 18. Page 18Lanners & Roedig, BMW Group | AWS re:Invent 2018 WE DEFINED A SINGLE ENTRY POINT TO OUR SERVICES AWS API Gateway AWS CloudFront Amazon Route 53 AWS Lambda AWS DynamoDB Elastic Beanstalk Environment Network Load Balancer ELB Subnet A/B App Subnet A/B Amazon Route 53 VPC Link EB Environment Microservice A Amazon EC2 Proxy
  • 19. Page 19Lanners & Roedig, BMW Group | AWS re:Invent 2018 OUR BASE TECH STACK FOR MICROSERVICES ON BEANSTALK Elastic Beanstalk Environment Application Load Balancer ELB Subnet A/B App Subnet A/B Amazon EC2 Auto Scaling Group Amazon RDS (Multi AZ) DB Subnet A/B Security Group Security Group Microservice A nstalk Environment d B App Subnet A/B Amazon Route 53 Amazon EC2 Proxy
  • 21. Architecture deep dives3 Service discovery AWS Lambda CI/CD Offline data processing Advanced Lambda use case Environments on demand
  • 22. Architecture deep dives3 Service discovery AWS Lambda CI/CD Offline data processing Advanced Lambda use case Environments on demand
  • 23. Page 23Lanners & Roedig, BMW Group | AWS re:Invent 2018 AWS API Gateway AWS CloudFront AWS Route 53 AWS Lambda AWS DynamoDB ENHANCED FLEXIBILITYTHROUGH DNS-BASED SERVICE DISCOVERY Elastic Beanstalk Environment Network Load Balancer ELB Subnet A/B App Subnet A/B Amazon Route 53 VPC Link EB Environment Microservice A Amazon EC2 Proxy
  • 24. Page 24Lanners & Roedig, BMW Group | AWS re:Invent 2018 AWS API Gateway AWS CloudFront AWS Route 53 AWS Lambda AWS DynamoDB ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY. Elastic Beanstalk Environment Network Load Balancer ELB Subnet A/B App Subnet A/B Amazon Route 53 VPC Link EB Environment Microservice A Amazon EC2 Proxy EB Environment Microservice B EB Environment Microservice C
  • 25. Page 25Lanners & Roedig, BMW Group | AWS re:Invent 2018 AWS API Gateway AWS CloudFront AWS Route 53 AWS Lambda AWS DynamoDB ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY. Elastic Beanstalk Environment Network Load Balancer ELB Subnet A/B App Subnet A/B Amazon Route 53 VPC Link Amazon EC2 EB Environment Microservice A Proxy
  • 26. Page 26Lanners & Roedig, BMW Group | AWS re:Invent 2018 AWS API Gateway AWS CloudFront AWS Route 53 AWS Lambda AWS DynamoDB ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY. Elastic Beanstalk Environment Network Load Balancer ELB Subnet A/B App Subnet A/B Amazon Route 53 VPC Link Amazon EC2 EB Environment Microservice A Proxy EB Environment Microservice A Weighted Routing 99% 1%
  • 27. Page 27Lanners & Roedig, BMW Group | AWS re:Invent 2018 AWS API Gateway AWS CloudFront AWS Route 53 AWS Lambda AWS DynamoDB ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY. Elastic Beanstalk Environment Network Load Balancer ELB Subnet A/B App Subnet A/B Amazon Route 53 VPC Link Amazon EC2 Proxy EB Environment Microservice A Weighted Routing 100% EB Environment Microservice A
  • 28. Page 28Lanners & Roedig, BMW Group | AWS re:Invent 2018 AWS API Gateway AWS CloudFront AWS Route 53 AWS Lambda AWS DynamoDB ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY. Elastic Beanstalk Environment Network Load Balancer ELB Subnet A/B App Subnet A/B Amazon Route 53 VPC Link Amazon EC2 Proxy Weighted Routing EB Environment Microservice A 99% Other tech stack Microservice A 1%
  • 29. Page 29Lanners & Roedig, BMW Group | AWS re:Invent 2018 AWS API Gateway AWS CloudFront AWS Route 53 AWS Lambda AWS DynamoDB ENHANCED FLEXIBILITYTHROUGH DNS BASED SERVICE DISCOVERY. Elastic Beanstalk Environment Network Load Balancer ELB Subnet A/B App Subnet A/B Amazon Route 53 VPC Link Amazon EC2 Proxy Weighted Routing Other tech stack Microservice A 100%
  • 30. Architecture deep dives3 Service discovery AWS Lambda CI/CD Offline data processing Advanced Lambda use case Environments on demand
  • 31. Page 31Lanners & Roedig, BMW Group | AWS re:Invent 2018 THE AUTOMATED CI/CD-PIPELINE ALLOWS US TO SAFELYDEPLOYNEW LAMBDA FUNCTIONS Git - Lambda code - AWS CloudFormation - Jenkinsfile git AWS CodeDeploy AWS CloudFormation Amazon S3 Jenkins Build and upload Stack create/update AWS CloudFormation - Creates new Lambda version - Creates a new alias AWS CodeDeploy: - Canary deployment (e.g. 10/90) - Rollback with Amazon CloudWatch Metric Amazon CloudWatch 10% Code V2 Lambda 90% Code V1
  • 32. Architecture deep dives3 Service discovery AWS Lambda CI/CD Offline data processing Advanced Lambda use case Environments on demand
  • 33. Page 33Lanners & Roedig, BMW Group | AWS re:Invent 2018 DATA IMPORTS NEED TO BE COORDINATED WORLDWIDE Microservice A On-Premises Data sources On-Premises Data sources Microservice B Microservice D import import import Microservice C aggregate aggregate 10:20 pm 10:30 pm 10:40 pm 10:50 pm 11:00 pm 11:10 pm 05:20 am 05:30 am 05:40 am 05:50 am 06:00 am 06:10 am 06:20 am UTC+0 A B D C A B D C A B D C A B D C A B D C A B D C A B D C A B D C A B D C A B D C A B D C A B D C Eventual consistency Germany Austria France Spain USA Canada Mexico ... ... UTC+1 UTC-6 Data processing per day
  • 34. Page 34Lanners & Roedig, BMW Group | AWS re:Invent 2018 HOW WE CONTINUOUSLYIMPORT DATA FROM ON-PREMISES DATA SOURCES Amazon ECS ment bnet A/B zon C2 ing Group Amazon RDS (Multi AZ) DB Subnet A/B Security Group y Group Microservice A CloudWatch Event AWS Lambda Trigger Lambda AWS Batch Queue Tasks On-Premises Data Sources Execute Task and Import Data Create Job with Dependencies A B C
  • 35. Page 35Lanners & Roedig, BMW Group | AWS re:Invent 2018 HOW WE CONTINUOUSLYIMPORT DATA FROM ON-PREMISES DATA SOURCES Amazon ECS ment bnet A/B zon C2 ing Group Amazon RDS (Multi AZ) DB Subnet A/B Security Group y Group Microservice A CloudWatch Event AWS Lambda Trigger Lambda AWS Batch Queue Tasks Create Job with Dependencies A B C Amazon ECR
  • 36. Architecture deep dives3 Service discovery AWS Lambda CI/CD Offline data processing Advanced Lambda use case Environments on demand
  • 37. Page 37Lanners & Roedig, BMW Group | AWS re:Invent 2018 LEVERAGE AWS LAMBDA TO PERFORM THOUSANDS OF VEHICLES CONSTRUCTABILITYCHECKS Use case • Purpose-driven calculation • Fast response AWS Lambda Orchestration Amazon S3 Vehicle product data and constructability rules Request Response AWS Lambda Constructability Check AWS Lambda Constructability Check AWS Lambda Constructability Check . . . Solution • Spawn parallel Lambdas Limits • Restricted parallel executions • Reusage of hot lambdas • Caching prevents recalculation • Consider the costs
  • 38. Architecture deep dives3 Service discovery AWS Lambda CI/CD Offline data processing Advanced Lambda use case Environments on demand
  • 39. Page 39Lanners & Roedig, BMW Group | AWS re:Invent 2018 ON-DEMAND DEVELOPMENT ENVIRONMENTS ARE AN ESSENTIAL PART OF OUR AUTOMATED TEST PROCESS Jenkinsgit AWS CloudFormation Stack(s) On-demand stack for feature branch Key Facts: • Gitflow workflow • Full stack “on demand” Benefits • Teams are not blocked • Isolated testing • Verification of AWS CloudFormation code • Happy Dev teams Trigger create stacks deploy feature branch Microservice with feature branchAmazon API Gateway Amazon Route 53 Network Load Balancer Amazon Route 53
  • 41. Page 41Lanners & Roedig, BMW Group | AWS re:Invent 2018 WE INTRODUCED GAMEDAYS TO TRAIN OUR OPERATION TEAM TO BE WELL PREPARED FOR POTENTIAL PRODUCTION PROBLEMS § Solve real production scenarios § Gamification is used through scoring and leaderboards § Chaos Monkey Team brings fun into the situation § Each team gains points for § Availability of the system § Proposed improvements for DevOps-Cycle
  • 42. Page 42Lanners & Roedig, BMW Group | AWS re:Invent 2018 FEEDBACK AFTER THE FIRST GAMEDAY The gameday showed that it’s a great opportunity to deepen the transferred knowledge in a fun way and to gain hands on experience through simulated incidents for the operation work. “ Operationsteam, March 2018 „
  • 43. Page 43Lanners & Roedig, BMW Group | AWS re:Invent 2018 LESSONS LEARNED FROM THE TRANSITION TO AWS • Don’t build a distributed monolithic application • Don’t try to make it too perfect • Stop talking, start building • Continuous learning and adaptation • Be aware of AWS soft & hard limits, and build your architecture accordingly • Doing the transformation in-house was a game changer • Consider AWS Professional Services as a coach at the beginning of your transition
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Best practices
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Start with domain-driven design • Focus on the core domain • Put a domain model at the center • Collaborate between technical and domain experts Image: Eric Evans, CC-BY-25
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Adopt microservices principles Do one thing wellIndependent Decentralized Black box Polyglot You build it, you run it
  • 48. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Adopt the three ways of DevOps 1. Systems thinking 2. Amplify feedback loops 3. Culture of continual experimentation and learning
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Adopt the three ways of DevOps 1. Systems thinking 2. Amplify feedback loops 3. Culture of continual experimentation and learning
  • 50. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Adopt the three ways of DevOps 1. Systems thinking 2. Amplify feedback loops 3. Culture of continual experimentation and learning
  • 51. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Adopt the three ways of DevOps 1. Systems thinking 2. Amplify feedback loops 3. Culture of continual experimentation and learning
  • 52. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Adopt the three ways of DevOps 1. Systems thinking 2. Amplify feedback loops 3. Culture of continual experimentation and learning
  • 53. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Simple serverless microservice with AWS Lambda Static content User interface Microservices Data store
  • 54. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Simple serverless microservice with containers Static content User interface Microservices Data store
  • 55. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Simple messaging between microservices Message Bus Important event Important event Provider Microservice A SNS Topic A Message queue Consumer Microservice B
  • 56. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. app-dev3à 10.1.0.8 app1-tst à 10.1.0.11 db1-tst à 10.1.0.14 app2 à 10.1.0.16 db2 à 10.1.0.18 my-app à 10.1.0.20 websrv1à 10.1.0.1 websrv2à 10.1.0.2 websrv3à 10.1.0.4 app-dev1à 10.1.0.9 app-dev2à 10.1.0.5 db-devà 10.1.0.19 Simple service discovery using Amazon Route 53 app-dev3à 10.1.0.8
  • 57. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Wrap-up/summary Monoliths aren’t necessarily bad ― in the beginning Moving to microservices has a lot of advantages Become a Builder: learn, build, experiment, iterate Lots of best practices available Domain-driven design, microservices, DevOps AWS managed services help make stuff easier AWS Lambda, Amazon API Gateway, Amazon ECS, Amazon Route 53, and friends Work with AWS Professional Services, AWS Support, and AWS partners
  • 58. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.