Abstract
Cloud computing is one the most accepted and emerging trends and technology across the industry. Cloud computing acceptance and popularity remains in its simplicity of use, ease of access and robust infrastructure. Cloud computing finds application across the industry at all the stages of application development, support and data warehouse management. Cloud computing reduces the cost of operation and provides enhanced flexibility. Cloud computing is a technology that has a promising future. Virtualization which is a base underlying technology that facilitates cloud computing provides numerous benefits for an organization. Virtualization is replacing the hardware inventory for organizations with smart virtualized servers that could be increased (scaled) or decreased according to management decision. Cloud computing has been criticized for security issues, unsecured hosting of data storage. However Security is a domain that has been extensively worked upon and many companies like Amazon, IBM, Ret Hat and Cisco have been working on cloud security. Cloud computing is being by companies for replacing their hardware inventory with virtualized servers utilizing the powers of IaaS (Infrastructure as a Service). Organizations are moving towards DevOps (Development Operations) over PaaS (Platform as a Service) utilizing the container environment for continuous deployment and Agile based practices. SaaS (Software as a Service) paradigm of cloud computing is utilized for providing on-demand cloud hosted solutions, services and products. The data storage capabilities of Cloud computing are a major enabler for another emerging technology of Big Data Analytics.
Introduction
Cloud Computing marks the evolution in the field of computing technology. Cloud computing provides ubiquitous ways for software companies to design, develop, deploy and distribute software applications. Cloud Computing has evolved from the old mechanisms of creating monolithic software products and distributing them by burning DVD and CD drives. Cloud Computing covers all the aspects of software development lifecycle. Cloud computing consists of support for hardware, software, database, and services. API based development and API based business modules are the new development paradigms designed over the cloud platform (Mell and Grance, 2011). Organizations of all magnitude small and medium are moving towards the benefits offered by Virtualization and Cloud Computing. Cloud Computing and Virtualization are the technologies to achieve elastic scaling capabilities and cut down operations cost of hardware maintenance and upgrade. Cloud computing reduces the workload and provides an intelligent solution for continuous integration and business continuity. Virtualization component of Cloud computing reduces the requirement of physical inventory of machines (Jain & Paul, 2013).
Virtualization
Virtualization extends liberal benefits to an Organization. The cost benefits are one of the salient features that reduce the load of managing huge data centers and physical machines (Swathi, Srikanth, and Reddy, 2014). Virtualization basic computing capabilities like Isolation, Load Sharing, Dynamics, Aggregation, and Ease of Management. Isolation provides security when multiple users are sharing a single resource. Load sharing capabilities enable high-speed links and large capacity disks. Small resources are aggregated to mimicking a behavior of larger resources. The Virtualized resources tend to be more dynamic than their physical counterparts. Virtualization provides management ease through the availability of managed APIs making it easy to understand, operate and monitor the resources (Jain & Paul, 2013).
Cloud Computing Service Models
IaaS: Infrastructure as a Service is one of the core capabilities of cloud computing where storage, physical machines, virtualized servers, networks and other computing equipment are available as a service and accessed through a set of APIs (Mell & Grance, 2011). IaaS is provided by several vendors like SoftLayer, Rackspace, RedHat and Amazon.
PaaS: Platform as a Service is the container capability of the cloud computing. Runtimes, build packs, database, email and other services are provided over the PaaS for developers to build their software solutions over the cloud (Mell & Grance, 2011). Some popular PaaS platforms are Amazon S3, IBM Bluemix, JBoss EAP, Pivotal Cloudfoundry, and Google App Engine.
SaaS: Software as a Service is the availability and accessibility of software products and applications running on the cloud platform and accessible through a browser or any thin client (Mell & Grance, 2011).
Cloud Computing Delivery Models
There are majorly four cloud delivery models through which the cloud components and services are utilized. Those are Private, Public, Community and Hybrid Cloud models.
Private Cloud
A private cloud is an environment that has been created and provisioned for a single organization and its internal employees, developers, and users. Such kind of cloud hosting cannot be accessed by a user that does not belong to the organization’s network (Mell & Grance, 2011).
Public Cloud
This kind of cloud infrastructure is available to be used by general public. The public cloud can be managed, owned and operated by any business and government organization and available for general users (Mell & Grance, 2011).
Community Cloud
This kind of cloud infrastructure provisioning is done exclusively for a specific community of users working on a shared cause or concern. Community cloud can be operated and managed by any organization within the community or a third party (Mell & Grance, 2011).
Hybrid Cloud
A Hybrid cloud environment is composed of a mix of public, private and community cloud. Each of the cloud hosting environments remains unique but are bound together by some proprietary technology that enables a secure data transformation between various cloud environments (Mell & Grance, 2011).
Applications of Cloud Computing
Cloud infrastructure secures data utilizing highly secured data centers. Pay-on-use rent based cloud services minimize the cost, enhances the security along with upscaling capabilities of the underlying infrastructure. Cloud computing provides a flexible environment, with possibilities for customization and enhancement. The process of scaling hardware and software capabilities is known as the elastic cloud. Amazon’s service EC2 (Elastic Cloud Compute) provides the capability of auto-scaling based on load factors of the underlying. The operation cost for an organization is reduced as a requirement of physical hardware inventory is minimized and thereby reduction in upkeep, maintenance, and less energy consumption. Cloud computing must be accompanied by a strong security policy for risk mitigation (Jackson et al., 2011).
Cloud computing requires no upfront cost making it much viable and popular amongst startups, academics and entrepreneurs coming up with their PoCs (Proof of Concepts). It lowers the operational cost by reducing inventory, on-demand hardware access. Cloud computing most hyped and the most beneficial feature is scaling and descaling. The pay-as-you-use model provides flexibility to upscale the hardware through disk space, servers or memory allocation with minimal downtime (Buyya, et al., 2009).
CCRA (Cloud Computing Reference Architecture) is an architecture reference developed and provided by NIST (National Institute of Standards and Technology) and IBM. CCRA defines the components and actors required for creating a cloud-based computing architecture. CCRA is considered to be an important reference point for designing and starting a cloud computing oriented solution based on a public or Hybrid cloud (Amanatullah, Lim, Ipung, & Juliandri, 2013). Cloud Computing provides a virtual system that could be used with PoS (Point of Sale) Systems to create a robust system that prevents intrusion and makes the system less vulnerable to network threats and malware. A Cloud Computing based solution makes it easy to manage users, deploy applications, create a continuous deployment model and create business continuity goals for the organization (Pearce, Zeadally & Hunt, 2013).
Limitations and Challenges
The development of cloud computing has received mass acceptance by the industry, business owners, and users. However, cloud computing is seen as still in its infancy and the underlying technology under a state of development. Security and speed are considered the biggest limitations and challenges for cloud computing that needs to be addressed. Although there is high-speed internet broadband options that the access to high-speed internet available over 3G and 4G networks is but very limited. The access to high-speed internet is not uniform across the globe (Zhang, Cheng, and Boutaba, 2010).
Cloud provides elastic computer power but not to every uploaded solution. The workload must be parallelizable. This puts an additional limitation and work to benefit from the elastic benefits of a provider. The data stored under cloud environment is under an untrusted host leading to serious concerns and doubts about security of cloud environment. The data storage options available under the cloud are physically located in multiple locations that are geographically separated by large distances. The ACID nature of data is compromised when it comes to replicating data over large distances. The hosts provided by cloud storage are untrusted raising concerns and risks for transactional data (Abadi, 2009).
Summary and Discussion
Cloud computing applications are growing by each passing day Cloud computing is enjoying great acceptance in the industry. The free and accessible model of software platform is very attractive, and people are coming towards it in drones. The knowledge that cloud hosting could be dangerous and insecure for private data is even close to acting as a deterrent. Cloud computing service models cover all the aspects of the information technology. Startup companies have now a wonderful way of starting an organization, doing a PoC over cloud for six months instead preparing only documentations and presentations. The results obtained over a cloud hosted solution would speak for itself.
Conclusion
Cloud computing provides attractive solutions for organizations seeking to upscale their infrastructure, implement a DevOps (Development Operations) and continuous deployment based environment. Cloud computing has different service levels starting from the hardware infrastructure to container environments for development activities. There are already several ongoing developments in the security field and there are multiple solutions being proposed. Cloud computing opens new avenues for research, education, training and development. It is advisable that one must adopt the new technology, understand its implications correctly and finally take an informed decision. The risks and limitations associated with any new technology are always present. However, the benefits always outweigh the risks. Cloud computing is growing and it hasn’t even scratched the surface of the large Information Technology Industry.
References
Abadi, D.J., 2009. Data management in the cloud: limitations and opportunities. IEEE Data Eng. Bull., 32(1), pp.3-12.
Amanatullah, Y., Lim, C. U., Ipung, H. P., and Juliandri, A. , 2013. Toward cloud computing
reference architecture: Cloud service management perspective. In ICT for Smart Society (ICISS),
2013 International Conference on (pp. 1-4). IEEE.
Buyya, R., Yeo, C.S., Venugopal, S., Broberg, J. and Brandic, I., 2009. Cloud computing and
emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility.
Future Generation computer systems, 25(6), pp.599-616.
Cloudtimes.org,. "Cloud Computing Glossary | Cloudtimes". N.p., 2016. Web. 17 Feb. 2016.
Jackson, K.R., Ramakrishnan, L., Muriki, K., Canon, S., Cholia, S., Shalf, J., Wasserman, H.J. and Wright, N.J., 2010, November. Performance analysis of high performance computing applications on the amazon web services cloud. In Cloud Computing Technology and Science (CloudCom), 2010 IEEE Second International Conference on (pp. 159-168). IEEE.
Jain, R. and Paul, S., 2013. Network virtualization and software defined networking for cloud computing: a survey. Communications Magazine, IEEE, 51(11), pp.24-31.
Mell, P. and Grance, T., 2011. The NIST Definition of Cloud Computing. 1st ed. [ebook] Gaithersburg: U.S. Department of Commerce, pp.1-3. Available at: http://faculty.winthrop.edu/domanm/csci411/Handouts/NIST.pdf [Accessed 15 Mar. 2016].
Pearce, M., Zeadally, S. and Hunt, R., 2013. Virtualization: Issues, security threats, and solutions. ACM Computing Surveys (CSUR), 45(2), p.17.
Swathi, T., Srikanth, K. and Reddy, S.R., 2014. Virtualization In Cloud Computing. International Journal of Computer Science and Mobile Computing, ISSN 2320088X, 3(5), pp.540-546.
Zhang, Q., Cheng, L. and Boutaba, R., 2010. Cloud computing: state-of-the-art and research challenges. Journal of internet services and applications, 1(1), pp.7-18.
Appendix
(Cloudtimes.org., 2016)