What are cloud services?

Whether its photo apps, online format conversions or large scale IT operations cloud services are in the middle of it all. Cloud Computing infrastructure provided by big players like Amazon are changing the way companies manage their working. Shazam, the nifty music recognition app has cloud services to thank for its massive online capacity. Companies like Unilever are boosting research output thanks to faster data processing supported by infrastructure on cloud. Cloud service has not only benefited business corporations but has also bought the power of cloud computing to the common man, in the form of web apps, and applications on hand held devices.



In this chapter we will take a look at the various ways in which the cloud manifests, and do some jargon busting, and also look at some pros and cons of cloud services

Whether its photo apps, online format conversions or large scale IT operations cloud services are in the middle of it all. Cloud Computing infrastructure provided by big players like Amazon are changing the way companies manage their working. Shazam, the nifty music recognition app has cloud services to thank for its massive online capacity. Companies like Unilever are boosting research output thanks to faster data processing supported by infrastructure on cloud.  Cloud service has not only benefited business corporations but has also bought the power of cloud computing to the common man, in the form of web apps, and applications on hand held devices. 

Cloud Computing based services are responsible for mobilizing a diverse set of industries, some of which are listed below. 

Various cloud services
Web, Mobile and Social apps:
 Well, we all know what apps are. They make our tablets and phones the powerful devices that they are and greatly increase utility. Cloud services have helped these apps to, as Amazon puts it-focus on apps and not ops. Any sort of app working on the cloud will have some distinguishing features like data storage on a cloud infrastructure and online/offline data caching. A cloud based app allows a wider range of access to the user through another native application, web browser or customized application.  These apps also have support for a variety of user requirements like privacy and backup. Cloud based apps though might be a tad slower than built in native apps. Examples of cloud based web-apps are email services like Gmail and Yahoo Mail. Some cloud based mobile apps are Shazam, Schlage and Google Voice.

Big Data:  Big Data refers to massive data sets that cannot be handled by traditional data processing and management systems. The large scale involved makes dealing with these sorts of data sets a tough deal. Big Data is present everywhere from science corporations like NASA and CERN to private bigwigs like Wal-Mart and Facebook.  Cloud Services have helped companies deal with big data sets better and faster. They provide high performance computing for data processing along with data warehousing clusters with built in encryption.  Essentially cloud services provide a more dynamic way of storing, processing and accessing data which allows corporations to make better sense of Big Data. Virtualization allows companies to analyze large data sets without much delay or computing hardware. All this said Cloud Computing might be unsuitable for data sets with very low delay times for eg. Twitter feeds.

Data Storage: It is a no brainer that large corporations generate large amounts of data that needs to be stored effectively. Cloud Services provide that effective medium to store data. They provide services for storage, backup, archiving and disaster recovery. The “pay for what you use” concept helps companies save money and cloud computing services use a technique called redundancy to help provide durability to the stored data. Data is replicated across servers to reduce chances of loss. Amazon claims that their cloud storage systems provide 99.999999999% durability. Quite a figure! Cloud Services also provide data storage for small scale in the form of online backup services like Google Drive, Skydrive etc. 

Digital Media Content:  Cloud services have enabled digital media companies to optimize their digital supply chain. They provide services for computing, transcoding, encoding, streaming and storage of digital media, essentially taking care of a large faction of the digital media supply chain. Cloud based digital media supports easy paid for view model. Digital media based on cloud is also seamlessly integrated with other business portals like ERP and CRM. An example of digital media on cloud is Netflix. 

Enterprising and IT solutions:  Cloud services help set up business and IT solutions quickly without much front end investment. Companies can run their various softwares on cloud without having to purchase multiple licenses. Content management softwares can be managed on the cloud as well with top software companies like SAP coming in.  Websites can be set up quickly and scaled up and down without fuss. Traffic regulation, etc. is managed by the cloud service.  And if that’s not enough companies can run databases on cloud, process big data and get secure storage access as well. Cloud services provide a wholesome package for an IT business enterprise to set up shop and run it with minimal difficulty and maximum productivity. 

High Performance Scientific Computing: As in Big Data, Scientific Computing at large scale is difficult to carry out using traditional machines. Weather and Climate forecasts, Natural disaster simulations, Computational model testing etc. all depend on high performance computing (HPC) platforms to run. For HPC dedicated clusters are needed, something which not every institute in the world can afford.  There is quite a lot of research going on for advancements in Cloud based HPC. One of the problems is varying internet bandwidth at service or user end which might cause solution errors. But, still there is no denying the fact that cloud based HPC is an amazing idea. Cloud based hardware makes it possible to access supercomputers from any location. Scientists can run simulations on borrowed time without having to plead for a hefty research grant.  There is evidence that computing on cloud is more economical then purchasing or revamping a cluster. Cloud based HPC platform provides faster and easier access and to experimental data besides provides computing and storage opportunities.

 At present cloud computing for HPC is best for simulations without much inter-processor communication, but research for cloud based HPC is in full swing. Bioinformatics, Genome Sequencing, fluid flow runs are some of the HPC simulations that have been done on cloud. Amazon EC2, Open Nebula and Nimbus are some cloud based HPC services. 

Defining cloud services

What exactly does a cloud service entail? Is it software, a computer machine, a mixture? A cloud service can be categorized broadly into the following:

Infrastructure as a Service (IaaS): As the name suggests the service includes provision of resources that support computing, storage and network and include machines and servers. Virtualization allows the service to scale down or scale up usage as per the user’s need. Services usually pool up these hardware resources from multiple servers and networks sourced from numerous data centers.  The client is then given access to these pools to run their own platforms.  Besides general hardware and computing infrastructure these services offer additional benefits like raw storage, load balancers, firewalls, VLAN’s and software bundles. There is utility based costing and users pay only for the amount used or consumed.

An IaaS typically can be accessed from anywhere and has no single node of failure. Examples of IaaS are Amazon EC2, NaviSite, Rackspace, Google Compute Engine and HP Cloud

Hardware as a Service (HaaS): This cloud computing service provision entails the provision of managed hardware that is leased for computing needs. System maintenance and safety is the responsibility of the service provider. The service may be onsite or on a remote location depending on the user need. This is type of service is utilized for HPC on cloud which requires data storage as well as active computing and includes leasing computing hardware rather than purchasing it. HaaS is at times similar to IaaS, though IaaS is more of a complete service.

Platform as a Service (PaaS): This kind of service involves the provision of a computing platform which includes an operating system, server side scripting environment, program execution environment, database management and web server. Additional tools for hosting, storage, design and development might also be provided.  A PaaS typically allows the user to build software with the use of tools provided by the service. A client can build, test and deploy programs and applications on the cloud as the service is hosted on the cloud and can be accessed simply through a web browser. This feature of a PaaS allows developers to concentrate on program and code development rather than underlying software and hardware.

PaaS also offers a flexible development platform that can be adopted by experts and beginners alike. Another advantage users have is that they can communicate with co-developers in different parts of the world on the same code build. PaaS essentially provides an optimal development environment for making web based applications with seamless integration of a coding environment, database handling, storage and security. Examples of PaaS are Google App Engine, Windows Azure Cloud Services and Openshift.  

Software as a Service (SaaS): This one should be a no brainer. SaaS is simply providing any form of software or application as service. Service includes basic infrastructure and platforms need to run the software. Basically a client can access an application on the cloud using just the internet. This eliminates the need to install software on the user’s device. By combination on Load Balancers and virtualization and multitenant concept, multiple users can use the software and ensure cloud productivity. A SaaS encourages a subscription model rather than a purchasing model. Clients need not purchase many licenses for softwares they simply have to subscribe for the number they need and the users can access the software on the cloud side. SaaS has the benefit of reducing hardware and setup cost in a company. Operations are scalable and software can be accessed from any location. Also the softwares are compatible with multiple internet enabled devices and all updates are automated from the cloud side. The only drawback is privacy and access issues as all data is stored and processed on the cloud with access enabled for many users. Examples of SaaS include Twitter, Facebook, Microsoft 365, SalesForce and Google Apps. 

Everything as a Service (EaaS): This service entails virtually any kind of technology with typical cloud based characteristics, like remote location access, scalability, pay per use model etc. The services encompass the entire spectrum of computing hardware and software like virtual machines, networking and communication devices, servers, programming platforms, database management systems and cloud based apps. Companies like Google, HP and Microsoft have frequently been associated with the EaaS concept. 

The above mentioned are the main categories of services provided by cloud computing technologies. There are small subsets like Communication as a Service (CaaS), Network as a Service (NaaS), Backup as a Service (BaaS) and Storage as Service (SaaS). but we won’t go into all of them.

Advantages of cloud-based services

1. Data is accessible from anywhere: All data is stored on the cloud, and can be accessible to anyone with the right authentication details, anytime, anywhere. Cloud Services also allow you to synchronize data across multiple devices.

2. Seamless software updates and integration: Cloud computing suppliers ensure that all required system and security updates are taken care of. Due to the automatic nature of cloud based services, users need not worry about security. 16 What are cloud services?

3. Quick Deployment: Cloud services can manage the large amount of infrastructural workload which allows faster deployment of solutions, especially for smaller companies. A PaaS allows a developer to focus on building code without any hardware/software hassle, and this allows him to test and simulate his code and hence deploy quicker.

4. More computing power: Computing is done on the cloud hence large scale computations can be managed by better machines.

5. Increased Collaboration: Because of easier access, employees can share information and work on documents and shared applications Web- apps such as Google Apps and Zimbra are examples of services that allow this sort of collaborative utility.

6. Less expense on hardware and software: As Cloud-based services utilise hardware and software on the cloud there is no need for the user to invest in high end software or hardware, or be tied to the constant upgrade cycles, as usually only system capable of running a web browser is required at the user end.

7. Automatic and secure data backup: Estimates suggest that about 800,000 laptops are lost every year at airports alone! Data backup ensures that you don’t lose more than just your laptop, though external hard-disks and the like are geographically challenged ways of backing up. Backing up data on the cloud is secure and almost immune to any sort of disaster. Just back up, and restoring is as easy as logging in from a new device and waiting for it all to download again. For companies, this is especially important, and cloud-based services ensure maximum durability and safety of data.

Disadvantages of cloud-based services

1. You need to be connected- This is one of the major drawbacks of every cloud service. You are at the mercy of the internet, so much so that when the net is down you just can’t work. Varying bandwidth at any end might cause errors to creep in and this limits the use of cloud services for less tolerant needs like HPC. Some services are trying to use offline modes as an alternative, but quick and stable internet is still the best way to go. 

2. Latency- Latency is the time taken by the user system to interact with the machines in the cloud. This is an obvious issue with cloud based services. Cloud based apps will have higher latency than native apps installed on user system since there will be an added time of user end communicating with the cloud. Higher traffic and un- favorable geographical location can aggravate the problem only further. 

3. Complexity- While cloud services enhance and ease company performance they are initially complex to understand. Employees have to be trained to understand any cloud based infrastructure or software. Another issue is that it is difficult to understand how a cloud based service is working and hence the user can only make an informed choice with the information provided to him. This leads to loss of control. 

4. Security- Cloud computing is essentially completely internet based and all cloud based computing uses and stores data using the same network.  That is a security threat right there because data on a common network is prone to attack by hackers and other professionals. Companies offering cloud services use the latest and most advanced security methods though and porting their systems on cloud can actually be more secure for smaller companies. Companies are coming up with state of the art encryption system to ensure maximum data security. 

5. Privacy- Privacy loss is a big concern when we talk about cloud based services. Data stored or shared on the cloud by large social networking sites are usually protected and can be accessed by only the authorized people, but there is always a chance of accidental data leakage, mismatch and other failures.