SCALING ON AWS – FROM MVP TO 100 MILLION USERS by: Muhammad Umair Cloudifie: Cloud for

Slides:



Advertisements
Similar presentations
A Ridiculously Easy & Seriously Powerful SQL Cloud Database Itamar Haber AVP Ops & Solutions.
Advertisements

Ivan Pleština Amazon Simple Storage Service (S3) Amazon Elastic Block Storage (EBS) Amazon Elastic Compute Cloud (EC2)
WEB & MOBILE CLOUD APP With Bootstrap, Backbone, Pusher, AWS, Slim Gabriele Mittica –
Agile Infrastructure built on OpenStack Building The Next Generation Data Center with OpenStack John Griffith, Senior Software Engineer,
AWS Simple Icons v2.1 Usage Guidelines Check to make sure you have the most recent set of AWS Simple Icons. This version was last updated 4/18/2013 (v2.1)
1 NETE4631 Cloud deployment models and migration Lecture Notes #4.
Infrastructure as a Service (IaaS) Amazon EC2
Amazon RDS (MySQL and Oracle) and SQL Azure Emil Tabakov Telerik Software Academy academy.telerik.com.
The Columbus Dispatch on Amazon. The Presenters David Landreman Web Services IT Manager LinkedIn:
Marihebert Leal. Alteryx is the fastest analytics plataform that is purpose- built to empower data analysts & their productivity. It blend complex data,
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
An Introduction to Cloud Computing. The challenge Add new services for your users quickly and cost effectively.
Platform as a Service (PaaS)
SOFTWARE AS A SERVICE PLATFORM AS A SERVICE INFRASTRUCTURE AS A SERVICE.
Introduction to Amazon Web Services (AWS)
Introduction to Cloud Computing
What’s New with AWS Jeff Barr- Chief
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Let's build a media sharing website # 1 Hosting.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Introduction To Windows Azure Cloud
Mastering Amazon RDS Data Masters. Special Thanks To… Miami Innovation Center for Entrepreneurship
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Amazon Web Services BY, RAJESH KANDEPU. Introduction  Amazon Web Services is a collection of remote computing services that together make up a cloud.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
AWS Simple Icons v15.9 AWS Simple Icons: Usage Guidelines Check to make sure you have the most recent set of AWS Simple Icons This version was last updated.
Cloud Computing Dave Elliman 11/10/2015G53ELC 1. Source: NY Times (6/14/2006) The datacenter is the computer!
How AWS Pricing Works Jinesh Varia Technology Evangelist.
Windows Azure Virtual Machines Anton Boyko. A Continuous Offering From Private to Public Cloud.
Enterprise Cloud Computing
CLOUD WITH AMAZON. Amazon Web Services AWS is a collection of remote computing services Elastic Compute Cloud (EC2) provides scalable virtual private.
Licensed under Creative Commons Attribution-Share Alike 3.0 Unported License Cloud Hosting Practices Lessons DuraSpace has learned Bill Branan Open Repositories.
Cloud Computing is a Nebulous Subject Or how I learned to love VDF on Amazon.
Cloud services Amazon Web Service (AWS) Intro and usage.
Web Technologies Lecture 13 Introduction to cloud computing.
Information Systems in Organizations 5.2 Cloud Computing.
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
100% Exam Passing Guarantee & Money Back Assurance
Alfresco Enterprise on Azure Shah Rahman Founder and CEO, CloudlyIO.
#SummitNow Alfresco Deployments on AWS Cost-Effective, Scalable & Secure Michael Waldrop Director, Solutions Engineering .
Alfresco on Azure Shah Rahman Founder and CEO, CloudlyIO.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
INTRODUCTION TO AMAZON WEB SERVICES (EC2). AMAZON WEB SERVICES  Services  Storage (Glacier, S3)  Compute (Elastic Compute Cloud, EC2)  Databases (Redshift,
Fault – Tolerant Distributed Multimedia Streaming Web Application By Nirvan Sagar – Srishti Ganjoo – Syed Shahbaaz Safir
1 Cloud-Native Data Warehousing Bob Muglia. 2 Scenarios with affinity for cloud Gartner 2016 Predictions: By 2018, six billion connected things will be.
Deploying Docker Datacenter on AWS © 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Architecting Enterprise Workloads on AWS Mike Pfeiffer.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
AWS Simple Icons v AWS Simple Icons: Usage Guidelines
100% Exam Passing Guarantee & Money Back Assurance
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
N-Tier Architecture.
Introduction to Amazon Web Services Overview of AWS Services
Platform as a Service.
1. Public Network - Each Rackspace Cloud Server has two networks
Welcome to AWS Certification Exam
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
AWS COURSE DEMO BY PROFESSIONAL-GURU. Amazon History Ladder & Offering.
Acutelearn Amazon Web Services Training Classroom Training Instructor led trainings at Acutelearn premises Corporate Training Custom tailored trainings.
AWS Cloud Computing Masaki.
Cloud Computing: Concepts
Agenda Need of Cloud Computing What is Cloud Computing
Amazon Web Services.
Setting up PostgreSQL for Production in AWS
The Database World of Azure
Presentation transcript:

SCALING ON AWS – FROM MVP TO 100 MILLION USERS by: Muhammad Umair Cloudifie: Cloud for

Introduction

Startup Challenges & Limitations Challenges:  High Competition  Rapid Growth  Fast Paced Marketing Limitations:  Tight Budget  Time Constraints  Limited Resources

Solution Change traditional model, use agile solutions Fail forward, fail fast and fail cheap Focus on Product/App, not Infrastructure

Cloud Computing Model of computing which allows to use shared resources on demand.  IaaS  Offers Computing Infrastructure, like VM, Storage, Network etc.  PaaS  Offers Computing Platform e.g. Execution runtimes, database, web-servers  SaaS  Offer Application Services like CRM, , Monitoring etc

Why AWS 1. Develop, Test, Deploy and go Global using same automated infrastructure. 2. Elastic infrastructure, easily scale up and down in no-time. 3. Low infrastructure cost – instead of high fixed cost.

Infrastructure: Global Footprint

AWS Building Blocks

AWS Services (Grouped)

MVP: Single Tier Architecture  Full application stack on single EC2 instance  Application  Database  Web server  Management etc  Elastic IP address  Amazon Route53 for DNS request served concurrently

More Users, What to Do?  Scale Vertically  Scale up for higher capacity  Scale down for lower capacity Scale from AWS Micro to Large computing instances Easy to change instance types but will hit an endpoint eventually. t2.micro c4.8xlarge

Instance Types 1. General Purpose  T2: instances with ability to burst above baseline performance  M4: largest generation of GP, balanced compute, memory & network 2. Compute Optimized  C3: compute optimized for web-servers, batch processing & analytics  C4: largest in CO, best for high performance science & engineering apps 3. Memory Optimized  R3: recommended for high performance databases, distributed memory cache, in-memory analytics & SAP, SharePoint etc. 4. Storage Optimized  I2 & D2: Good for high IO NoSQL DBs & MPP data warehousing, file systems, MapReduce/Hadoop, log processing

Vertical Scale Limitation  Can serve user up-to certain extend, like users.  Everything in same basket  No redundancy  No failover

Two-Tiers Architecture Solution?

Two-Tiers Architecture Separately host application and database.  Application on EC2  Self Managed Database on EC2 or  Use Amazon Database Services

Benefits of Two-Tiers Architecture  Tailor instances for each tier  Instance Type  Storage  Easily manageable  Scale each tier separately  Enhanced Security  Separate security policy for each tier  DB behind the VPC subnet

Amazon Database Services  Rational Database Service (RDS)  Managed relational database service  Supports MySQL, Postgres, Oracle, SQL Server, and Amazon Aurora ( up to 30 million select per minute)  Amazon DynamoDB:  Fast, predictable, highly-scalable Amazon NoSQL data store  Amazon Redshift  Simple & cost effective, fully managed petabyte scale data warehouse

Which Database Service?  Choose Relational Database Service until there is clear use case for NoSQL, Why?  Feature-rich well worn technology  Mature & big community offering loads of help, code and huge knowledgebase  Can serve up to million users easily  Patterns for read heavy scalability

Use NoSQL When  Super low latency is key  Dataset is very large > 5 TB  Dataset is highly non-relational or schema-less constructs  Application is data intensive ( ingestion of thousands of recodes/Sec)

EC 2 -RDS Architecture  Everything in NOT same basket  More Secure  Highly Scalable  Easily Manageable (Managed DB) But still  No redundancy  No failover

Amazon Elastic Load Balancer Allows seamless Horizontal Scaling by distributing load evenly  Cross-zone load balancing  Automatic health checks for failover  Session stickiness: Routes request to same instance  Publish usage matrices to CloudWatch

Add Redundancy  Use Amazon Elastic Load Balancer  Address Failover by adding infrastructure Redundancy  Ensure Multi-AZ redundancy for High Availability  User > 1000 cloudifie.com

Need More Capacity?  Scale Horizontally or Scaling Out  Increase capacity by adding more resources  Add more Servers in each AZ  Increase count of database instances

100k+ Users cloudifie.com

Amazon Auto Scaling  Allows to scale EC2 fleet automatically  Save time & effort through Automation  Define scaling up & down policies  Optimize cost by on demand scaling

Where we are now  Cross zones failover load balancing  High availability  Capacity to serve 100k+ users  Layered structure  Auto-scaling

Revisit AWS Building Blocks AWS offer three very important tools for web applications 1. Simple Storage Service (S3)  Web services interface for storage & retrieval  Best for static contents like images, css, js etc. 2. ElasticCache  Very fast, highly scalable and fully managed  Memchached & Redis 3. CloudFront  AWS CDN for static & dynamic content caching and delivery through edge locations

Let’s Refine Architecture  Refine application architecture  Reduce load on web servers by shifting it to other managed services  Move 3-Teirs: Web, App & DB  Store static contents on S3  Reduce load from Database by caching frequent queries to AWS ElasticCache  Use CloudFront for the distribution of Static & Dynamic content delivery from edges.

You are good to go for 500K+ Users

But with this COMPLEXITY You would start to run into issues with speed, performance and infrastructure management. Solution: Ensure Monitoring, Analysis & Optimization Use AWS Application Management Services

AWS Deployment & Management Services Convenience Control Abstract high level servicesMore automation granularity

Divide & Rule Service Oriented Architecture (SOA) Move services into their own tiers/modules. Treat each of these as separate pieces of infrastructure & SCALE them independently.

Loose coupling sets you free Looser the components are coupled, the bigger they SCALE  Independent components & black box design  Decouple interactions  User tested services with built-in redundancy & scaling Controller AController B Tightly Coupled Controller AController B QQ Loosely Coupled

AWS Services Amazon CloudSearch Amazon SES Amazon SQS Elastic Transcoder Amazon SWF Amazon SNS

Next Big Move SOA + Loose Coupling = Win Win Shift functionality to NoSQL

Amazon SES Amazon SQS Amazon SNS Dynamo DB Amazon CloudSearch

We are good to go for Million+ Users

5-10 Million Users Use Federation & Sharding for database Scaling Federation: Splitting into multiple DBs based on functionality like Users DB, Products DB etc. Sharding: Splitting one dataset across multiple hosts UserShard ID 1234A 1235B 1236C 1237D

Million Users Application Fine Tuning More decoupling & SoA Scale out from Multi-AZ to Multi-Regions Build custom solutions

Thank You so very much