Posts Tagged ‘Cloud’
13
Sep

Introduction

Cloud Computing now finds a way through most technical discussions. Irrespective of the medium (Web Search, Twitter, Online Journals), you will find Cloud Computing being discussed. But ask anyone the definition of Cloud Computing and you will be hard pressed to get two exact definitions from different people.

Some define it as servers available for rent to storage or applications that we access from the browser, etc. All of them are right in ways. But is there a definition that describes the essence of Cloud Computing. While there might be various definitions of that, we shall look at one of the definitions of Cloud Computing in this blog post. It is known as the 5-3-4 Formula.

The 5-3-4 Formula is further broken down into the following:

5 key characteristics

The key characteristics are:

  • On Demand Self Service: As the application owner, you should be able to provision additional computational resources for your application, look up reports and perform Administration tasks without requiring human intervention. Cloud vendors are now providing monitoring and provisioning tools where the user is in full control of provisioning things.
  • Ubiquitous Network Access: We are living in a world where a desktop and laptop computer is not the only way that people access the Internet. Mobile device access is increasingly becoming a major source of traffic to your application. And it is not just mobile devices but devices fitted in vehicles and even our Televisions that are accessing the Internet. These explosion of device types and various networks around the world brings to the important concept of “ubiquity”. It means that no matter from what device or network , one should be able to reach your application via the public cloud networks. And this access is the cornerstone of cloud computing. Always available and from anywhere.
  • Location Independent Resource Pooling: This feature is key to providing your additional resources. As a consumer one should not be worried about how the cloud allocates additional servers, takes care of multi-tenancy and allocation of physical and virtual servers in different geographical locations to meet your demand. Location Independent Resource Pooling is the ability of the Cloud to do exactly that.
  • Elasticity: If you have released any online web application you can now look back and see those days where the number of hits to your sites peaked due to a new release or a press announcement. There will be spikes in user activity and you cannot scramble around for additional hardware when that happens. Cloud Computing addresses this through Elasticity. What it means is that the Cloud Vendors will automatically allocate you more resources as your application needs it. Extra Servers, more memory, more storage, etc will be available to your application if the need arises.
  • Pay per Use: This is one of the key characteristics and one of the reasons for cloud computing gaining acceptance. Just like you can seldom predict your peak usage, it is important that you pay only for the amount of resources that you use. Cloud Computing vendors have various schemes starting with freemiums and then tiered pricing that clearly specify the quotas that are available based on what they charge you. At any point in time, you can switch between plans and allow for extra charging depending on additional resources that your application might use.

3 delivery models

Cloud Computing is typically delivered in 3 models and each one builds on the other

  • IaaS : Infrastructure as a Service. This layer is about providing processing power (CPU cycles), storage, bandwidth, networks and other infrastructural resources. Some of the key players over here are Amazon Web Services (AWS) , Rackspace and others.
  • PaaS: Platform as a Service. This layer builds on top of the IaaS layer and provides a developer with a complete stack on which to build applications. The stack comprises APIs that abstract out the low level details and allow the developer to quickly use them to build out the application. The key players in this space are Google (Google App Engine), Microsoft (Azure), Sales Force (force.com) and recent entrants like CloudFoundry from VmWare.
  • SaaS: Software as a Service. In simple terms, these are ready made applications that you can use either for free or a fee. You simply need to sign up, optionally pay and login to use the software. Examples of this include SalesForce (CRM), Gmail, Google Apps, etc.

4 deployment models

The 4 deployment models available are given below:

  • Public
  • Private
  • Hybrid
  • Community

Typically, the public cloud is what is best known to most of us. While classification does exist for other types like private, hybrid (mix of public/private) and community – they are not that prevalent and no clear classification exists. So for all practical purposes, when we refer to the cloud, it is public and with appropriate authentication and access control mechanisms built in.

So the next time, someone asks you to define “Cloud Computing”, you can simply say “5-3-4”.

Romin Irani
Romin Irani– Principal Architect

, , , , ,

20
Apr

Cloud computing is more than a concept. Let us understand what it is. This post gives a brief of what is cloud computing, its attached benefits and some of the new paradigms that has arisen due to this.

Cloud – Introduction

The cloud is largely a CPU bank on which a hypervisor runs and provides virtual servers on demand via network to users. The user is no more tied to his desk and can access the computing resource such as virtual server or its apps running on a virtual server through any thin/thick terminals, tablets or even handhelds.

As per Wikipedia “Cloud computing refers to the provision of computational resources on demand via a computer network”.

So essentially the computing resources have been centralized and are available to users via network. This raises two important issues of network bandwidth and security. While security issues can be taken care of by encryption, there is a larger concern about the network bandwidth, the good news is that this bandwidth is just required for  user I/O , while the data access and transfers operations  are performed over the cloud.

This makes the ‘cloud’ an interesting option, we will explore this further below

Cost benefit – They have potential to drastically lower down the cost of IT infrastructure for businesses by replacing entire in-house IT infrastructure with dumb terminals connected to cloud via network. The cost associated is pay as you use which can be scaled up /down depending upon the demand. Other benefits would be

  • Energy efficient, provides for elastic and maximum resource usage of IT hardware.
  • Provides highly optimized server environments with co-located app servers, data bases, file systems and tuned up hardware.
  • Offers on demand computing (make more resources (processors and memory) available to a program while it is executing)
  • Require just connectivity software to cloud (could be just a plug-in to your browser),can connect from anywhere and use many devices like tablets and handhelds .
  • Increased customization from cloud providers, can offer installed software stacks or just APIs or even complete services (IaaS, PaaS, SaaS).

Expectations from cloud providers

  • Cloud would only be useful when they do not compromise on the response time
  • There should be a well defined standard followed by every cloud service provider so as to allow the user the flexibility to switch and select between different providers.
  • Clouds should be able provide services which are in compliance with regulations like FISMA, HIPAA and SOX in the United States, the Data Protection Directive in the EU and the credit card industry’s PCI DSS

Cloud computing is a new paradigm, given below are its risks as compared to having an in-house IT infrastructure. While network risk and data security risks are manageable, let’s say by using guaranteed bandwidth with spikes handled over fiber optics and data security by encryption, industry wide cloud interoperability is still not on horizon.

IT infrastructure on Cloud In house IT infrastructure
Trivial Personnel risk Personnel risk
Network risk Trivial Network risk
Data security risk (needs encryption) Trivial Data security risk
Vendor Lock in Trivial Vendor Lock in

New Technical Paradigms with clouds

  • Choices of large computing power, super, grid and cluster computing can be made readily available to applications hence affecting its design.
  • Horizontal vs. Vertical scalability tradeoffs (May boil down to what costs low with cloud provider)
  • App over HTTP vs. App access over cloud protocol.

Html updates on user ‘s  browser using  HTTP versus binary stream of terminal output made available to user terminal using cloud’s protocol. For example Citrix provides I/O for remote server using its proprietary ICA protocol that takes care of compression and encryption.

The diagrams below explain the new architectural choices

◦       Horizontal vs vertical scaling on cloud will require a revisit

Web app over HTTP vs thin client accessing service using clouds protocol from, lets say a webapp hosted on a cloud.

Well there is much more than what we have covered here. We will go from here to understand what is it that is needed to adopt cloud computing. Watch this space for more.


Gyanendra Singh– Sr. Tech Lead

, , , , , , , ,

26
Feb

Cloud computing redefines Enterprise Computing in ways beyond client-server model and web computing and is a talk of the town recently. Cloud computing extends beyond the concepts of distributed, grid and utility computing abstracting the infrastructure and technological expertise needed for common day to day services.

Cloud computing is an emerging trend in IT world seeking to change the concept of personal computing and taking it to a new level of computing available as a service. Services available for computing are broadly categorized into Software as a Service (SaaS), Utility computing, Web services, Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). It is being estimated that spending on the cloud would increase three fold in next three years

Knowingly or unknowingly, each of us have used cloud computing from last few years with almost every Internet user using public email services, storing personal photographs for sharing with friends and families, socializing via the cloud and many more.

Obvious benefits that the Cloud brings are

· Low initial investments. Pay as per usage model lets one get started without any initial investment.

· No maintenance. Cloud Vendors would bear the complexities of maintenance.

· Instant resource expansion. Firms could easily scale from little to huge resource consumption in few minutes.

Am I ready to jump on Cloud bandwagon?

Key considerations are:

· Architecture and Design overview

· Cost Effective analysis.

· Capacity Planning

· Operational Issues

· Security

· Data ownership governing laws

· Green IT

Determining ROI on Cloud Computing

Architecture and Design overview

Current software architecture and design needs to be reviewed to check if it scales to allow computing on the cloud. This includes determining data security isolations with access controls; trust boundaries and identifying business critical data. It also caters to understanding data operations and storage trends within an organization.

Cost Effective analysis.

Software licensing charges, data center costs, infrastructure needs and maintenance, high availability of mission critical data determine the costs. Cloud computing does bring in cost benefits; however it also brings in additional costs in terms of bandwidth needs.

Capacity Planning

Identifying utilization of various resources like CPU, data storage capacity, network bandwidth and evaluating if they are optimally used. There is no need to jump to the cloud if the existing resources are under used.

Operational Issues

High availability depends on the expected uptime defined for system requirements. The cost of each additional nine of availability can grow exponentially.

SLAs are the negotiated terms that outline the obligations of the two parties involved in delivering and using a system, like:

· System type (virtual or dedicated servers, shared hosting)

· Levels of availability

· Uptime

· Serviceability

· Performance and metrics

· Billing

Understanding the risks involved in downtime of the system may critically impact the business and mission critical systems need to be mitigated by tight SLAs.

Security

Data security is determined by Cloud vendor’s security policies. Data security is measured in terms of:

· Physical access to data

· Backups

· Network security

· Access and Authentication procedures.

· Data encryption techniques.

Data ownership governing laws

There are currently no clear International laws governing the privacy and security of the data posted over the cloud. Governments tend to preview stored data to gather intelligence under national security laws.

Green IT

The Green Grid consortium estimates that most data centers have a power usage effectiveness (PUE) ratio of between 1.3 and 3.0.5 A PUE of 3.0 means for every 3.0 watts of electricity entering the facility, only 1.0 watts is used to support computing activities (i.e. servers) while the other 2.0 watts support other infrastructure (i.e. cooling).

Cloud computing promises efficient energy consumption and appropriate utilization of resources.

Key Cloud Vendors:

Amazon’s cloud – Amazon Web Services (AWS) provides Simple Storage Service (S3) as a Storage Virtualization solution in IaaS model, Elastic Compute Cloud (EC2) as a Platform Virtualization in PaaS model and Simple Queuing Service and SimpleDB as software solutions in the SaaS model.

Google’s Google App Engine is a solution in the PaaS model allowing developers to float Python based applications and host them at Google’s infrastructure.

IBM Computing on Demand (CoD) offers Infrastructure services with variety of Operating Systems and Networking solutions and Storage Services in IaaS model.

- Anand Ved (Team Member – Cloud Computing Project)

, , , , ,