Scalable Architecture on Amazon AWS Cloud



Similar documents
Scaling in the Cloud with AWS. By: Eli White (CTO & mojolive) eliw.com - mojolive.com

How AWS Pricing Works May 2015

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

How AWS Pricing Works

TECHNOLOGY WHITE PAPER Jun 2012

Shadi Khalifa Database Systems Laboratory (DSL)

Amazon EC2 Product Details Page 1 of 5

Alfresco Enterprise on AWS: Reference Architecture

ur skills.com

TECHNOLOGY WHITE PAPER Jan 2016

Amazon Elastic Beanstalk

Scalable Application. Mikalai Alimenkou

Preparing Your IT for the Holidays. A quick start guide to take your e-commerce to the Cloud

EEDC. Scalability Study of web apps in AWS. Execution Environments for Distributed Computing

AWS Performance Tuning

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

Web Application Hosting in the AWS Cloud Best Practices

Web Application Hosting in the AWS Cloud Best Practices

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Cloud Computing: Making the right choices

Big data blue print for cloud architecture

Big Data on AWS. Services Overview. Bernie Nallamotu Principle Solutions Architect

Cloud computing - Architecting in the cloud

Design for Failure High Availability Architectures using AWS

AIST Data Symposium. Ed Lenta. Managing Director, ANZ Amazon Web Services

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

Last time. Today. IaaS Providers. Amazon Web Services, overview

Designing Apps for Amazon Web Services

Razvoj Java aplikacija u Amazon AWS Cloud: Praktična demonstracija

Thing Big: How to Scale Your Own Internet of Things.

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Last time. Today. IaaS Providers. Amazon Web Services, overview

Introduction to Amazon Web Services! Leo Senior Solutions Architect

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

Amazon Web Services Yu Xiao

How To Choose Between A Relational Database Service From Aws.Com

Cloud Computing and Amazon Web Services

Running Oracle Applications on AWS

Building Success on Acquia Cloud:

Scalable Web Application

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

Cloud Computing For Bioinformatics

Cloud Computing In Reality: Experience sharing in cloud solution developments and evaluations

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

Building Fault-Tolerant Applications on AWS October 2011

Cloud Computing with Amazon Web Services and the DevOps Methodology.

Storage Options in the AWS Cloud: Use Cases

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

Financial Services Grid Computing on Amazon Web Services January 2013 Ian Meyers

ArcGIS for Server: In the Cloud

ColdFusion 10 in the Amazon AWS Cloud. Sven Ramuschkat tecracer GmbH

CLOUD COMPUTING WITH AWS An INTRODUCTION. John Hildebrandt Solutions Architect ANZ

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

Cloud Computing Summary and Preparation for Examination

Last time. Today. IaaS Providers. Amazon Web Services, overview

Drupal in the Cloud. Scaling with Drupal and Amazon Web Services. Northern Virginia Drupal Meetup

Software- as- a- Service (SaaS) on AWS Business and Architecture Overview

Cloud Models and Platforms

Amazon Web Services. Lawrence Berkeley LabTech Conference 9/10/15. Jamie Baker Federal Scientific Account Manager AWS WWPS

Real Time Big Data Processing

HYPER-CONVERGED INFRASTRUCTURE STRATEGIES

HADOOP BIG DATA DEVELOPER TRAINING AGENDA

Introduction to DevOps on AWS

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

Scalability in the Cloud HPC Convergence with Big Data in Design, Engineering, Manufacturing

So What s the Big Deal?

Jinesh Varia Technology Evangelist Architectural Design Patterns in Cloud Computing

How To Manage An Orgsync Database On An Amazon Cloud 2 Instance

Architecting Applications to Scale in the Cloud

Cost Optimization with AWS

!"#$%&'()*'+),-./)0' 9##+':,%-.;),0'

Introduction to Hadoop. New York Oracle User Group Vikas Sawhney

RDBMS in the Cloud: Oracle Database on AWS

Making Your ColdFusion Apps Highly Available. Brian Klaas Johns Hopkins Bloomberg School of Public Health

The High-Performance Cloud Infrastructure Company! 2011 Joyent, Inc. Contains Joyent Restricted Secrets. Not for Public Disclosure. Patents Pending.!

Using ArcGIS for Server in the Amazon Cloud

High-Availability in the Cloud Architectural Best Practices

DLT Solutions and Amazon Web Services

WE RUN SEVERAL ON AWS BECAUSE WE CRITICAL APPLICATIONS CAN SCALE AND USE THE INFRASTRUCTURE EFFICIENTLY.

Lets SAAS-ify that Desktop Application

Amazon Web Services Student Tutorial

Using ArcGIS for Server in the Amazon Cloud

Enterprise Cloud Computing with AWS. for internal partner use only

Amazon Web Services. Elastic Compute Cloud (EC2) and more...

Introduction to AWS in Higher Ed

Intro to AWS: Storage Services

NoSQL and Hadoop Technologies On Oracle Cloud

IAN MASSINGHAM. Technical Evangelist Amazon Web Services

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION

The Cloud as a Computing Platform: Options for the Enterprise

Technology Enablement

Oracle s Big Data solutions. Roger Wullschleger. <Insert Picture Here>

Transcription:

Scalable Architecture on Amazon AWS Cloud Kalpak Shah Founder & CEO, Clogeny Technologies kalpak@clogeny.com 1

* http://www.rightscale.com/products/cloud-computing-uses/scalable-website.php 2

Architect to scale on-demand and provision as per current requirements Ideal model for unpredictable and variable loads 3

Scalability Requirements Increase in resources Increase in performance Predictability Low Latency High Reliability Dynamism: Number of users, volume of data, skews Operational efficiency Costs should not scale {Elasticity, Scalability, Resiliency} 4

Scalability Perspectives What needs to scale? Compute IO Latency Memory Provisioning time Network Backup / Restore times Storage Failover Monitoring Ops Vertical scalability Horizontal scalability Scale across geographies HPC workloads Data Processing workloads 5

Vertical Scalability When scale is predictable and linear When you do not want to spend on re-architecting the application or deployment Increase instance sizes 1 33.5 EC2 Compute Units 613MB memory to 68GB memory Size or number of EBS disks HPC Instances 10 Gigabit ethernet Higher IOPS for EBS disks Limitations. 6

Scaling multi-tier stacks 1 Service Oriented Architecture Loosely coupled Standard service contracts Web Services Enables independent tiers for deployment & management Messaging / Queue layer Queue 1 Queue 2 Tier A Tier B 7

Scaling multi-tier stacks 2 Amazon SQS: Reliable, scalable, hosted queue; exposed as web service RabbitMQ: Open-source HA messaging system, clustering support BeanStalkD: Simple, fast work queue Clustering Application Servers JBoss App Server, IBM WebSphere Application Server Add or remove nodes on the fly automate through scripting Stateless behavior can be added when necessary VPC does not work across availability zones (AZ) in the pipeline though 8

Elastic Load Balancing, Auto Scaling Amazon Elastic Load Balancing Distributes incoming traffic to your application across several EC2 instances Detects unhealthy instances and reroutes traffic Auto-Scaling Enabled by CloudWatch: Monitoring, custom metrics, free tier, graphs and statistics Rule-based automatic scaling of your EC2 capacity Based on metrics including resource utilization, software stack metrics or custom metrics N+1 redundancy 9

Monitoring & Logging Amazon CloudWatch Monitoring for AWS cloud resources & applications Collect and track metrics CPU, latency, request counts, custom metrics Monitoring with your own tools Using Hyperic or Nagios for monitoring specific layers of your stack or to leverage existing investments Logging No dependency on instances copy necessary logs to S3 periodically 10

Databases - Replication Master-Slave Replication (MySQL, Oracle RAC) Writes on master Reads distributed across slaves Works well in read mostly scenarios Slave lag issue Writes Master Slave Slave Slave Reads 11

Databases Sharding - 1 Partition data across masters Writes & Reads are distributed Application needs modification Needs choice of partitioning strategy for uniform data distribution 12

Databases Sharding - 2 Issues Joins cannot be performed across shards Application modification can be expensive Example Evernote uses database sharding localized failures, no need for joins Each shard handles all data & traffic for about 100,000 users http://blog.evernote.com/tech/2011/05/17/architectural-digest/# 13

Databases Amazon SimpleDB Schema-less distributed key-value store Highly reliable and scalable (redundancy across geos) Automatic indexing of columns API based global access Supports multiple values for key/attributes Eventual consistency or consistency speed or consistency? Limitations No joins, No transactions, No aggregators, text searches NoSQL MongoDB, Cassandra, Redis 14

Databases Amazon RDS Relational Database Service (RDS) from AWS Scale your DB layer with minimum administration MySQL and Oracle supported Import existing databases & no changes to applications Multi-AZ deployments supported Manages backup of your database and enables restore from DB snapshots 15

Reserving Scalability Reserved Instances AWS has finite hardware capacity Provisioning times can vary Use few reserved instances to book capacity in advance (also take advantage of lower prices) Can be done across availability zones to ensure DR Larger EBS disks Create larger EBS disks to ensure better performance Netflix creates 1TB disks in this manner 16

Scalability using PaaS Amazon Elastic Beanstalk Platform-as-a-Service with deployment, capacity provisioning, load balancing, auto-scaling & application health monitoring Application versioning support (rollback if needed) Uses EC2, S3, RDS, SimpleDB, Load Balancer, CloudWatch Retain control of your infrastructure if desired Other PaaS products CumuLogic, CloudBees, DotCloud, PHP Fog Java, PHP, RoR, MongoDB, MySQL 17

Elastic MapReduce (PaaS) Hosted Hadoop Framework Manages job flows & provisioning of all infrastructure AWS Console to create & manage workflows Supports custom jars, Hive, Pig, streaming & processing in multiple languages/stacks Debug & profile jobs Run across geographies Data processing, analytics Scalable Managed MapReduce Platform 18

Automation for managing scale CloudFormation Templatize your stack Predictable provisioning of your stack RightScale Sophisticated cloud management platform Templates, automation, orchestration, portability Tools, Connectors, Enablers Automated orchestration & setup Snapshot management Monitor security groups and firewalls 19

Case Study Auto Scaling Group - Apache Auto Scaling Group - Django SES AZ1 App Server Managed Scaling scalableportal.com 3 rd Party API E L B Web Server 1 (Reserved) Web Server n L B App Server 1 (Reserved) App Server App Server n n Work Server Work Work Server Local Server DB MySQL Master AZ2 No listing, Hash based access, Millions of files Amazon S3 EBS Snapshots MySQL Slaves 20

There are some limits EC2 has limit of 20 instances S3 has limit of 100 buckets Simple Email Service (SES) has a daily sending quota NOTE: All of these limits can be increased or waived by requesting AWS. Ensure to do this before you hit the limits in production. 21

Scale but minimize costs - 1 Use of Reserved Instances Commitment for upto 1-3 years with some upfront payment Actual usage cost is much lower If used for more than 6 months in a year, can be 30-45% cheaper than on-demand instances Reduced Redundancy Storage Reduce costs by storing non-critical data at lesser redundancy and lesser availability/durability of 99.99% Instance Sizes Run some smaller instances as part of clusters 22

Scale but minimize costs - 2 Data Transfer beyond 10TB Consolidate AWS accounts so that higher usage translates to saved costs. $0.15 upto 10TB and $0.11 beyond 10TB. Identify extra capacity Use monitoring to identify unused capacity & optimize Spot Instances Bid for unused capacity choose your maximum price Get more within your existing budget 23

Questions? 24