Saturday, October 15, 2011

Introducing Amazon Web Services to a Windows Azure developer

Ref: https://windowsclient.net/blogs/anshulee/archive/2010/10/14/introducing-amazon-web-services-to-a-windows-azure-developer.aspx


If you have been working on Windows Azure and have now decided to ramp up on Amazon Web Services, this note can help you map Amazon and Azure and understand where one stands wrt the other..
Just like the Azure platform  is broken up into SQL Azure, AppFabric (Service Bus and Access Control) and Windows Azure (Tables, Blobs and Queues), Web and Worker roles, Azure CDN etc etc  and you had to ramp up on all those terms when you started up on Azure, Amazon doesn’t make life easier either:-)
The MAIN difference between Amazon and Azure is of course the IAAS vs PAAS and if you haven’t read an earlier blog on this then i suggest you read it now..
What i am attempting to do here is introduce you to the different aspects of Amazon Web Services(AWS) and at the same time i will mention how it is similar(note “similar” and not compulsorily “same”) to a feature available in Azure..
Lets start with the most frequently heard term..
  • Amazon EC2…
So you keep reading about Amazon EC2 and at least i used to think each machine in that data centre is called an Amazon EC2..nope..Amazon EC2 is a web service that enables you to launch and manage server instances in Amazon's data centers using APIs or available tools and utilities .
So what you launch is a “service instance” also called as Amazon Machine Images( AMI) and you launch and manage them using EC2. These AMIs are also called EC2 Instances but you must be clear that EC2 is a webservice and not the instance itself!!
  • Amazon Elastic Block Store(EBS) :(Azure Counter part:- None)
Amazon Elastic Block Store (Amazon EBS) offers persistent storage for Amazon EC2 instances.(Something we sorely miss in Azure and leads to lot of heartache!!!) Amazon EBS volumes provide off-instance storage that persists independently from the life of an instance. Amazon EBS volumes offer greatly improved durability over local Amazon EC2 instance stores, as Amazon
EBS volumes are automatically replicated on the backend (in a single Availability Zone).
Elastic IP addresses are static IP addresses designed for dynamic cloud computing. An Elastic IP address is associated with your account, not a particular instance, and you control that address until you choose to explicitly release it. Unlike traditional static IP addresses, however, Elastic IP addresses allow you to mask instance or Availability Zone failures by programmatically remapping your public IP addresses to any instance in your account.
  • Auto Scaling :- (Azure Counterpart:- None)
Auto Scaling allows you to automatically scale your Amazon EC2 capacity up or down according to conditions you define. With Auto Scaling, you can ensure that the number of Amazon EC2 instances you’re using scales up seamlessly during demand spikes to maintain performance, and scales down automatically during demand lulls to minimize costs. Auto Scaling is enabled by Amazon CloudWatch and available at no additional charge beyond Amazon CloudWatch fees
Though Auto Scaling is possible in Azure it is left to the developer to implement autoscaling algorithms for the same. The option of setting trigger conditions and creating Auto- Scale groups etc that Amazon offers is every Azure developer’s dream!!
  • Amazon Virtual Private Cloud :- (Azure Counterpart:- None)
Amazon VPC enables enterprises to connect their existing infrastructure to a set of isolated
AWS compute resources via a Virtual Private Network (VPN) connection
Not applicable to Azure since its a PAAS offering
  • Amazon CloudWatch :-(Azure Counterpart:- IIS Logs)
Amazon CloudWatch is a web service that provides monitoring for AWS cloud resources, starting with Amazon EC2. It provides you with visibility into resource utilization, operational performance, and overall demand patterns—including metrics such as CPU utilization, disk reads and writes, and network traffic
Azure IIS Logs don’t really come close to the functionality provided by CloudWatch and needs to be configured in code, moved to blobs and then pulled down.
  • Amazon Cloud Front :- (Azure Counterpart:- Azure CDN)
Amazon CloudFront is a web service for content delivery. It integrates with other Amazon Web Services to give developers and businesses an easy way to distribute content to end users with low latency, high data transfer speeds, and no commitments.
Requests for your objects are automatically routed to the nearest edge location, so content is delivered with the best possible performance
Being a typical CDN its pretty comparable to Azure CDN
  • Amazon SimpleDB :- (Azure Counterpart:- Windows Azure Table Storage)
Amazon SimpleDB is a highly available, scalable, and flexible non-relational data store.Unbound by the strict requirements of a relational database, Amazon SimpleDB is optimized to provide high availability, ease of scalability, and flexibility with little or no administrative burden
Pretty comparable to Azure Table Storage, though it will be interesting to see which one performs better in times of “stress” and partitioning requirements..
  • Amazon RDS :- (Azure Counterpart:- SQL Azure)
Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks
Amazon RDS gives you access to the full capabilities of a familiar MySQL database. This means the code, applications, and tools you already use today with your existing MySQL databases work seamlessly with Amazon RDS
Amazon RDS is MySQL on the Cloud and SQLAzure is SQL server on the Cloud!! 
  • Amazon Simple Queue Service (Amazon SQS):-(Azure Counterpart:-Windows Azure Queues)
Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly scalable,hosted queue for storing messages as they travel between computers. By using Amazon SQS, developers can simply move data between distributed components of their applications that perform different tasks, without losing messages or requiring each component to be always available
Again quite comparable to the functionality delivered by Azure Queues
  • Amazon Simple Notification Service (Amazon SNS):- (Azure Counterpart:- Azure Service Bus eventing and subscription Model)
Amazon Simple Notification Service (Amazon SNS) is a web service that makes it easy to set up, operate, and send notifications from the cloud. It provides developers with a highly scalable, flexible, and cost-effective capability to publish messages from an application and immediately deliver them tosubscribers or other applications. It is designed to make web-scale computing easier for developers.
Directly comparable to the Evening and Subscription model available in Azure App Fabric Service Bus..The service namespace coupled with message buffers make powerful publish-subscribe models.
  • Elastic Load Balancing(Azure Counterpart:- Inbuilt in the Azure fabric)
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances. It enables you to achieve even greater fault tolerance in your applications, seamlessly providing the amount of load balancing capacity needed in response to incoming application traffic.
This is of course inbuilt in the Azure framework.
  • Amazon Simple Storage Service (Amazon S3):-(Azure Counterpart:- Windows Azure Blob Storage)
Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, secure, fast, inexpensive infrastructure that Amazon uses to run its own global network of web sites.
Similar to Blob functionality
Hope this helps clear up the air a bit …coming up next..a deep dive into Amazon EC2 Instances…oops AMIs:-)

3 comments:

  1. Nice information keep update with more things thanks for sharing AWS Online Training India

    ReplyDelete
  2. Superb. I really enjoyed very much with this article here. Really it is an amazing article I had ever read. I hope it will help a lot for all. Thank you so much for this amazing posts and please keep update like this excellent article. thank you for sharing such a great blog with us.

    Digital Marketing Training in Chennai

    Digital Marketing Course in Chennai


    ReplyDelete