SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Migrating Single-Tenant
Applications to Multi-Tenant SaaS
Judah Bernstein
Partner Solutions Architect
AWS Partner Program
A R C 3 2 6
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Monolith
Client
Browser
• User Interface
• Accounting
• Products
• Orders
• Inventory
• Shipping
• Delivery
• Billing
App server
(Tomcat)
Web server
(Apache)
Database
(Oracle)
Logging
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Multi-tenant migration strategies
New product
Develop a
Greenfield AWS
Cloud-Native Multi-
Tenant SaaS
Solution with best
practices.
Layered
Migrate incrementally
to Multi-Tenancy
layer by layer, service
by service, or
component by
component
methodically.
Optimize
Improving an existing
solution to obtain the
benefits of multi-tenancy
while introducing
minimal changes to the
existing codebase and
architecture.
Full redesign
Big-bang re-write of
platform, business
logic, and interface
to deliver like-new
cloud-integrated
multi-tenant
solution.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
An incremental journey: Phase 1
Onboard customers
• Registration
• Auto Sign-up
• Provision
Tenant
• Introduce
Tenant Context
• Bind Tenant to
User
• Inject Tenant
Context
Optimize compute
• Distribute AZ’s
• Externalize
State
• Auto-Scaling
Groups
• Optimize
Scaling Policies
Identify tenant
• Introduce
Tenant Logging
• Extract Tenant
Context
• Isolate Tenant
Data
• Develop Tenant
Monitoring
• Enhance Tooling
Partitioning tenants
• Partition
Storage, or
Database
• Partition Library
• Connection
Pooling
• Resolve Tenant
Mapping
• Pool Compute
Meter and bill
• Choose
Pricing/Billing
Model
• Instrument
Telemetry
• Aggregate
Consumption
• Integrate Billing
Provider
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Introducing tenant context
User context
Tenant context
• Tenant ID
• Company name
• Status
• Billing tier
SaaS
identity
• Sub
• Email
• Name
SAML
headers
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Tenant isolation motivation
Tiering
strategy
Noisy neighbor Cross tenant
access
Compliance
requirements
Legacy
architecture
Opportunity
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ContainersCompute Instances
Network
Storage
VPC Subnet
AZ A
Subnet 1
AZ B
Subnet 2
Security
group
Security
group
Account
Database
Tiers
Schema Table
Serverless
Overlay
Records
Multi-tenant infrastructure design
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monitoring and logging a multi-tenant app
Tenant activityUnified view
Tenant activityPod sanity
Tech + Bus KPI Tier performance
Isolation eventsCustom attributes
LoggingMonitoring
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Integrating metering and billing
SaaS
Billing
provider
Merchant
account
Service
handles
request & meters
2 Creates
secure
card transaction
5
Authorize
transaction
and payment
3 Subscription
processing
logic4
Authorize
transaction
and payment
6
Customer
Customer
subscribes to
service
1
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Minimally invasive multi-tenancy with tenant context
AWS
Lambda
function
Amazon
Route 53
Amazon
CloudFront
Tenant 1
ENT
RDS
ASGElastic Load
Balancing*
ASGElastic Load
Balancing*
Tenant 3
Tenant 2
SMB
ServiceMeshServiceMesh
Tenant3Tenant2
Amazon
EKS
Amazon
EKS
Tenant3
Tenant3 Tenant2
Tenant2
Application
Load Balancer
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
An incremental journey: Phase 2
Improve agility
• Decompose services
• Scale datastores
• Select service
storage profile
(silo/pooled)
• Breathe DevOps (CD,
IaC, DevSecOps)
• Data ownership
Optimize security
• Isolate every layer
• Tie RBAC to AWS
Identity and Access
Management (IAM)
• Federate STS
Credentials
• Encryption and data
masking
• Minimize impact
Enhance analytics
• Enable detailed
Metering
• Surface detailed
analytics
• Associate cost per
tenant
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Decomposing the monolith into MicroServices
Bounded ContextContract
Consistency
A formal, precise and
verifiable interface
specification for clients to
interact with a service.
An approach to define the
boundaries of a complex
domain into business
context.
All storage clients see the
same data with concurrent
updates.
Versioning
An approach to evolving an
API to accommodate for
changes, additions, and
removals while preserving
the client interface.
Authorization
Verifying and providing the
client or user access to
resources, features, and/or
functionality.
Authentication
Identification and verification
of client or user, generally
involves verifying credentials
or a token.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Selecting the tenant service storage profile
Multi-source &
multi-master
Database, schema,
table per tenant
Read replication
& sharding
NoSQL, schema-less,
& eventual consistency
Encryption key per
tenant
Dependency injection,
filters, interceptors, cut
points
First, second
level caching
Performance Security
Row or policy-based
isolation
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Resolving tenant based authorization
Trust
Access
Role-based access control
Entity, System, or user which
is granted the access.
Actions which may be
requested on corresponding
resources.
Federation
Variation
Multi-tenant access control
Managing authorized and
unauthorized cross-tenant
access.
Tenant specific authorization
configuration may vary per
tenant in a SaaS solution.
Trust entity flexibility
Access policy generation
Cross-account access
Tenant specific encryption
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Minimizing the impact of a multi-tenant design
Throttling Tiering
Blocking Prioritizing Dedicating
SecuringIsolating
Self-healing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A refactored multi-tenant architecture design
Amazon
CloudFront
Application
Load Balancer
Amazon
EKS
Amazon
EKS
Amazon
Route 53
Service1 Service2
Amazon API
Gateway
Lambda Service
/service3
Lambda
authorizer
Lambda Service
/service4
Prefix
S3
/Tenant1
/Tenant2
/Tenant3
Tag
Tenant: 1
Tenant: 2
Tenant: 3
Service1 Service2
Table
Amazon DynamoDB
Tenant1
Tenant2
Tenant3
Hash
Tenant: 1
Tenant: 2
Tenant: 3
Static
Website
ShardMap
Shard1: 1, 2
Shard2: 3
Aurora
Postgres
V9.5
Row Level
Amazon
Cognito
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Learn more and next steps
• Learn more about SaaS on AWS
• https://aws.amazon.com/partners/saas-on-aws/#why
• Explore AWS SaaS factory content
• https://aws.amazon.com/partners/saas-factory/
• Sign up for the AWS SaaS interest list
• http://go.awspartner.com/saas
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Judah Bernstein
judahb@amazon.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksAmazon Web Services
 
Using AWS Well Architectured Framework for Software Architecture Evaluations ...
Using AWS Well Architectured Framework for Software Architecture Evaluations ...Using AWS Well Architectured Framework for Software Architecture Evaluations ...
Using AWS Well Architectured Framework for Software Architecture Evaluations ...Alexandr Savchenko
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSAmazon Web Services
 
Azure Security Overview
Azure Security OverviewAzure Security Overview
Azure Security OverviewAllen Brokken
 
Heterogenous Migration with DMS & SCT
Heterogenous Migration with DMS & SCTHeterogenous Migration with DMS & SCT
Heterogenous Migration with DMS & SCTAmazon Web Services
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon Web Services
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
An Introduction to Chaos Engineering
An Introduction to Chaos EngineeringAn Introduction to Chaos Engineering
An Introduction to Chaos EngineeringGremlin
 
Google Cloud Fundamentals by CloudZone
Google Cloud Fundamentals by CloudZoneGoogle Cloud Fundamentals by CloudZone
Google Cloud Fundamentals by CloudZoneIdan Tohami
 
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)Amazon Web Services Korea
 
AWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAmazon Web Services
 
Big Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingBig Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingAraf Karsh Hamid
 
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018Amazon Web Services
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Amazon Web Services
 
Well Architected Framework - Data
Well Architected Framework - Data Well Architected Framework - Data
Well Architected Framework - Data Craig Milroy
 
(ARC402) Double Redundancy With AWS Direct Connect
(ARC402) Double Redundancy With AWS Direct Connect(ARC402) Double Redundancy With AWS Direct Connect
(ARC402) Double Redundancy With AWS Direct ConnectAmazon Web Services
 

Was ist angesagt? (20)

Cloud Migration Workshop
Cloud Migration WorkshopCloud Migration Workshop
Cloud Migration Workshop
 
AWS 101
AWS 101AWS 101
AWS 101
 
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
 
Using AWS Well Architectured Framework for Software Architecture Evaluations ...
Using AWS Well Architectured Framework for Software Architecture Evaluations ...Using AWS Well Architectured Framework for Software Architecture Evaluations ...
Using AWS Well Architectured Framework for Software Architecture Evaluations ...
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKS
 
AWS Service Catalog
AWS Service CatalogAWS Service Catalog
AWS Service Catalog
 
Azure Security Overview
Azure Security OverviewAzure Security Overview
Azure Security Overview
 
Heterogenous Migration with DMS & SCT
Heterogenous Migration with DMS & SCTHeterogenous Migration with DMS & SCT
Heterogenous Migration with DMS & SCT
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
An Introduction to Chaos Engineering
An Introduction to Chaos EngineeringAn Introduction to Chaos Engineering
An Introduction to Chaos Engineering
 
Google Cloud Fundamentals by CloudZone
Google Cloud Fundamentals by CloudZoneGoogle Cloud Fundamentals by CloudZone
Google Cloud Fundamentals by CloudZone
 
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
 
AWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best Practices
 
Big Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingBig Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb Sharding
 
Managing Security on AWS
Managing Security on AWSManaging Security on AWS
Managing Security on AWS
 
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
 
Well Architected Framework - Data
Well Architected Framework - Data Well Architected Framework - Data
Well Architected Framework - Data
 
(ARC402) Double Redundancy With AWS Direct Connect
(ARC402) Double Redundancy With AWS Direct Connect(ARC402) Double Redundancy With AWS Direct Connect
(ARC402) Double Redundancy With AWS Direct Connect
 

Ähnlich wie Migrating Single Apps to Multi-Tenant SaaS

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
 
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Amazon Web Services
 
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...Amazon Web Services
 
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018Amazon Web Services
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...Amazon Web Services
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesVladimir Simek
 
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018Amazon Web Services
 
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...Amazon 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
 
Module 1: AWS Cloud Concepts, VPC, and Security Groups - Virtual AWSome Day J...
Module 1: AWS Cloud Concepts, VPC, and Security Groups - Virtual AWSome Day J...Module 1: AWS Cloud Concepts, VPC, and Security Groups - Virtual AWSome Day J...
Module 1: AWS Cloud Concepts, VPC, and Security Groups - Virtual AWSome Day J...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
 
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...Amazon Web Services
 
Virtual AWSome Day October 2018 - Amazon Web Services
Virtual AWSome Day October 2018 - Amazon Web ServicesVirtual AWSome Day October 2018 - Amazon Web Services
Virtual AWSome Day October 2018 - Amazon Web ServicesAmazon Web Services
 
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...Amazon Web Services
 
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Amazon Web Services
 
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
 
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...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
 

Ähnlich wie Migrating Single Apps to Multi-Tenant SaaS (20)

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...
 
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
 
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
 
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best Practices
 
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
SaaS Operations: The Foundation of SaaS Agility (ARC216) - AWS re:Invent 2018
 
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
 
Breaking Down the 'Monowhat'
Breaking Down the 'Monowhat'Breaking Down the 'Monowhat'
Breaking Down the 'Monowhat'
 
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
 
Module 1: AWS Cloud Concepts, VPC, and Security Groups - Virtual AWSome Day J...
Module 1: AWS Cloud Concepts, VPC, and Security Groups - Virtual AWSome Day J...Module 1: AWS Cloud Concepts, VPC, and Security Groups - Virtual AWSome Day J...
Module 1: AWS Cloud Concepts, VPC, and Security Groups - Virtual AWSome Day J...
 
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?
 
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
 
Virtual AWSome Day October 2018 - Amazon Web Services
Virtual AWSome Day October 2018 - Amazon Web ServicesVirtual AWSome Day October 2018 - Amazon Web Services
Virtual AWSome Day October 2018 - Amazon Web Services
 
Implementing Governance@Scale
Implementing Governance@ScaleImplementing Governance@Scale
Implementing Governance@Scale
 
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
 
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
 
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
 
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
Deconstructing SaaS: Deep Dive into Building Multi-Tenant Solutions on AWS (A...
 
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...
 

Mehr von 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
 

Mehr von 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
 

Migrating Single Apps to Multi-Tenant SaaS

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Migrating Single-Tenant Applications to Multi-Tenant SaaS Judah Bernstein Partner Solutions Architect AWS Partner Program A R C 3 2 6
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Monolith Client Browser • User Interface • Accounting • Products • Orders • Inventory • Shipping • Delivery • Billing App server (Tomcat) Web server (Apache) Database (Oracle) Logging
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Multi-tenant migration strategies New product Develop a Greenfield AWS Cloud-Native Multi- Tenant SaaS Solution with best practices. Layered Migrate incrementally to Multi-Tenancy layer by layer, service by service, or component by component methodically. Optimize Improving an existing solution to obtain the benefits of multi-tenancy while introducing minimal changes to the existing codebase and architecture. Full redesign Big-bang re-write of platform, business logic, and interface to deliver like-new cloud-integrated multi-tenant solution.
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. An incremental journey: Phase 1 Onboard customers • Registration • Auto Sign-up • Provision Tenant • Introduce Tenant Context • Bind Tenant to User • Inject Tenant Context Optimize compute • Distribute AZ’s • Externalize State • Auto-Scaling Groups • Optimize Scaling Policies Identify tenant • Introduce Tenant Logging • Extract Tenant Context • Isolate Tenant Data • Develop Tenant Monitoring • Enhance Tooling Partitioning tenants • Partition Storage, or Database • Partition Library • Connection Pooling • Resolve Tenant Mapping • Pool Compute Meter and bill • Choose Pricing/Billing Model • Instrument Telemetry • Aggregate Consumption • Integrate Billing Provider
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Introducing tenant context User context Tenant context • Tenant ID • Company name • Status • Billing tier SaaS identity • Sub • Email • Name SAML headers
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Tenant isolation motivation Tiering strategy Noisy neighbor Cross tenant access Compliance requirements Legacy architecture Opportunity
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ContainersCompute Instances Network Storage VPC Subnet AZ A Subnet 1 AZ B Subnet 2 Security group Security group Account Database Tiers Schema Table Serverless Overlay Records Multi-tenant infrastructure design
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monitoring and logging a multi-tenant app Tenant activityUnified view Tenant activityPod sanity Tech + Bus KPI Tier performance Isolation eventsCustom attributes LoggingMonitoring
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Integrating metering and billing SaaS Billing provider Merchant account Service handles request & meters 2 Creates secure card transaction 5 Authorize transaction and payment 3 Subscription processing logic4 Authorize transaction and payment 6 Customer Customer subscribes to service 1
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Minimally invasive multi-tenancy with tenant context AWS Lambda function Amazon Route 53 Amazon CloudFront Tenant 1 ENT RDS ASGElastic Load Balancing* ASGElastic Load Balancing* Tenant 3 Tenant 2 SMB ServiceMeshServiceMesh Tenant3Tenant2 Amazon EKS Amazon EKS Tenant3 Tenant3 Tenant2 Tenant2 Application Load Balancer
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. An incremental journey: Phase 2 Improve agility • Decompose services • Scale datastores • Select service storage profile (silo/pooled) • Breathe DevOps (CD, IaC, DevSecOps) • Data ownership Optimize security • Isolate every layer • Tie RBAC to AWS Identity and Access Management (IAM) • Federate STS Credentials • Encryption and data masking • Minimize impact Enhance analytics • Enable detailed Metering • Surface detailed analytics • Associate cost per tenant
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Decomposing the monolith into MicroServices Bounded ContextContract Consistency A formal, precise and verifiable interface specification for clients to interact with a service. An approach to define the boundaries of a complex domain into business context. All storage clients see the same data with concurrent updates. Versioning An approach to evolving an API to accommodate for changes, additions, and removals while preserving the client interface. Authorization Verifying and providing the client or user access to resources, features, and/or functionality. Authentication Identification and verification of client or user, generally involves verifying credentials or a token.
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Selecting the tenant service storage profile Multi-source & multi-master Database, schema, table per tenant Read replication & sharding NoSQL, schema-less, & eventual consistency Encryption key per tenant Dependency injection, filters, interceptors, cut points First, second level caching Performance Security Row or policy-based isolation
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Resolving tenant based authorization Trust Access Role-based access control Entity, System, or user which is granted the access. Actions which may be requested on corresponding resources. Federation Variation Multi-tenant access control Managing authorized and unauthorized cross-tenant access. Tenant specific authorization configuration may vary per tenant in a SaaS solution. Trust entity flexibility Access policy generation Cross-account access Tenant specific encryption
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Minimizing the impact of a multi-tenant design Throttling Tiering Blocking Prioritizing Dedicating SecuringIsolating Self-healing
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A refactored multi-tenant architecture design Amazon CloudFront Application Load Balancer Amazon EKS Amazon EKS Amazon Route 53 Service1 Service2 Amazon API Gateway Lambda Service /service3 Lambda authorizer Lambda Service /service4 Prefix S3 /Tenant1 /Tenant2 /Tenant3 Tag Tenant: 1 Tenant: 2 Tenant: 3 Service1 Service2 Table Amazon DynamoDB Tenant1 Tenant2 Tenant3 Hash Tenant: 1 Tenant: 2 Tenant: 3 Static Website ShardMap Shard1: 1, 2 Shard2: 3 Aurora Postgres V9.5 Row Level Amazon Cognito
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Learn more and next steps • Learn more about SaaS on AWS • https://aws.amazon.com/partners/saas-on-aws/#why • Explore AWS SaaS factory content • https://aws.amazon.com/partners/saas-factory/ • Sign up for the AWS SaaS interest list • http://go.awspartner.com/saas
  • 19. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Judah Bernstein judahb@amazon.com
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.