What is Cloud Computing?
Introduction to Cloud Computing:
Cloud computing adopts concepts from Service-oriented Architecture (SOA) that can help the user break problems into services that can be integrated to provide a solution
Cloud computing provides all of its resources as services, and makes use of the well-established standards and best practices gained in the domain of SOA to allow global and easy access to cloud services in a standardized way.
Cloud computing is a kind of Grid computing; it has evolved by addressing the QoS (quality of service) and reliability problems.
Cloud computing provides the tools and technologies to build data/compute intensive parallel applications with much more affordable prices compared to traditional parallel computing techniques.
Definition of Cloud Computing:
Cloud computing has more than one definition from different industry standard sources which are given below:
Cloud Computing Definition by Wikipedia:
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software and information are provided to computers and other devices as a utility (like the electricity grid) over a network (typically the internet).
Cloud Computing Definition by Amazon Web Services:
Cloud computing simply refers to the on-demand delivery of IT resources and applications via the internet with pay-as-you-go pricing.
Cloud Computing Definition by Google:
Cloud computing in google terms defined as "the practice of using a network of remote servers hosted on the internet to store, manage and process data, rather than a local server or a personal computer.
Cloud Computing Definition by Whatis.com
The name cloud computing was inspired by the cloud symbol that's often used to represent the Internet in flowcharts and diagrams. Cloud computing is a general term for anything that involves delivering hosted services over the Internet.
Cloud Computing Definition by Berkeley:
Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the data centers that provide those services.
The services themselves have long been referred to as Software as a Service (SaaS), so we use that term.
The data center hardware and software is what we will call a Cloud.
When a Cloud is made available in a pay-as-you-go manner to the public, we call it a Public Cloud; the service being sold is Utility Computing.
We use the term Private Cloud to refer to internal data centers of a business or other organization that are not made available to the public.
Thus, Cloud Computing is the sum of SaaS and Utility Computing, but does not normally include Private Clouds.
Cloud Computing Definition by RAJKUMAR BUYYA:
Cloud is a market-oriented distributed computing system consisting of a collection of inter-connected and virtualised computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements (SLA) established through negotiation between the service provider and consumers.
Cloud Computing Definition by NIST:
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Cloud Computing is a general term used to describe a new class of network based computing that takes place over the Internet,
basically a step on from Utility Computing
a collection/group of integrated and networked hardware, software and Internet infrastructure (called a platform).
Using the Internet for communication and transport provides hardware, software and networking services to clients.
These platforms hide the complexity and details of the underlying infrastructure from users and applications by providing very simple graphical interface or API (Applications Programming Interface).
History and Evolution of Cloud Computing:
Cloud computing is the result of evolution of a number of key technology concepts such as virtualization, grid computing, multi-tenancy, scalability, and the exponential increase in computing power and storage.
Even though the origin of cloud computing is not exactly known, the analogy of cloud computing has been existed since 1950s when mainframe computers became available to perform high-volume computing processing.
History of Cloud Computing |
Mainframes were costly and bulky to use. Therefore to make more efficient use of them, a practice evolved that allowed a number of thin clients (or static computer terminals) to share the computing power of mainframes.
And this is how “resource pooling” and “time-sharing” – key terms associated with cloud computing – came into common parlance.
The 1990s saw telecommunication service providers using virtual private network (VPN) to manage their network bandwidth effectively. Depending on the demand load, they would switch the traffic to the available servers.
This process happened at the infrastructure and data center level without the users being aware of it. The telecommunication service providers began to use the cloud symbol to demarcate the boundary between the network service providers and the users.
In other words, it is akin to saying to end users, “You do not need to know where and how you get the network bandwidth as long as it is available to you uninterrupted. Leave it to us.”
Evolution of Cloud Computing |
In essence, this is where the concept of Infrastructure-as-a- Service (IaaS) took roots. The decade of 2000s saw the actual emergence and evolution of Cloud computing to its present form.
Scientists and technologists explored ways to extend Cloud computing beyond applications and platforms. Technology companies made major breakthroughs in their Cloud products and services.
This decade saw the introduction and popularization of “pay-as-you- go” pricing model. Gartner predicted that Cloud computing would change the relationship between consumers and providers of IT services.
It also observed that “organizations are switching from company-owned hardware and software assets to per-use service-based models” so that the “projected shift to computing…will result in dramatic growth in IT products in some areas and significant reductions in other areas.”
Major cloud technology innovations were made in this decade.
In 2008, OpenNebula came out with open-source software for deploying private and hybrid clouds.
In 2008, Rackspace – another major player in Cloud space – launched OpenStack, an open-source cloud software.
In 2011, IBM launched SmartCloud framework to support Smarter Planet.
Companies such as Microsoft, Amazon, and Oracle also came out with your own Cloud products and services.
Today most of the technology companies have some presence in the Cloud market space.
Today Cloud computing has become so ubiquitous that people are no longer talking about the potential or implementation-challenges of Cloud.
The talk of the town is how Cloud platforms can be used for the next generation innovations such as Big Data, Internet of Things, Mobility, Analytics, Digitization, and Advanced Research.
By removing the overhead of CAPEX, Cloud has made possible for innovators to use ready-made technology platform to test and roll-out their ideas quickly.
In other words, it has reduced the time-to-market of ideas.
Pictorial Representation of Cloud Computing Architecture:
Given below the pictorial representation of cloud computing architecture:
Types of Cloud Computing:
Cloud computing is primarily divided into two types of models which are listed below:
1. Cloud Service Model
2. Cloud Deployment Model
Cloud Service Models | Examples/ Providers | |
Infrastructure-as- a-Service (IaaS) | This is the most basic cloud service model where providers provide hardware capacities by demand. Key services provided are: virtual machines, servers, storage, load balancers, network, firewalls, IP addresses, virtual local area networks (VLANs). Users are billed according to the amount of resource allocated and consumed. | Amazon web services, Rackspace, Cloud Scaling, Eucalyptus Systems, HP |
Platform-as-a- Service (PaaS) | Cloud providers provide a computing platform to build applications without the need to buy hardware or software licenses. Typical services provided are: Operating System, Execution runtime environment, database, web server, development tools. | Amazon web services, Google App Engine, Salesforce.com, Openstack, Rightscale |
Software-as-a- Service (SaaS) | SaaS providers provide users access to application software and databases without the need to install on their devices. Cloud service providers manage the infrastructure and platforms that run the applications. This is usually priced on a pay-per-use basis. | Salesforce.com, Oracle On Demand, AppDynamics, Microsoft Office 365 |
Unified Communications as a Service (UCaaS) | In this model, multi-platform communications over the network are packaged by the service provider. The services could be in different devices, such as computers and mobile devices. Services may include IP telephony, unified messaging, video conferencing and mobile extension. | Telesphere, Verizon, AT&T, Microsoft, Cisco |
TelePresence as a Service (TPaaS) | Providers provide Telepresence as a service. | TeleSpace |
Contact Center as a Service (CCaaS) | Providers provide Contact Centre services such as interactive voice response, email, web and real-time chat as a service. | Cisco HCS, Metro CSG |
Cloud Deployment Models | | |
Private Cloud | Cloud infrastructure dedicated to a single customer (or organization), managed internally or by a third-party, and hosted internally or externally | HP, Cisco Systems, Microsoft |
Public Cloud | Cloud infrastructure resources shared by multiple customers. The services are rendered over the internet, and offered on pay-per-usage model. | Salesforce.com, Amazon, Microsoft, Oracle, Google |
Hybrid Cloud | Hybrid cloud is a combination of private, public and community cloud services. These services could be from different service providers. | IBM, VMware, Rackspace, HP, Expedient, Eucalyptus |
Community Cloud | Cloud infrastructure dedicated to a group of customers. | Cloudian, CFN Services |
Distributed Cloud | Cloud computing provided by a distributed set of machines that are running at different locations, while still connected to a single network or hub service. | Amazon, Microsoft, Google |
Intercloud | Interconnected global “cloud of clouds” | Cisco |
Multicloud | Multicloud refers to multiple cloud services that could be running in a single heterogeneous architecture. Multicloud is mostly used to reduce dependence on single vendor, and spread the risk across multiple service providers. | |
Cloud Computing Service Models Pictorial Representation:
Given below the pictorial representation of cloud computing service model
Cloud Computing Service Models |
Cloud Computing Deployment Models Pictorial Representation:
Cloud Computing Deployment Models |
Principles of Cloud Computing:
Cloud computing has six principles which are detailed below:
1. Enablement:
2. Cost Benefit:
Evaluate the benefits of cloud acquisition based on a full understanding of the costs of cloud compared with the costs of other technology platform business solutions.
3. Enterprise Risk:
Take an enterprise risk management perspective to manage the adoption and use of cloud.
4. Capability:
Integrate the full extent of capabilities that cloud providers offer with internal resources to provide a comprehensive technical support and delivery solution.
5. Accountability:
Manage account-abilities by clearly defining internal and provider responsibilities.
6. Trust:
Make trust an essential part of cloud solutions, building trust into all business processes that depend on cloud computing.
Characteristics of Cloud Computing:
Common Characteristics of Cloud Computing:
The common characteristics of cloud computing are given below:
1. Scalability:
Cloud scalability in cloud computing refers to the ability to increase or decrease IT resources as needed to meet changing demand. Scalability is one of the hallmarks of the cloud and the primary driver of its exploding popularity with businesses.
2. Resilient Computing:
It is a form of computing which redundant IT resource and distributes these for operational purposes. In this computing, IT resources are pre-configured so that at the processing time if these sources are required; can be used in processing without any interruption. The characteristic of resilience in cloud computing can refer to redundant IT resources within the same cloud or across multiple clouds. By leveraging the resilience of cloud-based IT services, cloud consumers may improve both the efficiency and availability of their applications.
3. Homogeneity:
It is all about interconnecting similar processing cores or units to build a high performance computer. It is a legacy principle of parallel system design.
4. Service Orientation:
5. Virtualization:
Virtualization is the "creation of a virtual (rather than actual) version of something, such as a server, a desktop, a storage device, an operating system or network resources". In other words, Virtualization is a technique, which allows to share a single physical instance of a resource or an application among multiple customers and organizations. It does by assigning a logical name to a physical storage and providing a pointer to that physical resource when demanded.
Essential Characteristics of Cloud Computing:
The essential characteristics of cloud computing are given below:
1. On-Demand Self-Service:
A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
2. Broad Network Access:
Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations.
3. Rapid Elasticity:
Capabilities can be expanded or released automatically (i.e., more CPU power, or ability to handle additional users) . To the customer this appears seamless, limitless, and responsive to their changing requirements.
4. Resource Pooling:
The provider’s computing resources are pooled to serve multiple consumers. Resources can be dynamically assigned and reassigned according to customer demand. Customer generally may not care where the resources are physically located but should be aware of risks if they are located offshore.
5. Measured Service:
Customers are charged for the services they use and the amounts There is a metering concept where customer resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
Pictorial Representation of Cloud Computing Characteristics and their Relationship to other Domains:
Cloud Computing Characteristics and their Relationship to other Domains |
Environments of Cloud Computing:
Cloud computing environments includes both the development of applications and systems that power the cloud computing solutions and the creation of frameworks, platforms, and infrastructures delivering cloud computing services.
1. Environment for Application Development:
Applications that leverage cloud computing benefit from its capability to dynamically scale on demand.
Such applications that takes the biggest advantage of this feature is Web applications.
Web applications has become a platform for developing rich and complex applications, including enterprise applications that now leverage the Internet as the preferred channel for service delivery and user interaction.
Another class of applications that can potentially gain considerable advantage by leveraging cloud computing is represented by resource-intensive applications. (Example: scientific applications.)
Cloud computing provides a solution for on-demand and dynamic scaling across the entire stack of computing.
This is achieved by:
- providing methods for renting compute power, storage, and networking.
- offering runtime environments designed for scalability and dynamic sizing.
- providing application services that mimic the behavior of desktop applications but that are completely hosted and managed on the provider side.
2. Environment for Infrastructure and System Development:
Distributed computing, virtualization, service orientation, and Web 2.0 form the core technologies enabling the provisioning of cloud services from anywhere.
Extreme dynamism of cloud systems where new nodes and services are provisioned on demand, constitutes the major challenge for engineers and developers.
IaaS solutions provide the capabilities to add and remove resources and PaaS Service solutions control the provisioning process and the lease of resources.
Cloud computing is often summarized with the acronym XaaS—Everything-as-a-Service—that clearly underlines the central role of service orientation.
Virtualization is another element that plays a fundamental role in cloud computing.
Distributed computing, virtualization, service orientation, and Web are all the considerations that influence the way we program applications and systems based on cloud computing.
3. Environment for Computing Platforms and Technologies:
- Amazon web services (AWS)
- Google AppEngine
- Microsoft Azure
- Hadoop
- Manjrasoft Aneka
- Saleforce
Pictorial Representation of Major Companies offering Cloud Computing Services inside Cloud:
Major Companies Offering Cloud Computing Services |
Advantages of Cloud Computing:
Let us see the advantages of cloud computing one by one below:
1. Lower Computer Costs:
You do not need a high-powered and high-priced computer to run cloud computing's web-based applications.
Since applications run in the cloud, not on the desktop PC, your desktop PC does not need the processing power or hard disk space demanded by traditional desktop software.
When you are using web-based applications, your PC can be less expensive, with a smaller hard disk, less memory, more efficient processor...
In fact, your PC in this scenario does not even need a CD or DVD drive, as no software programs have to be loaded and no document files need to be saved.
2. Improved Performance:
With few large programs hogging your computer's memory, you will see better performance from your PC.
Computers in a cloud computing system boot and run faster because they have fewer programs and processes loaded into memory.
3. Reduced Software costs:
Instead of purchasing expensive software applications, you can get most of what you need for free-ish!
- Most cloud computing applications today, such as the Google Docs suite.
Better than paying for similar commercial software.
- Which alone may be justification for switching to cloud applications
4. Instant Software Updates:
5. Improved Document Format Compatibility:
6. Unlimited Storage Capacity:
Cloud computing offers virtually limitless storage.
Your computer's current 1 Terabyte hard drive is small compared to the hundreds of Petabytes available in the cloud.
7. Increased Data Reliability:
- If your personal computer crashes, all your data is still out there in the cloud, still accessible.
8. Universal Document Access:
9. Latest Version Availability:
When you edit a document at home, that edited version is what you see when you access the document at work.
The cloud always hosts the latest version of your documents.
- As long as you are connected, you are not in danger of having an outdated version.
10. Easier Group Collaboration:
Sharing documents leads directly to better collaboration.
Many users do this as it is an important advantages of cloud computing.
- Multiple users can collaborate easily on documents and project.
11. Device Independence:
You are no longer tethered to a single computer or network.
Changes to computers, applications and documents follow you through the cloud.
Move to a portable device, and your applications and documents are still available.
Disadvantages of Cloud Computing:
1. Requires a Constant Internet Connection:
2. Does not Work Well With Low-speed Connections:
3.Features Might be Limited:
- For example, you can do a lot more with Microsoft PowerPoint than with Google Presentation's web-based offering
4. Can be Slow:
5. Stored Data might not be Secure:
- Can unauthorized users gain access to your confidential data?
6. Stored Data can be Lost:
Theoretically, data stored in the cloud is safe, replicated across multiple machines.
But on the off chance that your data goes missing, you have no physical or local backup.
- Put simply, relying on the cloud puts you at risk if the cloud lets you down.
Pictorial Representation of Why We Should Use Cloud Computing:
Given below the pictorial representation of why we should use cloud computing:
Why we should use Cloud Computing |
0 Comments