Friday, September 21, 2012

CLOUD COMPUTING

CLOUD COMPUTING
CLOUD COMPUTING

The Greek myths tell of creatures plucked from the surface of the Earth and enshrined as constellations in the night sky. Something similar is happening today in the world of computing. Data and programs are being swept up from desktop PCs and corporate server rooms and installed in “the compute cloud”. In general, there is a shift in the geography of computation.
An emerging computer paradigm where data and services reside in massively scalable data centers in the cloud and can be accessed from any connected devices over the internet. Like other definitions of topics like these, an understanding of the term cloud computing requires an understanding of various other terms which are closely related to this. While there is a lack of precise scientific definitions for many of these terms, general definitions can be given. Cloud computing is an emerging paradigm in the computer industry where the computing is moved to a cloud of computers. It has become one of the buzz words of the industry. The core concept of cloud computing is, quite simply, that the vast computing resources that we need will reside somewhere out there in the cloud of computers and we’ll connect to them and use them as and when needed. Computing can be described as any activity of using and/or developing computer hardware and software. It includes everything that sits in the bottom layer, i.e. everything from raw compute power to storage capabilities. Cloud computing ties together all these entities and delivers them as a single integrated entity under its own sophisticated management.
Cloud is a term used as a metaphor for the wide area networks (like internet)or any such large networked environment. It came partly from the cloud-like symbol used to represent the complexities of the networks in the schematic diagrams. It represents all the complexities of the network which may include everything from cables, routers, servers, data centers and all such other devices.
Computing started off with the mainframe era. There were big mainframes and everyone connected to them via “dumb” terminals. This old model of business computing was frustrating for the people sitting at the dumb terminals because they could do only what they were “authorized” to do. They were dependent on the computer administrators to give them permission or to fix their problems. They had no way of staying up to the latest innovations. The personal computer was a rebellion against the tyranny of centralized computing operations. There was a kind of freedom in the use of personal computers. But this was later replaced by server architectures with enterprise servers and others showing up in the industry. This made sure that the computing was done and it did not eat up any of the resources that one had with him. All the computing was performed at servers. Internet grew in the lap of these servers. With cloud computing we have come a full circle. We come back to the centralized computing infrastructure. But this time it is something which can easily be accessed via the internet and something over which we have all the control.
There are many types of public cloud computing:
  • Infrastructure as a service (IaaS)
  • Platform as a service (PaaS)
  • Software as a service (SaaS)
  • Storage as a service (STaaS)
  • Security as a service (SECaaS)Data as a service (DaaS)
  • Test environment as a service (TEaaS)
  • Desktop as a service (DaaS)
  • API as a service (APIaaS)



Software as a Service (SaaS)
This is the most widely used Cloud Computing approach to date. A business application can be run on the centralized servers(cloud) rather than running them on on-site servers/software systems. On Demand
Software as a service, delivers a single application through the browser to thousands of customers using a multitenant architecture. In the cloud service side, it only requires to maintain and manage one application on the cloud and in the client side, there are no any need of upfront investing on servers, software and license etc.
EXAMPLE
“Salesforce, Google, NetSuit, Taleo, Concur Technologies”

Platform as a Service (PaaS)
PaaS delivers development environments as a service. You build your own applications that run on the provider's infrastructure and are delivered to your users via the Internet from the provider's servers.
EXAMPLE
“Salesforce's platform, WSo2 Stratos, Amazon Elastic Compute Cloud (EC2), Google App Engine, Coghead, Yahoo pipes, Windows Azure”

Infrastructure as a Service (IaaS)
CLOUD COMPUTING
CLOUD COMPUTING
Infrastructure as a Service, is very much the backbone of the entire cloud computing concept. A well known examples include, Infrastructure vendors environments like Google gears which allow users to build applications and Cloud storages, such as Amazon Simple Storage Service (S3) which allows user to store and retrieve any amount of data, at any time, from anywhere on the web.
EXAMPLE
“Google Gears, Amazon S3”

Types of clouds
There are different types of clouds that you can subscribe to depending on your needs. As a home user or small business owner, you will most likely use public cloud services.
1.Public Cloud - A public cloud can be accessed by any subscriber with an internet connection and access to the cloud space.
2.Private Cloud - A private cloud is established for a specific group or organization and limits access to just that group.
3.Community Cloud - A community cloud is shared among two or more organizations that have similar cloud requirements.
4.Hybrid Cloud - A hybrid cloud is essentially a combination of at least two clouds, where the clouds included are a mixture of public, private, or community.

Characteristics of Cloud Computing
1. Self Healing
Any application or any service running in a cloud computing environment has the property of self healing. In case of failure of the application, there is always a hot backup of the application ready to take over without disruption. There are multiple copies of the same application - each copy updating itself regularly so that at times of failure there is at least one copy of the application which can take over without even the slightest change in its running state.
 2. Multi-tenancy
With cloud computing, any application supports multi-tenancy - that is multiple tenants at the same instant of time. The system allows several customers to share the infrastructure allotted to them without any of them being aware of the sharing. This is done by virtualizing the servers on the available machine pool and then allotting the servers to multiple users. This is done in such a way that the privacy of the users or the security of their data is not compromised.
3. Linearly Scalable
Cloud computing services are linearly scalable. The system is able to break down the workloads into pieces and service it across the infrastructure. An exact idea of linear scalability can be obtained from the fact that if one server is able to process say 1000 transactions per second, then two servers can process 2000 transactions per second.
4. Service-oriented
Cloud computing systems are all service oriented - i.e. the systems are such that they are created out of other discrete services. Many such discrete services which are independent of each other are combined together to form this service. This allows re-use of the different services that are available and that are being created. Using the services that were just created, other such services can be created.
5. SLA Driven
Usually businesses have agreements on the amount of services. Scalability and availability issues cause clients to break these agreements. But cloud computing services are SLA driven such that when the system experiences peaks of load, it will automatically adjust itself so as to comply with the service-level agreements. The services will create additional instances of the applications on more servers so that the load can be easily managed.
6. Virtualized
The applications in cloud computing are fully decoupled from the underlying hardware. The cloud computing environment is a fully virtualized environment.
7. Flexible
Another feature of the cloud computing services is that they are flexible. They can be used to serve a large variety of workload types -varying from small loads of a small consumer application to very heavy loads of a commercial application.
Cloud Computing Services
CLOUD COMPUTING
CLOUD COMPUTING
Even though cloud computing is a pretty new technology, there are many companies offering cloud computing services. Different companies like Amazon, Google, Yahoo, IBM and Microsoft are all players in the cloud computing services industry. But Amazon is the pioneer in the cloud computing industry with services like EC2 (Elastic Compute Cloud) and S3 (Simple Storage Service) dominating the industry. Amazon has an expertise in this industry and has a small advantage over the others because of this. Microsoft has good knowledge of the fundamentals of cloud science and is building massive data centers. IBM, the king of business computing and traditional supercomputers, teams up with Google to get a foothold in the clouds. Google is far and away the leader in cloud computing with the company itself built from the ground up on hardware.
Benefits:
 Cloud services free businesses and consumers from having to invest in hardware or install software on their devices. They reduce maintenance and hardware upgrading needs; because the solutions are all Web-based, even older computers can be used to access cloud services.
 For mobile users especially, cloud computing provides incredible flexibility with which professionals can work from any computing device, as long as they have access to the Web. It also makes collaboration easier, since distributed teams (or a combination of mobile workers and in-office staff) can work on shared information stored centrally in the cloud via, for example, online group ware applications.
 Working in the Cloud:    
 There are some obstacles to cloud computing. An Internet connection is obviously necessary to take full advantage of a cloud service. When you’re offline–or if there are any disruptions with the cloud service itself–the data may not be accessible at all. (Some cloud apps, like Gmail, have offline capability; others, like Mint, require an Internet connection. The note taking application, Ever note, offers a good in-between or hybrid solution, with both desktop/phone software and an online service that syncs your notes to the cloud.)
 But generally, in my opinion, For now cloud computing’s greatest beneficiaries may be remote workers, as Web-based apps empower us to be truly mobile and still accomplish our work.
How can you use the cloud?
The cloud makes it possible for you to access your information from anywhere at any time. While a traditional computer setup requires you to be in the same location as your data storage device, the cloud takes away that step. The cloud removes the need for you to be in the same physical location as the hardware that stores your data. Your cloud provider can both own and house the hardware and software necessary to run your home or business applications.
CLOUD COMPUTING
CLOUD COMPUTING
This is especially helpful for businesses that cannot afford the same amount of hardware and storage space as a bigger company. Small companies can store their information in the cloud, removing the cost of purchasing and storing memory devices. Additionally, because you only need to buy the amount of storage space you will use, a business can purchase more space or reduce their subscription as their business grows or as they find they need less storage space.
One requirement is that you need to have an internet connection in order to access the cloud. This means that if you want to look at a specific document you have housed in the cloud, you must first establish an internet connection either through a wireless or wired internet or a mobile broadband connection. The benefit is that you can access that same document from wherever you are with any device that can access the internet. These devices could be a desktop, laptop, tablet, or phone. This can also help your business to function more smoothly because anyone who can connect to the internet and your cloud can work on documents, access software, and store data. Imagine picking up your smartphone and downloading a .pdf document to review instead of having to stop by the office to print it or upload it to your laptop. This is the freedom that the cloud can provide for you or your organization.
Risks
PROS AND CONS
CLOUD COMPUTING PROS AND CONS
  • Dependency on the Network
The simplest and most obvious drawback to cloud computing arises out of its most important characteristic: it is network based. Like anything else dependent on internet connectivity, it is susceptible to outages and service interruptions at any time. On the other hand, in-house servers are hard-wired. While users may not be able to access the data from anywhere, they can be certain that while in the office, their connection to the server will remain steady. Furthermore, cloud computing is also susceptible to simple bandwidth issues. Everyone has most likely experienced this when attempting to utilize the internet at “peak hours” (this is especially true on college campuses such as Princeton, typically between the hours of 10pm and 1am, when the sheer number of users strains the network and as a result, everyone's connection speed suffers). In the context of cloud computing, if the vendor's servers are being strained at peak hours, both the performance and availability of its services suffers for its clients. While most vendors have the redundancy to handle their peak load, there is always the risk of unforeseen events, server failures, or outside attack; any of which would threaten client access.
  • Difficulty Creating Hybrid Systems—For some users, such as the federal government, some data is just too sensitive to transfer off-site, regardless of the benefits to efficiency or performance. Furthermore, those same larger companies who already fund their own in-house IT department are typically reluctant to throw away their substantial investment in technicians, hardware, and software. Because of the difficulty to integrate an in-house IT department with a cloud service, these groups typically avoid the move to cloud computing, despite all the benefits. Why is it so difficult to integrate an in-house IT department with a cloud service? Each IT department is usually internally consistent, but there is no standardized form from business to business. Therefore, integrating an in-house department with a cloud service is like trying to fit a square peg in a round hole: no matter how hard you force it, it just isn't going to go in.
  • Centralization—This risk arises out of an aspect of cloud computing that is central to its existence: centralization of both computing and data. Firms outsource their data to a third-party; thus, they become dependent on that company, and a certain symbiotic relationship forms. If the cloud provider has a glitch in their system, or if an upgrade goes bad, their clients could be offline for extended periods of time.
  • Data Integrity—Last, but certainly not least, there is always the risk of a security breach within the confines of a huge firm, regardless of the security precautions. This fear becomes even greater when dealing with data storage off-site. Because clients no longer have control over their data, they must trust the cloud vendor to monitor for cybercrime. Furthermore, once you begin to depend on the internet to transfer data between two points, there is also chance that it will be intercepted by a third-party. Current encryption technology makes this point almost moot, but it is important to identify it, since the computing world is constantly changing, both for the good guys, and for the bad. The complexity of the security measures that must be taken increases greatly when data is distributed over a greater area and number of devices

ADVANTAGES

1. Software as a Subscription
In a cloud, software resides on a service providers servers external to a user's computer. In a sense users would not have to buy software for their computers because the software is loaded per use while the user is online (via a browser or some kind of connector application). The only models that would support this type of software use would be a subscription based or pay as you go model. Instead of shelling $149 for Office Home & Student, a user may pay a set fee/month; say $5.95/month and the user can tailor their subscription to meet their needs. This will keep users from buying software that is bundled with applications the user may not care for. A perfect example of this is the Office Suite.
2. Reduced Software Maintenance
By keeping the software in the ‘clouds' users can reduce the amount of maintenance on their computers. Nowadays essentially every program installed on a computer has an update function that searches for the latest software changes in order to patch security flaws, correct software issues, and/or introduce new functionality. When upgrades are made to software on the cloud it does not affect the user\'s computer, it would not require for the user to restart their computers, it would simply mean that unless the change affects functionality or visual elements, the user will be oblivious to those updates and their computers will never be affected by those updates. A reasonable reduction in systems maintenance would be expected as a result of this.
3. Increased Reliability
Increased reliability stems from the fact that the cloud runs on systems that are extremely reliable and provide some form of redundancy. Unless a user takes the time to setup a backup system for their files or sets up some kind of redundancy with offsite backups, etc. Users run the risk of losing valuable and sometime unrecoverable data on their computers. In the case of grid computing if a storage server on the cloud fails due to hardware or software issues, the service provider needs only to shift the load over to other servers or bring up a backup server in its place. If it occurred at a users premises with installed software a simple issue can turn to hours of technical support over the phone, costly downtime, and unhappy users and customers.
4. Increased Scalability
Running out of hard drive space at home? Looks like an additional hard drive along with a visit to a computer technician for installation will solve the problem. However in a cloud computing environment, storage is not an issue, as long as you can pay for it. Service providers need only to add servers or shift load from one server to another to accommodate for the additional use of space. The same goes for application use, instead of a small business adding additional servers to handle business transactions all they have to do is contact the service provider to let them know that they will need additional resources.
5. Cost Reduction
Costs are reduced in a number of ways. Capital expenditures are reduced because a lot of the load and storage will be shifted over to the service provider who can provide that service at a lower cost. Aside from decreased capital expenditures associated with hardware purchases, users would see the cost of software decrease due to the reduced cost of subscription software. IT staff at businesses would be reduced because the majority of the maintenance is performed at the service provider.
6. Environmentally Friendly
One of the greatest advantages of cloud computing is the increased longevity and use of older hardware used by data centers. This in turn lessens the amount of electronic waste dumped because equipment is older and increased use of those resources. When businesses use current assets instead of purchasing additional hardware they reduce the size of their carbon footprint because it is one less server that is put into service, it is one less server that is consuming electricity.
7. Matches Current Computing Trends
The introduction of the netbooks has moved a lot of sales from computers and laptops with more powerful processors and extended capabilities to less powerful and more efficient platforms . This signals that users are looking for computers that meet their needs and are affordable. The advent of cloud computing will be able to match this trend because a lot of the processing overhead is performed at the servers and not the computer, so the need for an extremely powerful computer is muted. As cloud computing matures and more and more processing is shifted to the cloud, computers will require less processing power and will have basic functionality.
8. Portability/Accessibility
One the greatest advantages to grid computing is the availability of files and software anywhere that there is an active internet connection. This brings forth added accessibility and productivity for those that are on the road and require access to files and software. With a large number of companies looking for alternatives to employees working at the office and the increasing number of employees making up a mobile workforce. The reduction in application costs and technical support would easily continue to support this trend towards a mobile workforce that would utilize the computer grid.
9. Efficient Use of Computer Resources
The advent of virtualization has provided companies with ways to efficiently used their computer resources. Users no longer require separate servers for different applications. With virtualization multiple server technologies can run from a single server. This shift to virtualization supports the growth of cloud computing due to the increased capabilities of servers. Cloud computing would also simplify IT's role in computer management because computers would be software agnostic.
10. Version less Software
Version less software refers to the elimination of software upgrade projects. Changes and updates to software would be constant and version numbers would be transparent to the user, all the user would see is added functionality. It would also give users '…access to new technology early and often rather than forcing them to wait for a final, packaged product to be shipped. ' This concept will enable the enterprise to remain in the cutting edge of technology and would reduce training costs associated with new software releases.
As one can see the case for cloud computing is quite appealing. The shift towards cloud computing would enable businesses to save money while minimizing their impact on the environments. Users would have the flexibility of accessing information from anywhere on the planet where an internet connection exists. Everyone will benefit from the increased availability and affordability of applications that were beyond their reach due to cost and complexity with maintenance and installation. Lastly the need for additional training associated with new product releases would be eliminated to due to the nature of the applications constant changing state.
DISADVANTAGES
Unfortunately, Cloud Computing might also be costly to consumers. Although some web-based apps are free, it's expected that some applications will require a monthly or yearly fee. In the end, these fees might add up to more than what you would pay to download and install the software to your computer. There is also the concern of not being able to work on your files when you do not have access to the Internet. Business travelers may have to take this into consideration when deciding to use software online or offline.
Security is another issue. In Cloud Computing, your files are stored on a remote server, instead of within the privacy of your own home computer. Although your data is protected by a username and password, some worry that files will be more accessable to hackers, or that glitches on the part of the software company may expose private information. The flipside of this concern is that many home computers are easily compromised, due to viruses, spyware

Still, software companies are changing gears and giving people the opportunity to use their services online. Users are starting to reconsider their ideas of what they actually need to install on their computer, and what they can comfortably store online.
WHAT IS CLOUD COMPUTING

WHAT IS CLOUD COMPUTING? WHAT ARE ITS ADVANTAGES?