Cloud computing refers to the delivery of one or many services powered by computer hardware and software over the Internet or local computer network. For most major service providers, there are a large number of computers configured in a grid to provide the service architecture located in the “cloud.” The origin of the name cloud comes from the original representation of the Internet with the cloud symbol and in systems diagrams that use a cloud symbol to represent the complex underlying infrastructure. As services in this domain become more prevalent, a common question that arises amongst computer users is how does cloud computing work?
What is Cloud Computing?
Cloud computing refers to the concept of sharing software, resources, and information via a network connection such as the Internet. In a cloud structure, the cloud servers save the end-users information, data, and can serve the service application(s) as well reducing the need for storage space on client computers. End-users have the freedom to access information wherever one can obtain an Internet connection and do not have to worry about upgrading service applications with the latest version to be released. This allows users to edit files such as PowerPoint presentations, or documents on mobile devices or tablets without having to have specified software installed on the computing device being used while away from home or the office. Cloud computing services can either be targeted to consumer, small business, or enterprise use depending on the nature of the service(s) being provided.
What are the Cloud Computing Services Available to Consumers?
There are a number of services available via cloud computing technology in the marketplace today. Cloud services designed to provide consumer services will normally provide access through a compatible web browser or light-weight desktop or mobile application or app. The information saved by the user is saved on the remote servers in the cloud. All cloud computer services rely on sharing resources to help achieve economies of scale similar to an electric grid servicing a community. Common cloud services provided by industry today are:
API as a service (APIaaS)
Back-end as a service (BaaS)
Data as a service (DaaS)
Database as a service (DBaaS)
Platform as a Service (PaaS):
Infrastructure as a service (IaaS)
Storage as a service (STaaS)
Software as a service (SaaS)
Network as a service (NaaS)
Security as a service (SECaaS)
Test environment as a service (TEaaS)
What Are the Advantages of Cloud Computing?
Even though cloud computing is relatively new, it has a number of advantages when compared to traditional software acquisition and deployment ranging from home use to the enterprise.
When using a cloud computing-based service, information can be accessed anywhere in the world that the end-user can obtain an Internet connection. For those who travel in conjunction with work, this allows employees to do work while away from the office to include the home or on a business trip without having to install software on personal computers. It also reduces the need to transport documents home on disk or memory stick to use away from the office. Most cloud word processing services such as Google Docs (recently re-branded as Google Drive) and Microsoft Office 365 allow co-workers to edit documents at the same time to further increase efficiency.
Prior to the commercialization of cloud computing, consumers were storage limited by the size of the hard drive on the computer being used to do work. If running low on memory, you would have to either upgrade the computer’s hard drive or purchase an external hard drive or USB stick to save information. Most cloud computing services offer more storage than is commonly found on client computers allowing end-users to save money by not worrying about storage space on the local computer.
Most cloud computing services can be setup faster than it takes to install a new software application on a client computer. The registration process typically consists of setting up payment, account settings such as a login and password, and confirming one’s registration in the email account used to sign-up for the service. Once finished, the cloud computing service can be used without additional set-up.
Software is Automatically Updated.
One of the largest recurring costs for organizations is keeping up with software updates and subsequent deployment throughout the enterprise. By making the shift to cloud computing, updates become the responsibility of the service provider. In most cases, updates do not result in a loss of service availability for the end-user saving both time and money. In the event of service upgrades that require changes in format or other non-routine changes on the consumer’s end, the provider will normally provide amply warning to allow the client to make the required changes before making the shift to the newer software.
Cost is Reduced.
Cloud computing services typically cost much less money up-front than purchasing traditional software seat licenses. The costing model varies by service provider, but typically charge on a monthly or yearly subscription model. When selecting a plan with no contract, services can be terminated at any time allowing companies to only pay for cloud computing apps when needed.
What are the Disadvantages of Cloud Computing?
Increased Security Risks.
For the security-paranoid, trusting one’s data to a service provider just isn’t an option. When making the shift to cloud computing, there is a certain level of trust required on the part of the consumer or organization making use of the service. Organizations that have adopted cloud computing services prioritize the savings in cost over the potential of a security breach of the company or organization’s information. Some cloud services do come with SSL, email encryption, and spam filtering in addition to application-layer security options such as data encryption and password protection. Despite these options, it comes down to an organization’s priorities on whether or not the potential security risks posed by cloud computing make it worthwhile to make the switch from client-side application deployment.
Control over Software Updates.
Although organizations do not have to invest time and money in making software upgrades when leveraging cloud services, they do lose control over the timing of upgrades. In some cases, this can result in a loss of productivity on the client-side in addition to unplanned costs to upgrade data to meet requirements of the new software. To mitigate this concern, proper research into software upgrade policies and notification requirements on the part of the service provider are a must before signing up for any cloud computing service.
Cloud Service Provider Reliability.
Even Amazon isn’t immune to the occasional outage. When leveraging cloud services, organization’s are relying on both the service provider and the organization’s computers being able to access the Internet. Depending on the service being used, it may or may not provide a light-weight, offline option for work to be done by clients until service is restored. The end result can be an unplanned loss of productivity if the cloud service remains unavailable for an extended time frame.
What are the Cloud Computing Service Models?
The three primary cloud computing services models deployed today are: platform as a service (PaaS), infrastructure as a service (IaaS), and software as a service (SaaS). More recently communication as a service (CaaS) and network as a service (NaaS) were upgraded by the International Telecommunication Union to be part of the core cloud computing models.
Infrastructure as a service (IaaS)
IaaS is considered to be the most fundamental cloud computing service model. Under IaaS, virtual machines (ie computers) are run by the cloud with access provided to the subscribing organization. There are typical a pool of hypervisors that run the virtual machines which include firewalls, virtual LANS (VLANs), and software bundles. Depending on the provider, end-users can even install additional software on the virtual machine(s) depending on their needs. Under this model, the monthly or yearly cost of the service depends on the software package deployed on the virtual machines, bandwidth, and storage space provided on the server. Some of the examples of IaaS providers include: the Google Compute Engine, Amazon CloudFormation, HP Cloud, and Windows Azure Virtual Machines.
Platform as a Service (PaaS)
The platform as a service (PaaS) model allows service providers to providing a computing platform that includes a specific operating system (OS), web server, database, and programming language executing environment. PaaS builds on IaaS by allowing application developers to create, run, and test software on a cloud platform without having to purchase the required software and hardware to create a development environment at the office. The more advanced PaaS offerings will even scale resources to meet application demand to minimize costs to the development team. Some of the examples of major PaaS providers in the market today include: Google App Engine, Windows Azure Compute, and Amazon Elastic Beanstalk.
Software as a Service (SaaS)
The software as a service (SaaS) model is becoming the most commonly encountered cloud computing service for the average computer user. Under this model, the service provides application software located in the cloud and end-users access the software via standard web browsers or light-weight client-side applications. In most cases, there is no need for the installation of any software on the end-user’s computer and the software can typically be accessed from any operating system (OS). A cloud software application will distribute work over a large number of virtual machines to allow it to scale across a large number of end-users and organizations. Most SaaS services are either free (for individual use) or charge a monthly or annual fee for use per user. This allows organizations to scale deployment of software to only those who have a need to use it. Some of the commonly encountered SaaS providers are: Microsoft Office 365 and Google Drive (formerly Google Docs).
Network as a Service (NaaS)
Network as a service is the category of services in the cloud where the organization of networking related resources is unified (or located) in the cloud. These typically include extended virtual private networks (VPNs), scalable bandwidth, and other networking related services. Under this model, the management of the virtual network service is left to the service provider allowing the subscribing person or organization to save time and potentially money over managing the resources in-house.
Communication as a Service (CaaS)
Communication as a service (CaaS) allows organizations to push tasks such as call center automation, desktop call management, faxing, messaging, multimedia routing, and screen-pop integration to the cloud. Organizations can select various deployment models for those in the company or enterprise to manage communications infrastructure throughout the organization to cut costs where appropriate. Some CaaS providers now provide a “Pay-As-You-Go” pricing model which is attractive to smaller businesses who do not have a persistent need for all services required by larger organizations.
Why is Cloud Computing Important?
Cloud computing allows both individual consumers and organizations of all sizes a fundamentally different model of information technology operation than has been available in the modern computing age. Taking advantage of the maturity of web applications, high-speed Internet availability, and computer hardware advances, the cost of doing business using cloud services can be significantly less than using traditional software and service deployment models. By relying on cloud providers who specialize in their particular service, the need for in-house IT departments and operating budgets can be reduced allowing for potentially greater productivity and growth for organizations who make the shift to the cloud. As cloud technology continues to mature, the cost of purchasing client-side computing devices will likely continue to decrease with the cost of client-side software reducing with the overall movement to relying on cloud computing resources.