Cloud computing has recently emerged as one of the latest buzzwords in the computing industry. It is the latest evolution of computing, where IT resources are offered as services. Cloud computing provides on-demand, scalable, device-independent, and reliable services to its users. Cloud computing is all the rage, allowing for the delivery of computing and storage capacity to a diverse community of end-recipients. Clouds are distributed technology platforms that leverage sophisticated technology innovations to provide highly scalable and resilient environments that can be remotely utilized by organizations in a multitude of powerful ways. Cloud computing differs from peer-to-peer, client-server, grid computing, virtualization, and its levels. Over time, the technologies have evolved and led to the development of cloud computing in a phase-wise manner:
Utility computing: in this model, the provider of the services owns, operates, and manages the computing and other infrastructure, and the enterprise subscribers access it as and when required on a rental or metered basis or on-demand pay-per-use billing mode.
Computer cluster: a group of linked computers, which work together in a closely coupled environment such that, in many respects, it appears that these computers form a single computer.
Grid computing: network of various computer resources working in unison like a supercomputer to process and execute resource-hungry applications. It is a hardware architecture that associates various computer resources to reach a main objective. A grid works on various scientific or technical tasks that are too big for a supercomputer and require great number of computers processing power or access to large amount of data.
Cloud computing: it relies on sharing computing resources instead of having dedicated local servers or personal devices to handle applications. It supports and facilitates dynamically scalable and often virtualized resources which are provided as a server over the Internet.
Cloud computing delivers IT services by facilitating the access of resources from the Internet through web-based tools and applications, as opposed to a direct connection to a server. Instead of storing the files on a proprietary hard drive or local storage device, cloud-based storage makes it possible to save them to a remote database over Internet. Internet connection is at the heart of cloud computing and devices having access to the Internet can only access the data and the software programs to run it. The phrase cloud computing derives as the information being accessed is found at virtual space—the cloud that allows its user to work remotely and enables the user to gain access to its service irrespective of the location. Companies extending cloud services enable users to store files and applications on remote servers, and then access all the data via the Internet. The Internet becomes the cloud, and your data, work, and applications are available from any device with which you can connect to the Internet, anywhere across world. The cloud-based services are accessible anywhere in the world, as long as Internet connection is available.
Cloud computing infrastructure consists of time-tested and highly reliable services built on servers with varying levels of virtualized technologies. Commercial offerings have evolved to meet the quality-of-service (QoS) requirements of customers and typically provide such service-level-agreement (SLA) to their customers. Customers generally do not own the infrastructure used in a cloud computing environment; they can forgo capital expenditure and consume resources as a service by just paying for what they use. Ultimately, cloud computing is likely to bring supercomputing capabilities to the mass with bare minimum capital cost. Cloud computing enables multitenancy, which in turn enables sharing of resources and costs among a large pool of users. Centralization of resources in cloud computing environments lowers the cost of infrastructure and improves efficiency by dynamic allocation of CPU, storage, and network bandwidth. The use of multiple redundant sites in cloud computing results in higher reliability and higher dynamic scalabilities that vary as per the changing demands. Sustainability issues of cloud computing because of higher energy consumption at resource site are addressed by leveraging improvement in resource utilization and implementation of more energy-efficient systems.
The term cloud is often used as a metaphor for the Internet and can be defined as new type of utility computing that basically uses virtual servers that have been made available to third parties via the Internet. The cloud sees no borders and thus has made the world a much smaller place. The Internet is global in scope but respects only established communication paths. Globalization of computing assets may be the biggest contribution the cloud has made to date. For this reason, the cloud is the subject of many complex geopolitical issues.
The core concept of cloud computing becomes easy to understand when one begins to think and knows what the modern IT environments desire to achieve, which may vary from the mean to dynamically increase the capacity or add enhanced capabilities to their existing infrastructure, that too without investing money in procuring the new infrastructure, without even investing in training the manpower and without investing in upgrading licenses for new software. Cloud computing models that encompass a subscription-based or pay-per-use paradigm provide a service that can be used over the Internet and extend an IT shop’s existing capabilities.
Cloud computing market is becoming increasingly crowded over time. Major players in this domain are Amazon, Aliyun, Google, IBM Bluemix, Microsoft, Salesforce, and Sun, having different focus areas and offerings. Offerings vary from generalized infrastructure related to servers, storage bandwidth, databases, Web services, and developer platforms to more specific services related to CRM, HR, and security. Offerings also vary from vendor to vender – Amazon offers purely pay-per-use public outsource model, Google Cloud focuses on consumer banking and retail, whereas Microsoft Azure the latest entrant offers data centers and allows clients to keep some data at their own sites. Customer base is varying from big enterprises to small and medium-size business establishments. Different business corporates can employ cloud computing in different ways. Some users maintain all apps and data on the cloud, while others use a hybrid model, keeping certain apps and data on private servers and others on the cloud.
In order to have better understanding of how computing has evolved, it is imperative to know and understand the evolution of computing from a historical perspective which focuses primarily on those advances that led to the development of cloud computing, such as the transition from mainframes to desktop, laptops, and mobile devices on the cloud. When it comes to offering technology in pay-as-you-use service model, most information technology professionals have heard it all—from allocated resource management to grid computing, to on-demand computing and to utility computing. Computer time-sharing computing technology might lead to a future where computing power and even specific applications might be sold through a utility-type business model. Utility can be defined as the provision of computational and storage resources as metered service, similar to those provided by a traditional public utility company. There is a paradigm shift as far as adoption and acceptance of cloud technology are concerned. As trust and reliability issues are resolved, enterprises are showing more faith and confidence and have started to hire services which are even more critical and sensitive like virtual servers that IT departments and users can access on demand as it was confined to only non-mission-critical needs.
Cloud computing extends subscription-based access to infrastructure, platforms, and applications that are popularly referred to as IaaS (Infrastructure as a Service), PaaS (Platform as a Service), and SaaS (Software as a Service).
Software as a Service (SaaS): the focus for SaaS is on the end user as opposed to managed services and involves the licensure of a software application to customers. Licenses are typically provided through a pay-as-you-go model or on-demand.
Infrastructure as a Service (IaaS): clients can avoid the need to purchase software or servers, and instead procure these resources in an outsourced and on-demand service mode. It involves delivering everything from operating systems to servers and storage through IP-based connectivity as part of an on-demand service.
Platform as a Service (PaaS): PaaS is a variation of SaaS, wherein the platform is deliverable rather than application and is considered the most complex as compared to SaaS and IaaS. Unlike SaaS, which delivers software online, here, a platform for creating software is delivered.
Indeed, cloud computing has enabled and paved ways for increased interoperability and usability by reducing the cost of computation, data storage and delivery, and application hosting significantly. To achieve consistent and reliable operation under peak loads which is at the core of cloud technology, the cost and complexity involved in ensuring that applications and services can scale as needed are significantly high.
1.1. Advantages of cloud computing
Reliability: cloud computing is much more reliable and consistent than in-house IT infrastructure as it is managed by expert service providers and bounded by service level agreement, which guarantees reliability and availability that is supported by a massive pool of redundant IT resources maintained by the service provider.
Data recovery: in case of crash, recovery of data either from proprietary or local storage becomes tedious or a costly affair. Instead, professionally managed cloud computing providers enable automatic data backup on the cloud system as they are having redundant storage and are typically supervised by the domain experts.
Manageability: cloud computing provides enhanced maintenance capabilities through central administration of resources, vendor-managed infrastructure, and SLA-backed agreements. Clients enjoy a simple web-based user interface for accessing software, applications, and services—without owning it and an SLA ensures the timely and guaranteed delivery, management, and maintenance of clients’ IT services.
Data centralization: another key benefit of cloud services is the centralized data. The information for multiple projects and different branch offices is stored in one location that can be accessed from remote places.
Cost savings: the most significant benefit of cloud computing is cost savings. Irrespective of business type or size, cloud computing saves substantial capital cost and operational expenses. The lack of on-premises infrastructure also removes their associated operational costs in the form of power, air conditioning, and administration costs. Apart from large business organizations, cloud services are extremely affordable for smaller businesses.
Device independence: no need to stick to single computer or network.
Strategic edge: timely updated latest computing resources give you a competitive edge over competitors, as the updated IT procurement time is virtually nil and thus allows clients to forget about technology and focus on their key business activities and objectives. Clients can deploy mission-critical applications that deliver significant business benefits, without any upfront costs and minimal provisioning time.
1.2. Disadvantages of cloud computing
Uptime: as Internet connection is the lifeline of cloud computing, if your Internet connection is offline, the client will not be able to access any of your applications, server, or data from the cloud. As cloud service providers take care of a number of clients each day, they can become overwhelmed and may even come up against technical outages. This can lead to client business processes being temporarily suspended.
Low bandwidth: with a low-bandwidth net, the benefits of cloud computing cannot be utilized. Sometimes, even a high-bandwidth satellite connection can lead to poor quality performance due to high latency.
Security issues: the very intrinsic nature of clouds makes it a soft target for hackers as it hosts services to various clients and thus the business can become vulnerable to hackers and threats. Security is the measure area of concern when opting for cloud-powered technologies as it involves giving access to sensitive data and business logics in third-party service provider. This risk can be mitigated by adopting and implementing the best, trusted, and tested security measures and standards while storing data and important files on external service providers.
Host lock-in: although cloud service providers promise that the cloud will be flexible to use and integrate, switching cloud services is a very hectic task. Organizations may find it difficult to migrate from one vendor to another. Hosting and integrating current cloud applications on another platform may throw up interoperability and support issues.
Limited flexibility: enterprises hiring cloud computing services are having limited control over the functions of the software as well as hardware as application and services run on a remote server. As applications always run on remote software, it provides the very minimal flexibility to the users.
Minimal control: third-party service provider owns, manages, and monitors the infrastructure and relives the customer from all housekeeping tasks. Thus, the customer is free to concentrate and focus entirely on controlling and managing the applications, data, and services operated on top of that, not the back-end infrastructure itself.
Incompatibility: sometimes, there are problems of software incompatibility, as some applications, tools, and software connect particularly to a personal computer.
Technological advancement and ease of use have made cloud as an integral and mandatory part of every business venture. There are pros and cons of cloud but one cannot think without enjoying the benefits of cloud computing as strategically planned use of cloud service can minimize the disadvantages of cloud computing. Furthermore, latest precautionary and security measures can enhance the reliability of the services offered by cloud. Cloud computing has rocked the business world as it harnesses the benefit through minimized costs, easy access, data backup, data centralization, sharing capabilities, security, free storage, and quick testing. The argument becomes even stronger with their enhanced flexibility and dependability.
2. Challenges in cloud computing
A major problem that needs to be addressed in all the cases is that of availability of services and security.
Security of data, high-speed Internet, and standardization are the major challenges associated with cloud computing. Legal framework needs to be in place as far as protection of users’ identity, privacy, and application-specific data. Secondly, without high-speed Internet connection, true benefits of cloud computing are untenable. Because of the varied nature of cloud computing, i.e., set of centralized resources used by mass, it is mandatory to have some protocol and technical standardization in place to facilitate its easy and seamless widespread adoption and make it a mainstream method of computing for the mass.
Infrastructure security, data security and storage, identity and access management, security management and privacy are the various sensitive fronts from security perspectives that need to be addressed. Cloud service provider needs to play a very vital role in providing the utmost security with greater transparency. Greater transparency needs to be complimented by significantly enhanced and improved security technology which is needed in both preventive controls and detective controls. Cloud computing is a low-cost solution that offers responsiveness and flexibility with ease. The role of the corporate IR departments is impacted significantly by the adaptations of cloud computing as it provides cost-effective solutions. A major share of annual budgets of majority of IT departments is allocated to maintenance and depreciation of the resources without any value addition. This diminished view of IT’s value directly to business units is reinforced by cloud computing’s pay-as-you-go business model and the shift from capital expenditure to operational expenditure.
The cloud computing environment presents new challenges from an audit and compliance perspective, but much can be used from traditional outsourcing models. To support internal business and risk management objectives and to support customer requirements, it is essential for cloud service providers to identify the requirements with which it must abide. Though audit and compliance functions played an important role in traditional outsourcing relationships, the dynamic nature of cloud computing services demands increased importance and attention. It is imperative that the cloud service provider must take a programmatic approach to monitor and regulate these compliance and support customer requirements.
One of the biggest impediments to cloud computing has been Internet bandwidth. With the advent of superfast, 3G and 4G wireless technology, widespread adoptions of broadband services, stringent Internet security standards, and protocols exporting huge data clusters out of their buildings and into someone else’s hands have become more safe and fast. Widespread application of cloud computing realizes the savings potential associated with the ability to outsource the software and hardware necessary for tech services.