SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Migrating Multi-tenant App to Azure
Akshay Surve,
CTO DeltaX
Twitter: @ak47suve
Email: akshay@deltax.com
About Me
● 10+ years
Shipping Ideas, Making Mistakes, GTD
Marathons / Hackathons / *-athon :)
● Co-founded DeltaX in 2013
Ad-tech / Product Startup / 30+ team
300+ advertisers across India, APAC and US.
What to Expect?
● Our journey to the Cloud
Migrating our 1.2TB+ DB 100 odd tenants, Application & Services from bare
metal dedicated infrastructure to the cloud
● Key Considerations & Pointers
● Learnings & Opinions
Context (What we do?)
● SAAS platform for advertising analytics and tracking.
● We had 2 parallel stacks
○ Auto-scaled HA ad-serving + tracking system - AWS
Node.js / Route53 > ELB > EC2 (auto-scale) > AWS S3 > Cloudfront
○ Always ON Mini-datawarehouse per tenant - Bare-metal Servers
This is the stack we migrated to Azure
Previous Setup (Infrastructure stack)
DB Machine
Dual Intel® Xeon®
E5-2600 v3 @ 2.10GHz octa-core incl.
RAM 128+23GB DDR4 ECC RAM
2 x 480 GB 6 Gb/s SSD Datacenter Edition
6 x 960 GB 6 Gb/s SSD Datacenter Edition
1 x 32 GB DDR4 Reg. ECC RAM
Web Box
Single Intel® Xeon®
E5-2600 v3 @ 2.10GHz octa-core incl.
64 GB DDR4 ECC RAM
Services Box
Single Intel® Xeon®
E5-2600 v3 @ 2.10GHz octa-core incl.
64 GB DDR4 ECC RAM
Bottlenecks
● Tenant Isolation
Small vs Big tenants; Access to their own data;
● Dev Ops / Managing Infrastructure / DB growth
2 years - 0 GB -> 200 GB
1 years - 200 GB -> 600 GB
6 months - 600 GB -> 1.2TB
Around 80-100 clients when managing the bare-metal servers started
becoming a task; having already had our fair share of war stories - database
going down; disk failure with RAID; log disk getting full etc.
● Exploding Service > Workers (120)
Multi-threaded / Memory hungry / Isolation
Previous Setup (Software stack)
● Database - MS SQL 2014 (1 Big DB)
Typical star schema; mixed load (OLTP / OLAP)
● Asp.NET MVC / Knockout.JS / WCF / Web API
● Over 80-90 Always running background services - processing data from
Google Adwords, Yahoo Bing, Facebook and other external services
including our own ad-serving and tracking infrastructure.
Considerations
● Multiple providers
AWS vs. Microsoft Azure
● Cloud vendor Lock-in
Yes that is a term!
● Capacity planning / Cost Estimation / Benchmark
The cloud is a complex beast. Pay per use feels liberating but for consistently
high usage/loads is cloud even apt?
AWS vs Azure (Considerations contd.)
● You are bound to be confused
Amazon Web Services
Microsoft Azure
Google Cloud
Bakasur Thali
Azure
● Microsoft Azure initially was all over the
place; but in the last 2 years it has caught
up and is in a promising direction (same
can be said about Microsoft)
● Our software stack was a ‘first class’
citizen in Azure ecosystem
- Azure SQL Database Pool
- Azure App Service
AWS vs Azure (Considerations contd.)
AWS
● 3+ Experience running a horizontally
auto-scaled Ad-server and Event racking
system with close to 99.998% uptime
● Exposed to the full stack of AWS right
from Route53, ELB, EC2, DynamoDB, S3
and CDN
Azure SQL Database Elastic Pool
AWS vs Azure (Considerations contd.)
Azure SQL Database Elastic Pool
AWS vs Azure (Considerations contd.)
Azure SQL Database Elastic Pool
AWS vs Azure (Considerations contd.)
Azure SQL Database Elastic Pool
● Simple, cost-effective solution for managing and scaling multiple databases
that have varying and unpredictable usage demands
● Shared pricing plan
● Ideal for multi-tenant applications - large differences between peak utilization
and average utilization per database.
AWS vs Azure (Considerations contd.)
AWS vs Azure (Considerations contd.)
Azure App Service
● Multiple languages and frameworks - App Service has first-class support for
ASP.NET, Node.js, Java, PHP, and Python.
● DevOps optimization - Set up continuous integration and deployment with
Visual Studio Team Services, GitHub, or BitBucket. Promote updates through
test and staging environments
● Global scale with high availability - Scale up or out manually or automatically.
● If you are working on business critical applications - then it’s an important
consideration
● You ideally want the best of what is to be offered by cloud provider
but not get locked in. Unless it suits your need to the tee.
● Having a popular and widely adopted service as managed is a great
advantage - happy that slowly and steadily Azure offers such services - eg:
Redis, HD Insight, Azure SQL
Cloud vendor lock-in (Considerations contd.)
● Pay-per-use is great for on-demand or sporadic usage; for always on
infrastructure being able to benchmark loads and eventually estimate costs
is difficult to get right
● We had cases of Azure DBs capacity planning tool fail on us - not having the
right plan size. We split each tenant to multiple DBs of it’s own
● Migrated tenants in batches and so we were able to benchmark and plan
capacity likewise
Capacity / Cost / Benchmarking (Considerations contd.)
Service / Worker VMs
- From 1 big box VM to 25 VMs
Misc Services
- Redis
- CDN
- Cloud storage
Current Setup (Infrastructure)
Azure SQL
- 80 tenants on 1 SQL DB > 480 DBs (4x)
- Hovering around 1 TB; to 2.8TB
Azure App Service
- Web app
- API
- WCF
Timeline of Migration
Discussing and evaluation
various ideas
April 2016
Declaration of WAR
June 2016
First live tenant
Mid August
New tenants started using
the cloud stack
Sept 2016
All tenants migrated with
close to 12months data
Dec 2016
● Tooling / Logging / Performance monitoring
We had one problem earlier; now the problem is compounded and spread out
● Keeping all DB schemas in sync (migrations)
● Exception logging; actionable SMS alerts
● Our costs increased 3-5x; also the number of tenants in that time. But we
were able to scale
New Challenges
“The cloud is not a silver bullet”
silver bullet ~ noun
‘a simple and seemingly magical solution to a complicated problem’
Twitter: @ak47suve
Email: akshay@deltax.com

Mais conteúdo relacionado

Mais procurados

Beyond Relational
Beyond RelationalBeyond Relational
Beyond RelationalLynn Langit
 
Webinar: Building Blocks for the Future of Television
Webinar: Building Blocks for the Future of TelevisionWebinar: Building Blocks for the Future of Television
Webinar: Building Blocks for the Future of TelevisionDataStax
 
AWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL QueriesAWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL QueriesDoiT International
 
Introducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationIntroducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationAlluxio, Inc.
 
Introduction to AWS Outposts
Introduction to AWS OutpostsIntroduction to AWS Outposts
Introduction to AWS OutpostsScyllaDB
 
SQL Server on Google Cloud Platform
SQL Server on Google Cloud PlatformSQL Server on Google Cloud Platform
SQL Server on Google Cloud PlatformLynn Langit
 
New AWS Services for Bioinformatics
New AWS Services for BioinformaticsNew AWS Services for Bioinformatics
New AWS Services for BioinformaticsLynn Langit
 
Apache Cassandra in the Cloud
Apache Cassandra in the CloudApache Cassandra in the Cloud
Apache Cassandra in the CloudInstaclustr
 
Scylla Summit 2018: Grab and Scylla: Driving Southeast Asia Forward
Scylla Summit 2018: Grab and Scylla: Driving Southeast Asia ForwardScylla Summit 2018: Grab and Scylla: Driving Southeast Asia Forward
Scylla Summit 2018: Grab and Scylla: Driving Southeast Asia ForwardScyllaDB
 
Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup) Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup) Roopa Tangirala
 
Scaling Traffic from 0 to 139 Million Unique Visitors
Scaling Traffic from 0 to 139 Million Unique VisitorsScaling Traffic from 0 to 139 Million Unique Visitors
Scaling Traffic from 0 to 139 Million Unique VisitorsYelp Engineering
 
Serverless Reality
Serverless RealityServerless Reality
Serverless RealityLynn Langit
 
Not only SQL - Database Choices
Not only SQL - Database ChoicesNot only SQL - Database Choices
Not only SQL - Database ChoicesLynn Langit
 
Análisis del roadmap del Elastic Stack
Análisis del roadmap del Elastic StackAnálisis del roadmap del Elastic Stack
Análisis del roadmap del Elastic StackElasticsearch
 
Streaming 4 billion Messages per day. Lessons Learned.
Streaming 4 billion Messages per day. Lessons Learned.Streaming 4 billion Messages per day. Lessons Learned.
Streaming 4 billion Messages per day. Lessons Learned.Angelos Petheriotis
 
Microsoft Machine Learning Smackdown
Microsoft Machine Learning SmackdownMicrosoft Machine Learning Smackdown
Microsoft Machine Learning SmackdownLynn Langit
 
Curriculum Associates Strata NYC 2017
Curriculum Associates Strata NYC 2017Curriculum Associates Strata NYC 2017
Curriculum Associates Strata NYC 2017Kristi Lewandowski
 

Mais procurados (20)

Beyond Relational
Beyond RelationalBeyond Relational
Beyond Relational
 
Webinar: Building Blocks for the Future of Television
Webinar: Building Blocks for the Future of TelevisionWebinar: Building Blocks for the Future of Television
Webinar: Building Blocks for the Future of Television
 
AWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL QueriesAWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL Queries
 
Introducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationIntroducing the Hub for Data Orchestration
Introducing the Hub for Data Orchestration
 
Introduction to AWS Outposts
Introduction to AWS OutpostsIntroduction to AWS Outposts
Introduction to AWS Outposts
 
SQL Server on Google Cloud Platform
SQL Server on Google Cloud PlatformSQL Server on Google Cloud Platform
SQL Server on Google Cloud Platform
 
New AWS Services for Bioinformatics
New AWS Services for BioinformaticsNew AWS Services for Bioinformatics
New AWS Services for Bioinformatics
 
Apache Cassandra in the Cloud
Apache Cassandra in the CloudApache Cassandra in the Cloud
Apache Cassandra in the Cloud
 
Scylla Summit 2018: Grab and Scylla: Driving Southeast Asia Forward
Scylla Summit 2018: Grab and Scylla: Driving Southeast Asia ForwardScylla Summit 2018: Grab and Scylla: Driving Southeast Asia Forward
Scylla Summit 2018: Grab and Scylla: Driving Southeast Asia Forward
 
Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup) Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup)
 
Scaling Traffic from 0 to 139 Million Unique Visitors
Scaling Traffic from 0 to 139 Million Unique VisitorsScaling Traffic from 0 to 139 Million Unique Visitors
Scaling Traffic from 0 to 139 Million Unique Visitors
 
Serverless Reality
Serverless RealityServerless Reality
Serverless Reality
 
Not only SQL - Database Choices
Not only SQL - Database ChoicesNot only SQL - Database Choices
Not only SQL - Database Choices
 
Análisis del roadmap del Elastic Stack
Análisis del roadmap del Elastic StackAnálisis del roadmap del Elastic Stack
Análisis del roadmap del Elastic Stack
 
Aws Kinesis
Aws KinesisAws Kinesis
Aws Kinesis
 
Streaming 4 billion Messages per day. Lessons Learned.
Streaming 4 billion Messages per day. Lessons Learned.Streaming 4 billion Messages per day. Lessons Learned.
Streaming 4 billion Messages per day. Lessons Learned.
 
Athena & Glue
Athena & GlueAthena & Glue
Athena & Glue
 
Redshift VS BigQuery
Redshift VS BigQueryRedshift VS BigQuery
Redshift VS BigQuery
 
Microsoft Machine Learning Smackdown
Microsoft Machine Learning SmackdownMicrosoft Machine Learning Smackdown
Microsoft Machine Learning Smackdown
 
Curriculum Associates Strata NYC 2017
Curriculum Associates Strata NYC 2017Curriculum Associates Strata NYC 2017
Curriculum Associates Strata NYC 2017
 

Semelhante a Migrating a multi tenant app to Azure (war biopic)

Cloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GoogleCloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GooglePatrick Pierson
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql databasePARIKSHIT SAVJANI
 
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...Amazon Web Services
 
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWSAWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWSAmazon Web Services
 
Clash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft AzureClash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft AzureMihail Mateev
 
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...Amazon Web Services
 
OSS DB on Azure
OSS DB on AzureOSS DB on Azure
OSS DB on Azurerockplace
 
AWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWSAWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWSAmazon Web Services
 
Azure SQL DB Managed Instances Built to easily modernize application data layer
Azure SQL DB Managed Instances Built to easily modernize application data layerAzure SQL DB Managed Instances Built to easily modernize application data layer
Azure SQL DB Managed Instances Built to easily modernize application data layerMicrosoft Tech Community
 
Windows on AWS
Windows on AWSWindows on AWS
Windows on AWSDatavail
 
Migrating Enterprise Applications to AWS
Migrating Enterprise Applications to AWSMigrating Enterprise Applications to AWS
Migrating Enterprise Applications to AWSTom Laszewski
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseJames Serra
 
Migrating Oracle Databases to AWS
Migrating Oracle Databases to AWSMigrating Oracle Databases to AWS
Migrating Oracle Databases to AWSAWS Germany
 
Public Cloud Workshop
Public Cloud WorkshopPublic Cloud Workshop
Public Cloud WorkshopAmer Ather
 
Ready for take-off - How to get your databases into the cloud
Ready for take-off - How to get your databases into the cloudReady for take-off - How to get your databases into the cloud
Ready for take-off - How to get your databases into the cloudAndre Essing
 
Why Scale Matters and How the Cloud Really is Different
Why Scale Matters and How the Cloud Really is Different Why Scale Matters and How the Cloud Really is Different
Why Scale Matters and How the Cloud Really is Different Amazon Web Services
 
Serverless at Lifestage
Serverless at LifestageServerless at Lifestage
Serverless at LifestageBATbern
 
Satrtup Bootcamp - Scale on AWS
Satrtup Bootcamp - Scale on AWSSatrtup Bootcamp - Scale on AWS
Satrtup Bootcamp - Scale on AWSIdan Tohami
 
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...Amazon Web Services
 

Semelhante a Migrating a multi tenant app to Azure (war biopic) (20)

Cloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GoogleCloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs Google
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql database
 
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
 
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWSAWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
 
Clash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft AzureClash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft Azure
 
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
 
OSS DB on Azure
OSS DB on AzureOSS DB on Azure
OSS DB on Azure
 
AWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWSAWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWS
 
Azure SQL DB Managed Instances Built to easily modernize application data layer
Azure SQL DB Managed Instances Built to easily modernize application data layerAzure SQL DB Managed Instances Built to easily modernize application data layer
Azure SQL DB Managed Instances Built to easily modernize application data layer
 
Windows on AWS
Windows on AWSWindows on AWS
Windows on AWS
 
AZURE Data Related Services
AZURE Data Related ServicesAZURE Data Related Services
AZURE Data Related Services
 
Migrating Enterprise Applications to AWS
Migrating Enterprise Applications to AWSMigrating Enterprise Applications to AWS
Migrating Enterprise Applications to AWS
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data Warehouse
 
Migrating Oracle Databases to AWS
Migrating Oracle Databases to AWSMigrating Oracle Databases to AWS
Migrating Oracle Databases to AWS
 
Public Cloud Workshop
Public Cloud WorkshopPublic Cloud Workshop
Public Cloud Workshop
 
Ready for take-off - How to get your databases into the cloud
Ready for take-off - How to get your databases into the cloudReady for take-off - How to get your databases into the cloud
Ready for take-off - How to get your databases into the cloud
 
Why Scale Matters and How the Cloud Really is Different
Why Scale Matters and How the Cloud Really is Different Why Scale Matters and How the Cloud Really is Different
Why Scale Matters and How the Cloud Really is Different
 
Serverless at Lifestage
Serverless at LifestageServerless at Lifestage
Serverless at Lifestage
 
Satrtup Bootcamp - Scale on AWS
Satrtup Bootcamp - Scale on AWSSatrtup Bootcamp - Scale on AWS
Satrtup Bootcamp - Scale on AWS
 
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
 

Mais de ★ Akshay Surve

How I stopped watching p0rn and other *kinkiness*
How I stopped watching p0rn and other *kinkiness*How I stopped watching p0rn and other *kinkiness*
How I stopped watching p0rn and other *kinkiness*★ Akshay Surve
 
Blogging4Good @ BlogCamp Mumbai 2010 - Ads4Good.org
Blogging4Good @ BlogCamp Mumbai 2010 - Ads4Good.orgBlogging4Good @ BlogCamp Mumbai 2010 - Ads4Good.org
Blogging4Good @ BlogCamp Mumbai 2010 - Ads4Good.org★ Akshay Surve
 
Web Applicaitons - a roller coaster ride
Web Applicaitons - a roller coaster rideWeb Applicaitons - a roller coaster ride
Web Applicaitons - a roller coaster ride★ Akshay Surve
 
Khelvigyan Project - Children Toy Foundation
Khelvigyan Project - Children Toy FoundationKhelvigyan Project - Children Toy Foundation
Khelvigyan Project - Children Toy Foundation★ Akshay Surve
 
SocialSync - Why it exists?
SocialSync - Why it exists?SocialSync - Why it exists?
SocialSync - Why it exists?★ Akshay Surve
 

Mais de ★ Akshay Surve (6)

How I stopped watching p0rn and other *kinkiness*
How I stopped watching p0rn and other *kinkiness*How I stopped watching p0rn and other *kinkiness*
How I stopped watching p0rn and other *kinkiness*
 
Blogging4Good @ BlogCamp Mumbai 2010 - Ads4Good.org
Blogging4Good @ BlogCamp Mumbai 2010 - Ads4Good.orgBlogging4Good @ BlogCamp Mumbai 2010 - Ads4Good.org
Blogging4Good @ BlogCamp Mumbai 2010 - Ads4Good.org
 
Web Applicaitons - a roller coaster ride
Web Applicaitons - a roller coaster rideWeb Applicaitons - a roller coaster ride
Web Applicaitons - a roller coaster ride
 
Khelvigyan Project - Children Toy Foundation
Khelvigyan Project - Children Toy FoundationKhelvigyan Project - Children Toy Foundation
Khelvigyan Project - Children Toy Foundation
 
SocialSync - Why it exists?
SocialSync - Why it exists?SocialSync - Why it exists?
SocialSync - Why it exists?
 
SocialSync
SocialSyncSocialSync
SocialSync
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Migrating a multi tenant app to Azure (war biopic)

  • 1. Migrating Multi-tenant App to Azure Akshay Surve, CTO DeltaX Twitter: @ak47suve Email: akshay@deltax.com
  • 2. About Me ● 10+ years Shipping Ideas, Making Mistakes, GTD Marathons / Hackathons / *-athon :) ● Co-founded DeltaX in 2013 Ad-tech / Product Startup / 30+ team 300+ advertisers across India, APAC and US.
  • 3. What to Expect? ● Our journey to the Cloud Migrating our 1.2TB+ DB 100 odd tenants, Application & Services from bare metal dedicated infrastructure to the cloud ● Key Considerations & Pointers ● Learnings & Opinions
  • 4. Context (What we do?) ● SAAS platform for advertising analytics and tracking. ● We had 2 parallel stacks ○ Auto-scaled HA ad-serving + tracking system - AWS Node.js / Route53 > ELB > EC2 (auto-scale) > AWS S3 > Cloudfront ○ Always ON Mini-datawarehouse per tenant - Bare-metal Servers This is the stack we migrated to Azure
  • 5. Previous Setup (Infrastructure stack) DB Machine Dual Intel® Xeon® E5-2600 v3 @ 2.10GHz octa-core incl. RAM 128+23GB DDR4 ECC RAM 2 x 480 GB 6 Gb/s SSD Datacenter Edition 6 x 960 GB 6 Gb/s SSD Datacenter Edition 1 x 32 GB DDR4 Reg. ECC RAM Web Box Single Intel® Xeon® E5-2600 v3 @ 2.10GHz octa-core incl. 64 GB DDR4 ECC RAM Services Box Single Intel® Xeon® E5-2600 v3 @ 2.10GHz octa-core incl. 64 GB DDR4 ECC RAM
  • 6. Bottlenecks ● Tenant Isolation Small vs Big tenants; Access to their own data; ● Dev Ops / Managing Infrastructure / DB growth 2 years - 0 GB -> 200 GB 1 years - 200 GB -> 600 GB 6 months - 600 GB -> 1.2TB Around 80-100 clients when managing the bare-metal servers started becoming a task; having already had our fair share of war stories - database going down; disk failure with RAID; log disk getting full etc. ● Exploding Service > Workers (120) Multi-threaded / Memory hungry / Isolation
  • 7. Previous Setup (Software stack) ● Database - MS SQL 2014 (1 Big DB) Typical star schema; mixed load (OLTP / OLAP) ● Asp.NET MVC / Knockout.JS / WCF / Web API ● Over 80-90 Always running background services - processing data from Google Adwords, Yahoo Bing, Facebook and other external services including our own ad-serving and tracking infrastructure.
  • 8. Considerations ● Multiple providers AWS vs. Microsoft Azure ● Cloud vendor Lock-in Yes that is a term! ● Capacity planning / Cost Estimation / Benchmark The cloud is a complex beast. Pay per use feels liberating but for consistently high usage/loads is cloud even apt?
  • 9. AWS vs Azure (Considerations contd.) ● You are bound to be confused
  • 14. Azure ● Microsoft Azure initially was all over the place; but in the last 2 years it has caught up and is in a promising direction (same can be said about Microsoft) ● Our software stack was a ‘first class’ citizen in Azure ecosystem - Azure SQL Database Pool - Azure App Service AWS vs Azure (Considerations contd.) AWS ● 3+ Experience running a horizontally auto-scaled Ad-server and Event racking system with close to 99.998% uptime ● Exposed to the full stack of AWS right from Route53, ELB, EC2, DynamoDB, S3 and CDN
  • 15. Azure SQL Database Elastic Pool AWS vs Azure (Considerations contd.)
  • 16. Azure SQL Database Elastic Pool AWS vs Azure (Considerations contd.)
  • 17. Azure SQL Database Elastic Pool AWS vs Azure (Considerations contd.)
  • 18. Azure SQL Database Elastic Pool ● Simple, cost-effective solution for managing and scaling multiple databases that have varying and unpredictable usage demands ● Shared pricing plan ● Ideal for multi-tenant applications - large differences between peak utilization and average utilization per database. AWS vs Azure (Considerations contd.)
  • 19. AWS vs Azure (Considerations contd.) Azure App Service ● Multiple languages and frameworks - App Service has first-class support for ASP.NET, Node.js, Java, PHP, and Python. ● DevOps optimization - Set up continuous integration and deployment with Visual Studio Team Services, GitHub, or BitBucket. Promote updates through test and staging environments ● Global scale with high availability - Scale up or out manually or automatically.
  • 20. ● If you are working on business critical applications - then it’s an important consideration ● You ideally want the best of what is to be offered by cloud provider but not get locked in. Unless it suits your need to the tee. ● Having a popular and widely adopted service as managed is a great advantage - happy that slowly and steadily Azure offers such services - eg: Redis, HD Insight, Azure SQL Cloud vendor lock-in (Considerations contd.)
  • 21. ● Pay-per-use is great for on-demand or sporadic usage; for always on infrastructure being able to benchmark loads and eventually estimate costs is difficult to get right ● We had cases of Azure DBs capacity planning tool fail on us - not having the right plan size. We split each tenant to multiple DBs of it’s own ● Migrated tenants in batches and so we were able to benchmark and plan capacity likewise Capacity / Cost / Benchmarking (Considerations contd.)
  • 22. Service / Worker VMs - From 1 big box VM to 25 VMs Misc Services - Redis - CDN - Cloud storage Current Setup (Infrastructure) Azure SQL - 80 tenants on 1 SQL DB > 480 DBs (4x) - Hovering around 1 TB; to 2.8TB Azure App Service - Web app - API - WCF
  • 23. Timeline of Migration Discussing and evaluation various ideas April 2016 Declaration of WAR June 2016 First live tenant Mid August New tenants started using the cloud stack Sept 2016 All tenants migrated with close to 12months data Dec 2016
  • 24. ● Tooling / Logging / Performance monitoring We had one problem earlier; now the problem is compounded and spread out ● Keeping all DB schemas in sync (migrations) ● Exception logging; actionable SMS alerts ● Our costs increased 3-5x; also the number of tenants in that time. But we were able to scale New Challenges
  • 25. “The cloud is not a silver bullet” silver bullet ~ noun ‘a simple and seemingly magical solution to a complicated problem’ Twitter: @ak47suve Email: akshay@deltax.com