SlideShare uma empresa Scribd logo
1 de 53
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Stephen Liedig
Senior Solutions Architect, WWPS (ANZ), Amazon Web Services
Session #194304
Breaking Down the Monowhat?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
About Me
Senior Solutions Architect
WWPS - Australia and New Zealand
Email: sliedig@amazon.com
Twitter: @sliedigaws
Stephen Liedig
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Monowhat
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
https://imagescart.blogspot.com.au/2013/03/ayers-rock-in-uluru-national-park.html#.Wwp1DFOFMZo
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
https://farm3.static.flickr.com/2874/13827796634_3b70a2f3ba_b.jpg
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The Monolith
“…a single-tiered software application in which the user interface and
data access code are combined into a single program from a single
platform. A monolithic application is self-contained, and independent
from other computing applications.”
- Wikipedia
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Where did they all come from?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monolith = “Traditional” Applications
• Applications developed to “best practices” and standards of the time
• Monolith <> poorly designed
• Applications didn’t need to be or weren’t designed to be distributed
• Application design constrained by resources
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monolith = “Traditional” Applications
Pros:
• At first…
o Simple
o No over-engineering
• In-process latencies
• Single codebase
• Resource efficient at small scale
Cons:
• Modularity is hard to enforce as
app grows
• Can only scale up!
• All or nothing deployment
• Database dependencies
• Long release cycles
• Slow to react to customer demand
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2001
Development transformation at Amazon: 2001+
2001+
monolithic
application + teams
microservices + 2 pizza teams
© 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.
Single-purpose
Connect only through APIs
Connect over HTTPS
Largely “black boxes” to each other
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.
> 60 million deployments a year*
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
*2016 number
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Conway’s Law
“…organizations which design systems ... are
constrained to produce designs which are copies of
the communication structures of these
organizations…”
— M. Conway
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservices
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What microservices are…
“…the microservice architectural style is an approach to developing a
single application as a suite of small services, each running in its own
process and communicating with lightweight mechanisms, often an
HTTP resource API…”
- Martin Fowler
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What microservices are…
“Independently deployable services that work together, modelled around
a business domain…”
-Sam Newman
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What microservices are…
“The technical authority for a business capability”
- Udi Dahan
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Shipping
Inventory
Customer
Service
Accounts
Returns
Invoicing
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How?
Shipping
Inventory
Customer
Service
?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Domain Driven Design
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Domain Driven Design
“Ubiquitous language” –Modelling the language of the
business
Provides guidance about model domains with
entities, value objects, repositories and services
Start reading from Chapter 11: Strategic
Design vs Tactical Design
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Bounded Contexts
• Bounded Contexts are an essential
modeling tool in DDD and microservices
• Identify explicit boundaries around our
understanding of the ubiquitous language
and the things people care about
• Multiple models for a business concept
https://www.martinfowler.com/bliki/BoundedContext.html
Customer
Ticket
Product
Product
Version
Customer
Product
Territory
Opportunity
Pipeline
Sales
Person
Defect
Sales Context Support Context
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Multiple Bounded Contexts
Concept
Contracting with
authors
Managing the
book’s authorship
and editorial
process
Designing the book
layout, including
illustrations
Source: Implementing Domain-Driven Design, Vaughn Vernon
Publishing Example: Book model
Translating the
book into other
languages
Producing the
physical print and/
or electronic
editions
Marketing the book
Selling the book to
resellers and/ or
directly to
consumers
Shipping a physical
book to resellers
and consumer
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Context Maps
Bounded contexts alone don’t provide a global view of your
domain
Context maps deal with mapping different, but related,
Ubiquitous Languages by integrating their Bounded Contexts
Evans and Vernon describe 7 patterns for integrating
bounded contexts
• Shared Kernel
• Customer / Supplier
• Conformist
• Anticorruption Layer
• Separate Ways
• Open / Host Service
• Published Language
Sales Context Support Context
Marketing Context
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Domain Events
• Objects in a domain that represent that something has happened
• Immutable – cannot change the past
• Should be represented as verbs in the past tense, e.g. “customer_created”
• Light weight, correlated by properties that are common across bounded contexts
“customer_id”
• Pattern for bounded context integration - Publish / Subscribe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Coupling
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Managing Dependencies
Loose Coupling / High Cohesion
Encapsulation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Types of coupling
• Afferent (Ca) and Efferent (Ce)
Measurement units of the degree of coupling
Who depends on you?… Who do you depend on?
• Platform Coupling
May be introduced by things like proprietary protocols or components
that are platform specific
• Temporal Coupling
Dealing with time-based dependencies between collaborating system
components, e.g. waiting operations or sequential processing
• Spatial Coupling
Not having to know the location of your collaborating services on the
network and providing failover mechanisms, e.g. Amazon Elastic Load
Balancer
A B
A B
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
There is no loose coupling…
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
There is no loose coupling…
• Coupling is a function of multiple
dimensions
• No loose or tight
• Need to make tradeoffs
Platform
Spatial
TemporalAfferent
Efferent
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Messaging & Messaging Patterns
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Simple Queue Service (Amazon SQS)
• Simple enough to get started in minutes
• Highly reliable, always available, and durable
• Continuous scale allows burst loads with no excess
capacity
• Integrated with AWS platform with monitoring and queue
management
• Comprehensive security and compliance
“Worry-free managed
queues - simply and reliably
distribute any volume of
messages between
endpoints"
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon SQS Features
High durability
with messages
persisted across
multiple AZs
High availability
all AWS regions
Continuous and
unlimited scaling
Simplified
troubleshooting
with a Dead
Queue
Integrated with
other AWS
as a destination
> aws sqs create-queue --queue-name MyQueue
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon SQS as an Event Source (SQSaaES)
• Lambda polls the queue and when it detects new messages,
it invokes your Lambda function by passing the messages as
an event
• Full control over the queue processing settings such as
visibility timeouts, delay queues, redrive policy, etc. Supports
batch processing
• Lambda will gradually increase the queue polling rate as long
as queue polling results in fetching of new messages
• Supports Identity and Resource based policy
3. Lambda invoked
Lambda
function
SQS
Queue
2. Pull messages
from queue
1. Message arrives
on queue
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Simple Notification Service (Amazon SNS)
• Highly reliable, available, and durable pub-sub service
that delivers messages to multiple destinations,
including system and mobile endpoints
• Continuous scale allows burst loads with no excess
capacity
• Integrated with AWS platform delivering messages
from services to subscribing endpoints
• Comprehensive monitoring, security, and compliance
“Simply and reliably distribute
any volume of messages and
event notifications anywhere”
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
> aws sns create-topic --name my-topic
Amazon SNS Key Features
High durability
with messages
persisted across
multiple AZs
High availability
all AWS regions
Continuous and
unlimited scaling
Simplify
development with
filtered message
delivery
Easy monitoring
with CloudWatch,
with alarming
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publish / Subscribe
• One logical publisher for a given domain event
• Fully enforces a consistent boundary
• Addresses multiple types of coupling
SNS
Topic
Service B
Service C
Service D
Service A
• Each subscriber can react to
domain events in their own
bounded context
• SNS supports multiple
subscription channels – Lambda,
SQS, HTTP/S, Email, SMS,
Mobile Push
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mapping events to topics
Grey
Topic
Attr=
Blue
Grey
Publisher
Blue
Topic
Blue
Grey
Blue
Blue
Grey
Subscribers
Service C
Service D
Service E
Service F
Message type mapped to logical destination
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon SNS Message Filters
• Publishers do not need to route message
• Subscribers do not need to filter for message of interest
• Lowers cost
SNS
Topic
Attr=
Grey
Attr=
Blue
Attr=
Blue
Attr=
Grey
Attr=
Blue
Attr=
Grey
Filter Policy
Attr=Grey
Filter Policy
Attr=Blue
Publisher
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Message Filtering Operators
Subscription filter policy
{"sport": ["rugby"]}
matches message attribute
{"sport": "rugby"}
Exact matching on string
values (Whitelisting)
Anything-but matching on
string values (Blacklisting)
Prefix matching on
string values
Exact matching on
numeric values
Range matching on
numeric values
Subscription filter policy
{"sport": [{"anything-but":
"rugby"}]}
matches message attributes such as
{"sport": "baseball"}
and
{"sport": "basketball"}
and
{"sport": "football"}
but not
{"sport": "rugby"}
Subscription filter policy
{"sport": [{"prefix": "bas"}]}
matches message attributes such as
{"sport": "baseball"}
and
{"sport": "basketball"}
Subscription filter policy
{"balance": [{"numeric":
["=", 301.5]}]}
matches message attributes
{"balance": 301.500}
and
{"balance": 3.015e2}
Subscription filter policy
{"balance": [{"numeric":
["<", 0]}]}
matches negative numbers only, and
{"balance": [{"numeric":
[">", 0, "<=", 150]}]}
matches any positive number up to 150.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Long Running Processes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Coordination by Function Chaining
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“I want
try/catch/finally”
“I want to
select tasks based on data”
“I want to
retry failed tasks”
A
B C
A
?
“I want to
sequence tasks”
BA
“I want to
run tasks in parallel”
CBA
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Step Functions
…makes it easy to coordinate the
components of distributed
applications using visual workflows
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Step Functions
“Serverless” workflow management with zero
administration
• Coordinate the components of distributed
applications and microservices using visual
workflows
• Keeps the orchestration out of the code!
• State management
• Automatically triggers and tracks each step,
and retries when there are errors
• Logs the state of each step, so when things do
go wrong, you can diagnose and debug
problems quickly
Task
Choice
Fail
Parallel
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microservices messaging patterns
One-Way
Lambda
function
SQS Queue
Return Address
SQS QueueLambda
function
Request / Response
Lambda
function
SQS Queue
SNS
Topic
Service B
Service C
Service D
Service A
Publish / Subscribe
request
response
request
response
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Final thoughts
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microviews
• Don’t forget about the user interface!
• If a microservice is the technical
authority for a business capability
then it is also the authority on how
interacts with the user
• Leverage composite user interfaces
B
A
C D
E
A B C D E
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
https://imagescart.blogspot.com.au/2013/03/ayers-rock-in-uluru-national-park.html#.Wwp1DFOFMZo
Summary
Chances areYAGNI! Not everyone needs Microservices. If you have a well defined domain
then you don’t have to break the monolith apart entirely.
Don’t use a big bang approach. It’s an evolutionary journey.
Consider a monolith-first approach. Identify your bounded contexts first.
Lead your microservices strategy from strategic perspective. Model your microservices
around business capabilities.
Leverage messaging services and publish subscribe patterns to provide strict boundaries
around your bounded contexts and use them to manage coupling inside your application.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you

Mais conteúdo relacionado

Mais procurados

Strengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfStrengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfAmazon Web Services
 
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018Boaz Ziniman
 
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...Amazon Web Services
 
Enabling New Retail Customer Experiences with Big Data - AWS Online Tech Talks
Enabling New Retail Customer Experiences with Big Data - AWS Online Tech TalksEnabling New Retail Customer Experiences with Big Data - AWS Online Tech Talks
Enabling New Retail Customer Experiences with Big Data - AWS Online Tech TalksAmazon Web Services
 
AWS Partner Network 2019 and Beyond (GPSBUS207) - AWS re:Invent 2018
AWS Partner Network 2019 and Beyond (GPSBUS207) - AWS re:Invent 2018AWS Partner Network 2019 and Beyond (GPSBUS207) - AWS re:Invent 2018
AWS Partner Network 2019 and Beyond (GPSBUS207) - AWS re:Invent 2018Amazon Web Services
 
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Amazon Web Services
 
AWSome Day Online Conference 2018 - Module 3
AWSome Day Online Conference 2018 - Module 3AWSome Day Online Conference 2018 - Module 3
AWSome Day Online Conference 2018 - Module 3Amazon Web Services
 
Running Mission Critical Workloads on AWS
Running Mission Critical Workloads on AWSRunning Mission Critical Workloads on AWS
Running Mission Critical Workloads on AWSAmazon Web Services
 
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...Amazon Web Services
 
Accelerate Digital Transformation for Telecom Operators with Cloud-Native Amd...
Accelerate Digital Transformation for Telecom Operators with Cloud-Native Amd...Accelerate Digital Transformation for Telecom Operators with Cloud-Native Amd...
Accelerate Digital Transformation for Telecom Operators with Cloud-Native Amd...Amazon Web Services
 
Build Your Own Royal Wedding Celebrity Viewing Experience (CTD401) - AWS re:I...
Build Your Own Royal Wedding Celebrity Viewing Experience (CTD401) - AWS re:I...Build Your Own Royal Wedding Celebrity Viewing Experience (CTD401) - AWS re:I...
Build Your Own Royal Wedding Celebrity Viewing Experience (CTD401) - AWS re:I...Amazon Web Services
 
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018Amazon Web Services
 
SaaS Velocity = Product + Metrics - Tom LeGrice - AWS TechShift ANZ 2018
SaaS Velocity = Product + Metrics - Tom LeGrice - AWS TechShift ANZ 2018SaaS Velocity = Product + Metrics - Tom LeGrice - AWS TechShift ANZ 2018
SaaS Velocity = Product + Metrics - Tom LeGrice - AWS TechShift ANZ 2018Amazon Web Services
 
Five New Security Automations Using AWS Security Services & Open Source (SEC4...
Five New Security Automations Using AWS Security Services & Open Source (SEC4...Five New Security Automations Using AWS Security Services & Open Source (SEC4...
Five New Security Automations Using AWS Security Services & Open Source (SEC4...Amazon Web Services
 
How Disney Streaming Services and TrueCar Deliver Web Applications for Scale,...
How Disney Streaming Services and TrueCar Deliver Web Applications for Scale,...How Disney Streaming Services and TrueCar Deliver Web Applications for Scale,...
How Disney Streaming Services and TrueCar Deliver Web Applications for Scale,...Amazon Web Services
 
Hybrid Identity Management and Security for Large Enterprises (ENT307-R2) - A...
Hybrid Identity Management and Security for Large Enterprises (ENT307-R2) - A...Hybrid Identity Management and Security for Large Enterprises (ENT307-R2) - A...
Hybrid Identity Management and Security for Large Enterprises (ENT307-R2) - A...Amazon Web Services
 
Building a Customer-Centric Contact Center in a Regulated Environment
Building a Customer-Centric Contact Center in a Regulated EnvironmentBuilding a Customer-Centric Contact Center in a Regulated Environment
Building a Customer-Centric Contact Center in a Regulated EnvironmentAmazon Web Services
 
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...Amazon Web Services
 
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...Amazon Web Services
 
Enhance customer experience with Conversational Interfaces
Enhance customer experience with Conversational InterfacesEnhance customer experience with Conversational Interfaces
Enhance customer experience with Conversational InterfacesAmazon Web Services
 

Mais procurados (20)

Strengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfStrengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdf
 
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
 
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
 
Enabling New Retail Customer Experiences with Big Data - AWS Online Tech Talks
Enabling New Retail Customer Experiences with Big Data - AWS Online Tech TalksEnabling New Retail Customer Experiences with Big Data - AWS Online Tech Talks
Enabling New Retail Customer Experiences with Big Data - AWS Online Tech Talks
 
AWS Partner Network 2019 and Beyond (GPSBUS207) - AWS re:Invent 2018
AWS Partner Network 2019 and Beyond (GPSBUS207) - AWS re:Invent 2018AWS Partner Network 2019 and Beyond (GPSBUS207) - AWS re:Invent 2018
AWS Partner Network 2019 and Beyond (GPSBUS207) - AWS re:Invent 2018
 
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
 
AWSome Day Online Conference 2018 - Module 3
AWSome Day Online Conference 2018 - Module 3AWSome Day Online Conference 2018 - Module 3
AWSome Day Online Conference 2018 - Module 3
 
Running Mission Critical Workloads on AWS
Running Mission Critical Workloads on AWSRunning Mission Critical Workloads on AWS
Running Mission Critical Workloads on AWS
 
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
 
Accelerate Digital Transformation for Telecom Operators with Cloud-Native Amd...
Accelerate Digital Transformation for Telecom Operators with Cloud-Native Amd...Accelerate Digital Transformation for Telecom Operators with Cloud-Native Amd...
Accelerate Digital Transformation for Telecom Operators with Cloud-Native Amd...
 
Build Your Own Royal Wedding Celebrity Viewing Experience (CTD401) - AWS re:I...
Build Your Own Royal Wedding Celebrity Viewing Experience (CTD401) - AWS re:I...Build Your Own Royal Wedding Celebrity Viewing Experience (CTD401) - AWS re:I...
Build Your Own Royal Wedding Celebrity Viewing Experience (CTD401) - AWS re:I...
 
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
 
SaaS Velocity = Product + Metrics - Tom LeGrice - AWS TechShift ANZ 2018
SaaS Velocity = Product + Metrics - Tom LeGrice - AWS TechShift ANZ 2018SaaS Velocity = Product + Metrics - Tom LeGrice - AWS TechShift ANZ 2018
SaaS Velocity = Product + Metrics - Tom LeGrice - AWS TechShift ANZ 2018
 
Five New Security Automations Using AWS Security Services & Open Source (SEC4...
Five New Security Automations Using AWS Security Services & Open Source (SEC4...Five New Security Automations Using AWS Security Services & Open Source (SEC4...
Five New Security Automations Using AWS Security Services & Open Source (SEC4...
 
How Disney Streaming Services and TrueCar Deliver Web Applications for Scale,...
How Disney Streaming Services and TrueCar Deliver Web Applications for Scale,...How Disney Streaming Services and TrueCar Deliver Web Applications for Scale,...
How Disney Streaming Services and TrueCar Deliver Web Applications for Scale,...
 
Hybrid Identity Management and Security for Large Enterprises (ENT307-R2) - A...
Hybrid Identity Management and Security for Large Enterprises (ENT307-R2) - A...Hybrid Identity Management and Security for Large Enterprises (ENT307-R2) - A...
Hybrid Identity Management and Security for Large Enterprises (ENT307-R2) - A...
 
Building a Customer-Centric Contact Center in a Regulated Environment
Building a Customer-Centric Contact Center in a Regulated EnvironmentBuilding a Customer-Centric Contact Center in a Regulated Environment
Building a Customer-Centric Contact Center in a Regulated Environment
 
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
 
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
 
Enhance customer experience with Conversational Interfaces
Enhance customer experience with Conversational InterfacesEnhance customer experience with Conversational Interfaces
Enhance customer experience with Conversational Interfaces
 

Semelhante a Breaking Down the 'Monowhat'

When, how and if to adopt Microservices, AWS Startup Day Cape Town 2018
When, how and if to adopt Microservices, AWS Startup Day Cape Town 2018When, how and if to adopt Microservices, AWS Startup Day Cape Town 2018
When, how and if to adopt Microservices, AWS Startup Day Cape Town 2018Amazon Web Services
 
Modernizing Media Supply Chains with AWS Serverless (API301) - AWS re:Invent ...
Modernizing Media Supply Chains with AWS Serverless (API301) - AWS re:Invent ...Modernizing Media Supply Chains with AWS Serverless (API301) - AWS re:Invent ...
Modernizing Media Supply Chains with AWS Serverless (API301) - AWS re:Invent ...Amazon Web Services
 
Improve Efficiency by Migrating Messaging to Amazon MQ - AWS Online Tech Talks
Improve Efficiency by Migrating Messaging to Amazon MQ - AWS Online Tech TalksImprove Efficiency by Migrating Messaging to Amazon MQ - AWS Online Tech Talks
Improve Efficiency by Migrating Messaging to Amazon MQ - AWS Online Tech TalksAmazon Web Services
 
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...Amazon Web Services
 
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...Amazon Web Services
 
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...Amazon Web Services
 
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Amazon Web Services
 
Wellington Management: The Journey to All-In, One Data Center at a Time (FSV2...
Wellington Management: The Journey to All-In, One Data Center at a Time (FSV2...Wellington Management: The Journey to All-In, One Data Center at a Time (FSV2...
Wellington Management: The Journey to All-In, One Data Center at a Time (FSV2...Amazon Web Services
 
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018Amazon Web Services
 
Introduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemIntroduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemAmazon Web Services
 
How can your business benefit from going Serverless
How can your business benefit from going ServerlessHow can your business benefit from going Serverless
How can your business benefit from going ServerlessAmazon Web Services
 
M&E Leadership Session: The State of the Industry, What's New from AWS for M&...
M&E Leadership Session: The State of the Industry, What's New from AWS for M&...M&E Leadership Session: The State of the Industry, What's New from AWS for M&...
M&E Leadership Session: The State of the Industry, What's New from AWS for M&...Amazon Web Services
 
How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?Adrian Hornsby
 
Hybrid Cloud Customer Use Cases on AWS
Hybrid Cloud Customer Use Cases on AWSHybrid Cloud Customer Use Cases on AWS
Hybrid Cloud Customer Use Cases on AWSTom Laszewski
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Amazon Web Services
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Boaz Ziniman
 
Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Amazon Web Services
 
Lessons Learned from a Large-Scale Legacy Migration with Sysco (STG311) - AWS...
Lessons Learned from a Large-Scale Legacy Migration with Sysco (STG311) - AWS...Lessons Learned from a Large-Scale Legacy Migration with Sysco (STG311) - AWS...
Lessons Learned from a Large-Scale Legacy Migration with Sysco (STG311) - AWS...Amazon Web Services
 
How Cardknox Migrated 1M+ Sensitive Records to AWS
 How Cardknox Migrated 1M+ Sensitive Records to AWS How Cardknox Migrated 1M+ Sensitive Records to AWS
How Cardknox Migrated 1M+ Sensitive Records to AWSAmazon Web Services
 

Semelhante a Breaking Down the 'Monowhat' (20)

Breaking Down the Monowhat
Breaking Down the MonowhatBreaking Down the Monowhat
Breaking Down the Monowhat
 
When, how and if to adopt Microservices, AWS Startup Day Cape Town 2018
When, how and if to adopt Microservices, AWS Startup Day Cape Town 2018When, how and if to adopt Microservices, AWS Startup Day Cape Town 2018
When, how and if to adopt Microservices, AWS Startup Day Cape Town 2018
 
Modernizing Media Supply Chains with AWS Serverless (API301) - AWS re:Invent ...
Modernizing Media Supply Chains with AWS Serverless (API301) - AWS re:Invent ...Modernizing Media Supply Chains with AWS Serverless (API301) - AWS re:Invent ...
Modernizing Media Supply Chains with AWS Serverless (API301) - AWS re:Invent ...
 
Improve Efficiency by Migrating Messaging to Amazon MQ - AWS Online Tech Talks
Improve Efficiency by Migrating Messaging to Amazon MQ - AWS Online Tech TalksImprove Efficiency by Migrating Messaging to Amazon MQ - AWS Online Tech Talks
Improve Efficiency by Migrating Messaging to Amazon MQ - AWS Online Tech Talks
 
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
 
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
 
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
 
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
 
Wellington Management: The Journey to All-In, One Data Center at a Time (FSV2...
Wellington Management: The Journey to All-In, One Data Center at a Time (FSV2...Wellington Management: The Journey to All-In, One Data Center at a Time (FSV2...
Wellington Management: The Journey to All-In, One Data Center at a Time (FSV2...
 
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
 
Introduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemIntroduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day Jerusalem
 
How can your business benefit from going Serverless
How can your business benefit from going ServerlessHow can your business benefit from going Serverless
How can your business benefit from going Serverless
 
M&E Leadership Session: The State of the Industry, What's New from AWS for M&...
M&E Leadership Session: The State of the Industry, What's New from AWS for M&...M&E Leadership Session: The State of the Industry, What's New from AWS for M&...
M&E Leadership Session: The State of the Industry, What's New from AWS for M&...
 
How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?
 
Hybrid Cloud Customer Use Cases on AWS
Hybrid Cloud Customer Use Cases on AWSHybrid Cloud Customer Use Cases on AWS
Hybrid Cloud Customer Use Cases on AWS
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28
 
Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28
 
Lessons Learned from a Large-Scale Legacy Migration with Sysco (STG311) - AWS...
Lessons Learned from a Large-Scale Legacy Migration with Sysco (STG311) - AWS...Lessons Learned from a Large-Scale Legacy Migration with Sysco (STG311) - AWS...
Lessons Learned from a Large-Scale Legacy Migration with Sysco (STG311) - AWS...
 
How Cardknox Migrated 1M+ Sensitive Records to AWS
 How Cardknox Migrated 1M+ Sensitive Records to AWS How Cardknox Migrated 1M+ Sensitive Records to AWS
How Cardknox Migrated 1M+ Sensitive Records to AWS
 

Mais de 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
 

Mais de 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
 

Breaking Down the 'Monowhat'

  • 1. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stephen Liedig Senior Solutions Architect, WWPS (ANZ), Amazon Web Services Session #194304 Breaking Down the Monowhat?
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. About Me Senior Solutions Architect WWPS - Australia and New Zealand Email: sliedig@amazon.com Twitter: @sliedigaws Stephen Liedig
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Monowhat
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. https://imagescart.blogspot.com.au/2013/03/ayers-rock-in-uluru-national-park.html#.Wwp1DFOFMZo
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. https://farm3.static.flickr.com/2874/13827796634_3b70a2f3ba_b.jpg
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. The Monolith “…a single-tiered software application in which the user interface and data access code are combined into a single program from a single platform. A monolithic application is self-contained, and independent from other computing applications.” - Wikipedia
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Where did they all come from?
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monolith = “Traditional” Applications • Applications developed to “best practices” and standards of the time • Monolith <> poorly designed • Applications didn’t need to be or weren’t designed to be distributed • Application design constrained by resources
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monolith = “Traditional” Applications Pros: • At first… o Simple o No over-engineering • In-process latencies • Single codebase • Resource efficient at small scale Cons: • Modularity is hard to enforce as app grows • Can only scale up! • All or nothing deployment • Database dependencies • Long release cycles • Slow to react to customer demand
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2001 Development transformation at Amazon: 2001+ 2001+ monolithic application + teams microservices + 2 pizza teams
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monolith development lifecycle developers releasetestbuild delivery pipelineapp
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Single-purpose Connect only through APIs Connect over HTTPS Largely “black boxes” to each other Microservices
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Microservice development lifecycle developers delivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. > 60 million deployments a year* Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments *2016 number
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Conway’s Law “…organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations…” — M. Conway
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Microservices
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What microservices are… “…the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API…” - Martin Fowler
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What microservices are… “Independently deployable services that work together, modelled around a business domain…” -Sam Newman
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What microservices are… “The technical authority for a business capability” - Udi Dahan
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Shipping Inventory Customer Service Accounts Returns Invoicing
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How? Shipping Inventory Customer Service ?
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Domain Driven Design
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Domain Driven Design “Ubiquitous language” –Modelling the language of the business Provides guidance about model domains with entities, value objects, repositories and services Start reading from Chapter 11: Strategic Design vs Tactical Design
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Bounded Contexts • Bounded Contexts are an essential modeling tool in DDD and microservices • Identify explicit boundaries around our understanding of the ubiquitous language and the things people care about • Multiple models for a business concept https://www.martinfowler.com/bliki/BoundedContext.html Customer Ticket Product Product Version Customer Product Territory Opportunity Pipeline Sales Person Defect Sales Context Support Context
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Multiple Bounded Contexts Concept Contracting with authors Managing the book’s authorship and editorial process Designing the book layout, including illustrations Source: Implementing Domain-Driven Design, Vaughn Vernon Publishing Example: Book model Translating the book into other languages Producing the physical print and/ or electronic editions Marketing the book Selling the book to resellers and/ or directly to consumers Shipping a physical book to resellers and consumer
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Context Maps Bounded contexts alone don’t provide a global view of your domain Context maps deal with mapping different, but related, Ubiquitous Languages by integrating their Bounded Contexts Evans and Vernon describe 7 patterns for integrating bounded contexts • Shared Kernel • Customer / Supplier • Conformist • Anticorruption Layer • Separate Ways • Open / Host Service • Published Language Sales Context Support Context Marketing Context
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Domain Events • Objects in a domain that represent that something has happened • Immutable – cannot change the past • Should be represented as verbs in the past tense, e.g. “customer_created” • Light weight, correlated by properties that are common across bounded contexts “customer_id” • Pattern for bounded context integration - Publish / Subscribe
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Coupling
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Managing Dependencies Loose Coupling / High Cohesion Encapsulation
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Types of coupling • Afferent (Ca) and Efferent (Ce) Measurement units of the degree of coupling Who depends on you?… Who do you depend on? • Platform Coupling May be introduced by things like proprietary protocols or components that are platform specific • Temporal Coupling Dealing with time-based dependencies between collaborating system components, e.g. waiting operations or sequential processing • Spatial Coupling Not having to know the location of your collaborating services on the network and providing failover mechanisms, e.g. Amazon Elastic Load Balancer A B A B
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. There is no loose coupling…
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. There is no loose coupling… • Coupling is a function of multiple dimensions • No loose or tight • Need to make tradeoffs Platform Spatial TemporalAfferent Efferent
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Messaging & Messaging Patterns
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Simple Queue Service (Amazon SQS) • Simple enough to get started in minutes • Highly reliable, always available, and durable • Continuous scale allows burst loads with no excess capacity • Integrated with AWS platform with monitoring and queue management • Comprehensive security and compliance “Worry-free managed queues - simply and reliably distribute any volume of messages between endpoints"
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon SQS Features High durability with messages persisted across multiple AZs High availability all AWS regions Continuous and unlimited scaling Simplified troubleshooting with a Dead Queue Integrated with other AWS as a destination > aws sqs create-queue --queue-name MyQueue
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon SQS as an Event Source (SQSaaES) • Lambda polls the queue and when it detects new messages, it invokes your Lambda function by passing the messages as an event • Full control over the queue processing settings such as visibility timeouts, delay queues, redrive policy, etc. Supports batch processing • Lambda will gradually increase the queue polling rate as long as queue polling results in fetching of new messages • Supports Identity and Resource based policy 3. Lambda invoked Lambda function SQS Queue 2. Pull messages from queue 1. Message arrives on queue
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Simple Notification Service (Amazon SNS) • Highly reliable, available, and durable pub-sub service that delivers messages to multiple destinations, including system and mobile endpoints • Continuous scale allows burst loads with no excess capacity • Integrated with AWS platform delivering messages from services to subscribing endpoints • Comprehensive monitoring, security, and compliance “Simply and reliably distribute any volume of messages and event notifications anywhere”
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. > aws sns create-topic --name my-topic Amazon SNS Key Features High durability with messages persisted across multiple AZs High availability all AWS regions Continuous and unlimited scaling Simplify development with filtered message delivery Easy monitoring with CloudWatch, with alarming
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publish / Subscribe • One logical publisher for a given domain event • Fully enforces a consistent boundary • Addresses multiple types of coupling SNS Topic Service B Service C Service D Service A • Each subscriber can react to domain events in their own bounded context • SNS supports multiple subscription channels – Lambda, SQS, HTTP/S, Email, SMS, Mobile Push
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mapping events to topics Grey Topic Attr= Blue Grey Publisher Blue Topic Blue Grey Blue Blue Grey Subscribers Service C Service D Service E Service F Message type mapped to logical destination
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon SNS Message Filters • Publishers do not need to route message • Subscribers do not need to filter for message of interest • Lowers cost SNS Topic Attr= Grey Attr= Blue Attr= Blue Attr= Grey Attr= Blue Attr= Grey Filter Policy Attr=Grey Filter Policy Attr=Blue Publisher
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Message Filtering Operators Subscription filter policy {"sport": ["rugby"]} matches message attribute {"sport": "rugby"} Exact matching on string values (Whitelisting) Anything-but matching on string values (Blacklisting) Prefix matching on string values Exact matching on numeric values Range matching on numeric values Subscription filter policy {"sport": [{"anything-but": "rugby"}]} matches message attributes such as {"sport": "baseball"} and {"sport": "basketball"} and {"sport": "football"} but not {"sport": "rugby"} Subscription filter policy {"sport": [{"prefix": "bas"}]} matches message attributes such as {"sport": "baseball"} and {"sport": "basketball"} Subscription filter policy {"balance": [{"numeric": ["=", 301.5]}]} matches message attributes {"balance": 301.500} and {"balance": 3.015e2} Subscription filter policy {"balance": [{"numeric": ["<", 0]}]} matches negative numbers only, and {"balance": [{"numeric": [">", 0, "<=", 150]}]} matches any positive number up to 150.
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Long Running Processes
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Coordination by Function Chaining
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. “I want try/catch/finally” “I want to select tasks based on data” “I want to retry failed tasks” A B C A ? “I want to sequence tasks” BA “I want to run tasks in parallel” CBA
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Step Functions …makes it easy to coordinate the components of distributed applications using visual workflows
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Step Functions “Serverless” workflow management with zero administration • Coordinate the components of distributed applications and microservices using visual workflows • Keeps the orchestration out of the code! • State management • Automatically triggers and tracks each step, and retries when there are errors • Logs the state of each step, so when things do go wrong, you can diagnose and debug problems quickly Task Choice Fail Parallel
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Microservices messaging patterns One-Way Lambda function SQS Queue Return Address SQS QueueLambda function Request / Response Lambda function SQS Queue SNS Topic Service B Service C Service D Service A Publish / Subscribe request response request response
  • 50. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Final thoughts
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Microviews • Don’t forget about the user interface! • If a microservice is the technical authority for a business capability then it is also the authority on how interacts with the user • Leverage composite user interfaces B A C D E A B C D E
  • 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. https://imagescart.blogspot.com.au/2013/03/ayers-rock-in-uluru-national-park.html#.Wwp1DFOFMZo Summary Chances areYAGNI! Not everyone needs Microservices. If you have a well defined domain then you don’t have to break the monolith apart entirely. Don’t use a big bang approach. It’s an evolutionary journey. Consider a monolith-first approach. Identify your bounded contexts first. Lead your microservices strategy from strategic perspective. Model your microservices around business capabilities. Leverage messaging services and publish subscribe patterns to provide strict boundaries around your bounded contexts and use them to manage coupling inside your application.
  • 53. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thank you

Notas do Editor

  1. © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  2. © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.