Showing posts with label amazon simpledb. Show all posts
Showing posts with label amazon simpledb. Show all posts

Saturday, May 5, 2012

Overview of Amazon Web Services

Following Slide share is an "Overview of Amazon Web Services"  presented on RACSS 2012 conference @ SSN College of Engineering , Chennai. 
Overview of Amazon Web Services
View more presentations from Harish Ganesan


Agenda

  • What is Cloud Computing ?
  • What is Amazon Web Services ?
  • Overview of AWS Computing Platform
  • Benefits of AWS
  • Q&A



Typical IT Cost Structure

  • Data Center
  • Software License,Development, Maintenance
  • IT Staff
  • Support



As the business expands…need to expand your data center, staff, licenses etc too 


Now,Let’s look what cloud computing could do for you

  • Virtually Unlimited Computing Power , use only what you need
  • Virtually Unlimited Storage, For storing your documents & files
  • Traditional IT Provisioning takes time . Cloud Provisioning happens instantly, In a click..
  • Your data is replicated 3 or 4 times in Cloud Provider data center for High Availability
  • Although data and computing are accessible everywhere, You choose where they reside
  • No need to worry about Infrastructure maintenance or upgrade cost
  • Pay as You Go



All of these require MASSIVE data centers ,complex engineering and capital investments


Welcome to Amazon Web Services 

Amazon Web Services is a cloud computing platform that provides flexible, scalable, and cost-effective technology infrastructure for businesses of all sizes around the world…Utilizing the knowledge, expertise, and tools used to run Amazon.com’s global web properties for well over a decade.



AWS Computing Platform
Foundation Services
Building Block Services
Compute
Storage
Database
Networking
Application Platform Services
Management & Administration
AWS Global Infrastructure
Regions
Availability Zones
Edge Locations
Content Distribution
Messaging
Parallel Processing
Libraries & SDKs
Administration Console
Identity & Access
Deployment & Workflow
Monitoring


AWS Networking – Route53
1.DNS Service
2.Distributed
3.Managed
4.API’s and
Console


AWS Compute
Elastic Compute Cloud (EC2)
Elastic Load Balancing (ELB)
Auto Scaling


AWS Compute – ELB
1.Scalable ,Available , Managed
2.Handle 20K+ req/sec and more
3.RR/Sticky algo 
4.API’s and Console
5.HTTP/S protocol
6.Pay as you go


AWS Compute – EC2
1.Instance Types
2.Variety of OS /AMI
3.Flexible pricing: On demand ,RI and Spot
4.API, CLI ,Console
5.Complete control


AWS Compute – Auto Scaling
1.Elastic and variety of Load
2.Configurable 
3.Multi-AZ
4.Seamlessly attach with ELB
5.CPU or Custom metrics


AWS Data store
Relational Database Service
NoSQL : SimpleDB and DynamoDB
Elastic Cache


AWS Datastore – RDS
1.MySQL / Oracle /SQL Server
2.Managed
3.HA with Multi- AZ
4.Auto Backup 
5.Point in time Recovery
6.Read Replica’s
7.CloudWatch


AWS Datastore –DynamoDB
1.KV Data Store
2.Highly Scalable and Available
3.Single Digit Milli-sec SLA
4.Thousands of Concurrent writes + reads per/sec
5.Managed


AWS Datastore –ElastiCache
1.Distributed KV
2.Session / Cache Data
3.MemcacheD protocol Implementation
4.Variety of instance sizes


AWS Storage
Elastic Block Storage (EBS)
Ephemeral Storage
Simple Storage Service (S3)


AWS storage –S3
1.Simple Storage
2.Files, Documents,Logs , snapshots
3.Backend for CDN
4.Pay by use


AWS Messaging
Simple Queue Service (SQS)
Simple Notification Service (SNS)
Simple Email Service (SES)


AWS Monitoring
CloudWatch Monitoring
Custom CloudWatch Metrics
Traditional Monitoring tools - Nagios , Munin 


AWS Security


Certifications
SOC 1 Type 2 (formerly SAS-70)
ISO 27001
PCI DSS for EC2, S3, EBS, VPC, RDS, ELB, IAM
FISMA Moderate Compliant Controls
HIPAA & ITAR Compliant Architecture


Physical Security
Datacenters in nondescript facilities
Physical access strictly controlled
Must pass two-factor authentication at least twice for floor access
Physical access logged and audited


HW, SW, Network
Systematic change management
Phased updates deployment
Safe storage decommission
Automated monitoring and self-audit
Advanced network protection


AWS Security White Paper Available at http://aws.amazon.com/security


AWS benefits
Scale capacity on demand
Wide variety of Services
Focus on product and business
Capex -> Opex
Cost Effective
Flexible

Tuesday, February 14, 2012

5 Essentials every architect should know about SimpleDB

1:Shard the Data 
Spread the data among Multiple SimpleDB Domains for better throughput. Many benchmarks from Internet suggests a single SimpleDB domain can handle 70 puts/sec/domain. Every account by default can create 250 SimpleDB domains and more domains can be added by filling this form.

Example Lets assume a Single SimpleDB domain offers 70 puts/sec/domain. Your application layers requires a conncurrency throughput of 7000 req/sec. In order to increase the overall write/read efficiency shard the data into 100 simpleDB domains.

2:Retries and Exponential Backoff

Amazon SimpleDB is a webservice call and you may encounter 500,503 errors sometimes. The usual technique for dealing with such error responses in AWS
is to implement retries in the application layer. The application implementing this technique can maintain excellent level of performance and availability because it can automatically handle the overload and server errors. This technique also increases the overall reliability of the applications consuming Amazon SimpleDB service.

In addition to simple retries, the best practice is using an exponential backoff algorithm for better flow control. The algorithm logic has to be built in your application layer code. The concept behind exponential backoff is to use progressively longer waits between retries for consecutive error responses: up to 500 milliseconds before the first retry, up to 1500 milliseconds before the second, up to 6000 milliseconds before third, and so on. The timings can vary depending upon your use case.
Refer this URL for more information : http://aws.amazon.com/articles/Amazon-SimpleDB/1394



3:Run from Amazon EC2
Amazon SimpleDB gives better performance in terms of latency if we execute the queries from Amazon EC2 . This is because network round trips are avoided  when the web service calls are made from Amazon EC2. By default SimpleDB domains are created in USA-EAST AWS region. Applications accessing SimpleDB from APAC, Brazil, Tokyo AWS regions etc should make sure they select Amazon SimpleDB and Amazon EC2 from same region to get better performance. Also the network bandwidth usage is free within Amazon Region between EC2 and SimpleDB.


4:Query optimization
  • Use BatchPut API instead of PutAttributes for better write performance. BatchPut API takes 25 items (or 256 attributes or 1MB request size) on a single domain. It works like Batch commit in RDBMS , so in case of failure all items are reverted. We have observed write throughput of 20X using BatchPut compared to single Put API.
  • Avoid Non Indexed Queries like "Select * from Domain..." in Amazon SimpleDB
  • When storing dates, it is recommended that you store all dates in Joda time and use a single time zone
  • Zero Padding for sorting ( based on  largest number in your Data set)
  • Make sure you design Queries in Amazon SimpleDB domains that it will not run more than 5 seconds , beyond which Amazon SimpleDB will return error or clip them


5:Understand the SimpleDB limits

There are also certain limits that Amazon SimpleDB enforces which applies to the domain data size, domain names, query execution time, result set size, etc…please understand them before designing applications using SimpleDB

http://docs.amazonwebservices.com/AmazonSimpleDB/latest/DeveloperGuide/SDBLimits.html?r=7516




Related Articles

Need Consulting help ?

Name

Email *

Message *

DISCLAIMER
All posts, comments, views expressed in this blog are my own and does not represent the positions or views of my past, present or future employers. The intention of this blog is to share my experience and views. Content is subject to change without any notice. While I would do my best to quote the original author or copyright owners wherever I reference them, if you find any of the content / images violating copyright, please let me know and I will act upon it immediately. Lastly, I encourage you to share the content of this blog in general with other online communities for non-commercial and educational purposes.

Followers