Learn AWS #2 – Give Me Details

Here are some great resources that will provide you a lot more details. They also come with the right price, free.

  •  Sign up for a free account so that you can play around.
  •  Kindle edition of the book, Getting Started with AWS
  •     Note that AWS changes are the speed of Cloud. It is still evolving in terms of management functions, tools, and menus. While the books is fairly accurate on the capabilities, the options are not usually where they are. For example, if you want to set a billing alert so that you don’t accidentally get charged too much for your usage, the book calls out different navigation menu, which has been deprecated. That said, these type of changes are very common to all cloud providers. The Amazon navigation menu is intuitive enough that you will figure it out.

Learn Amazon Web Services (AWS) #1


The purpose of this series to share my take on AWS. The primary objective here is to create a learning experience on AWS through short lessons. The target audience are IT architects, developers, and geeks who want to show off to pretty girls (it does not work that way).

My goal here is not to conduct long drawn lectures. There are fantastic classes from PluralSight, InfiniteSkills, and other companies for this. Rather, I will be sharing short lessons, how-to tips, and links to web pages that I find useful for learning AWS. When you start  picking on my articles, you know you have become a master of AWS. We can grab a cup of coffee and discuss our views at that point.

This blog is not for those who do not want to be bothered by details of underlying infrastructure.

Warning – Some of my remarks and puns might offend you. Feel free to worship me (desired) or insult me (anticipated).

What is Amazon Web Services (AWS)?

AWS is a collection of infrastructure (IaaS) and platform (PaaS) services geared for Cloud. These capabilities are beautifully architect for high availability and self-service. Due to the competition from Google and Microsoft, these services are getting amazingly cheaper.

AWS provides awesome raw power to anyone who needs to rent raw Compute on the cheap (CPU, Storage, Memory, and some variations of OS, messaging, and workflow).An useful diagram on what is AWS  (courtesy of Amazon’s book ‘Getting Started with AWS’ book)

AWS Offerings

Note that Amazon does not provide a SaaS implementation like Salesforce or NetSuite. Its idea is that you will build a successful SaaS offering using their toolbox.

For the visual learners, here is a short video on AWS: http://aws.amazon.com/getting-started/ . This video would have been more credible to me, if the audio had an Indian accent. 😉 Someone should work on dynamic localization of promotional videos based on browser’s default language.  It is a conversation for another day.

Types of Cloud

Depending on the audience and security, cloud computing can be organized into four groups.

Public cloud is an IT capability that is rendered as a service to any consumer over the public Internet. Some of the well known examples are Saleforce.com, Google App Engine, Microsoft Azure, and Amazon EC2.

Private cloud is an IT capability that is rendered as a service to a select group of consumers. Private cloud service provider could be the IT department of the same organization as the customer. It could also be a third party vendor who has created a network for specific use of that customer.  Note that the network on which the service is provided could be either a public network such as the Internet or a private network.  Examples include hospitals or universities that organize a holding company to purchase infrastructure and build cloud services for their consumption.

Internal cloud is a subset of a private cloud. It is an IT capability rendered as a service by an IT department to its own business customers. Example would be that an IT department building a highly virtualized environment for consumption of internal application developers. This would automate the procurement and provision process. It would also automate internal charge back to the developer’s or the project cost center.  The role of the IT environment team would be to monitor and provision the hardware, middleware, and application licensing so that the demand does not overrun capacity.

External cloud is an IT capability that is rendered as a service to a business that is not hosted by its own IT organization. An external cloud can be public or private, but must be implemented by a third party.

How is Cloud Computing Different from Others?

Mainframe difference

Cloud computing is about externalizing service. It means that the computation is done somewhere else. This requires the service provider to have powerful servers. Till this point, there is not any difference between good old mainframe and cloud computing.

BUT, cloud computing is about distributed computing. In the mainframe world, you cannot procure a data storage from one vendor, several IT services from multiple vendors, combine (mash-up) them into a business solution.  

SOA Difference

Both Service Oriented Architecture (SOA) and Cloud Computing focus on the flexibility and lower cost aspects of providing solutions. Both these terms include both a set of technologies and business models.

SOA is about creating a standards based framework that provides highly reusable services and workflow. Cloud Computing does not have any standards as such. Cloud vendors, at present, don’t see a value in creating standards based service offering. They are busy retooling and promoting their existing IT capabilities as Services on the Cloud. This will hurt many of these providers in the long run. Also this is making it hard for their customers to move from one vendor to another and integrate these externalized services deep inside their enterprise infrastructure.

A mix of SOA and Cloud computing would create standards based framework that can be integrated deep into the existing IT infrastructure.  This would lower cost of migration from one vendor to another. Such an offering will improve the confidence of enterprise architects in these services resulting in deep integration into Line of Business (LOB) applications.

Grid Computing Difference

Grid computing is the combination of computer resources from multiple administrative domains applied to a common task. It is mainly used for scientific or technical problems. In grid computing, a few users makes request for a large amount of computing. So, grid computing devices usually employ super computers or specialized computing devices.

In Cloud computing, each service focuses mainly on solving a single business problem.   Here, a large number of users request a small amount of computing.  In cloud computing, a large number of off the shelf computers are used to create a cloud environment.

Promising Benefits of Cloud Computing

Business is forcing IT organizations to adapt to cloud computing because its financial benefits. IT organizations are interested in Cloud computing for its Operational Benefits, Financial Benefits, Better support for collaboration and Increased access to IT services for mobile workforce.

A cloud-based infrastructure requires its robust and redundant infrastructure. This often provides better uptime and availability at a lower cost. For example, storage on Amazon S3 can be procured as little as 0.15 cents per GB.  Since cloud services start with a prebuilt foundation, they provide good support for flexible provisioning, allows consistent upgrades, and expedites launch of new, innovative projects to gain/retain market share.

We have seen earlier that the pay-as-you go model allows greater flexibility in cash flow. This also empower companies to scale gracefully based on demand. The increased cash flow allows enterprises to fund multiple projects simultaneously, without having to provision for capacity, investments, and personnel as a priority.  Since the operational management is owned by third party service provider, ongoing operational overhead for internal IT departments would be lower.  This will bring down the total cost of ownership (TCO) for using a cloud service lower than a on-premise model that exists today.

 Collaborative and community computing facilitates multisource input and multiparty computing, which is the core strength of cloud computing model. This brings benefits that are not attainable with local computation only. For example, cloud-based threat service such as distributed denial of service attacks (DDoS) or spam detection. A cloud service that has a wide visibility of the Internet traffic would see the onset of an attack more quickly and accurately than any local threat detector. Another example would be National Geographic’s topo.com that uses Amazon’s S3 to sell maps, download updated trail and trip information and even create trip maps to share with their friends.

As you probably know, not everything can be classified as cloud computing. Remember the early 90’s when you could order pizza or food over the web in the San Francisco Bay area?  It was not a web based pure play business model.  Similar to that 90’s ASP business model, a lot of technology vendor are coming up with new cloud services almost every day. Many of them are not cloud service but rather follows ASP hosted model. We will revisit this topic later in the series.

Cloud Computing 101

Cloud Computing is the latest industry buzz, which has climbed to its peak in 2009. This series of articles are an attempt to demystify the hype behind Cloud Computing.

In this series, I will write about  

          a brief overview of the cloud computing

          how it is different from good old mainframe

          how it is different from other buzz words such as SaaS, Grid Computing and SOA

          architecture of cloud computing

          usage models of cloud computing

          myths surrounding cloud computing

          concerns on cloud computing

As we go along this journey, feel free to use me as your sounding board. I am open to taking detours that would address your questions and concerns.

Cloud computing paradigm is a combination of technology practices and business models working together to deliver agility and scalability to business at a fraction of the cost it would take for traditional IT models to deliver equivalent capabilities.  

Cloud computing refers to any IT capability that can be virtualized, externalized and monetized.  By  virtualizing an IT capability, the underlying technology stake is almost irrelevant to the consumers. By externalizing, the capability is made portable and easy to manage with least number of dependencies. The ability to measure and monitor the service usage at a granular level helps create consumption based charge back model that is most attractive business clients. This way, a business can rent an IT capability without investing heavily in its IT department to stand up this service. Think cash flow!