Cloud computing has emerged as one of the fastest growing technologies. The use of cloud services by organizations for cost effective system is growing, since cloud computing has been increasingly providing services which can be managed by the users over the internet. This technology not only delivers and manages services based on the users but provides services based on the user requirement incorporating a utility type services where the users pay according to their usage. This report aims to explain the deployment architecture of the cloud computing environment and the three major cloud services associated to it.
One of the fast-growing available technologies in the IT field might be the Cloud computing. The idea behind this successful technology is providing and releasing a configurable bundle of shared “convenient, on-demand and ubiquitous” hardware, software and other resources through network with the minimalised interaction and supervision of service provider (Mell & Grance 2011). According to Victories (2015) the deployment architecture of the Cloud computing can be categorised into 4 major models as:
Public Cloud: Available for the public use and may belong to government, businesses, organisations or a combination of them.
Private Cloud: Appropriate to be used by an organisation’s divisions. Deployable by the third-party company, in-house team or a combination of both and can be kept inside or outside the enterprise boundaries.
Community Cloud: Belongs to a specific group of organisations with mutual activities, goals, requirements and concerns. It might be operated by members, third-party or a mixture of both
Hybrid Cloud: It is conducted by two or more type of mentioned models.
However, other resources such as Cloud Strategy Partners (2016), introduced more deployment models as:
Inter-clouds & Multi-Clouds
Schouten (2014) explained the level of accessibility and responsibility available on 3 presented services in Cloud computing. This stack not only shows the interaction between service provider and subscribers but also explains that to what extent or up to which layer a vendor is responsible to support the service. Further, this figure explains that up to which level in each service, the consumer has authority to manage the service or modify it.
Figure 1: A comparison among traditional on-premises services and cloud computing services
This essay will strive to explain the triple available services in the cloud environment as Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) to provide an overall view for consumers that cannot recognise which service may suit their IT projects the best.
1.Software as a Service (SaaS)
Software as a Service or briefly SaaS, also called on-demand or Software on Demand (SOD), is another available service model offered by cloud computing. Payroll accounting, Customer Relationship Management (CRM) and Enterprise Resource Planning (ERP) are some examples of prevalent SaaS applications offered by vendors (Kavis 2014). According to Shroff (2010), the emergence of the SaaS is concurrent with the early stages of the internet appearance. An example of SaaS applications in that era is Corio that failed because of several reasons such as the low bandwidths (Shroff 2010).
Nowadays, SaaS vendors provide subscribers with application, data, runtime, middleware, operating system, virtualization, servers, storage and networking (Satyanarayana 2012). In this model, customers pay the subscription fee, or register freely, to use the mentioned pieces of hardware and software without any modification permission except for user-administration parts.This limitation might only be attributed to the cloud-based suites or user-centric applications such as office 365 (Sowmya et al. 2014), which users are unable to modify the released version of the application. SaaS solutions can offer a dynamic environment to customers for non-user centric applications like Salesforce.com that developers are able to assemble different pieces of Application Program Interfaces (API) to customize a desirable SaaS-based application. Though, some resources called this feature as a subclass of SaaS, named Framework as a Service or briefly, FaaS (Rosenberg & Mateos 2011). The deployed SaaS application with the mentioned licensing model known as “pay as you go” is expected to serve within various platforms as well as integration with other applications. Furthermore, SaaS is known as the “most mature” available service offered by cloud computing (Hurwitz et al. 2010)
While the functionality of SaaS is based on other technical aspects such as virtualization and Service-Oriented Architecture (SOA), Rosenberg & Mateos (2011) named the SaaS as the “business model” aspect of the deployed applications in the cloud environment. In addition, according to Satyanarayana (2012), Simple Object Access protocol (SOAP), Universal Description, Discovery, and Integration (UDDI), eXtensible Markup Language(XML) and Web Services Description Language (WSDL) are some of utilised protocols and standards in SaaS implementation’s protocol layer. The new successful SaaS architecture is based on “configurability” and “multi tenancy”(Shroff 2010)(Bientinesi et al. 2010). Since Upgrades and managing various versions of a product might be some of the costliest issues due to application maintenance, the economy of scale that have been being offered to subscribers through sharing hardware resources might be beneficial for both sides. Moreover, by using a single code base, providers are able to reduce upgrades’ costs significantly (Shroff 2010). This cost reduction may lead to more frequent upgrades that even subscribers might be unaware of them. Furthermore, agile implementation, scalability and accessibility are mentioned as some other benefits of SaaS (Sylos & Sylos 2017). However, similar to the other modern technologies, SaaS has its drawbacks such as insufficient user control, security concerns associated to the shared infrastructures, performance due to web-based design and shared pools, Internet dependency and the lack of diversity (Advantages and disadvantages of software as a service (SaaS) model 2017).
2.Platform as a Service (PaaS)
PaaS is one of the cloud computing models that delivered application over the internet (Margaret). It is one of the “as a service model” of the three different but distinctive model of the cloud architecture. It is built on IaaS layer and is the second layer of the cloud platforms which consists of operating systems and application frameworks (Qi Zhang). It allows consumers/customers to use some functionalities of the cloud application without thinking anything about developing or code customization according to NIST. PaaS is mostly developer friendly rather than the user. It is a collection of platforms designed to perform collaborative development tasks.
PaaS has versatile characteristics; few of the main characters is shown below:
Support for custom applications: PaaS is developer friendly as it supports the development, deployment and operation of customs applications.
Provision of runtime environments: It allows developers to support various runtime environment rather depending on one or two development environments. This allows developers to do their jobs by giving them chance to choose the required softwares at hand.
Support for a range of middleware capabilities: This allows developers to create applications that support a range of capabilities using a wide range of application infrastructures or middle wire.
Provision of services: It allows developers to use other services maintaining diversity in the development process.
Preconfigured capabilities: These characteristics allows the service provider and users already added characteristics which allow them to develop or design a new thing in a quickly.
API Management capabilities: This capability allows developers to operate their product or application to be flexible.
Tools to assist developers: This system allows flexibility to use different development tools to guide them in need.
Operations capabilities: This characteristic help operators and developers via the dashboard and commonly via API.
PaaS is built mainly for developers. But there are other benefits are available too such as:
- It uses Pay-as-You-Go method that means you will only pay as much as you use these tools.
- It reduces cost for maintenance.
- On demand resource availability.
- It reduces administration costs.
- It reduces skill manpower requirement.
- It allows team collaboration.
- It allows quick access for new users.
One of the example of PaaS is Heroku which uses Ruby on Rails as a development language. PaaS services is provided by Amazon Web Services (AWS), Appear IQ, Google App Engine, Heroku, Microsoft Azure and Elastic Beanstalk (Ben Kepes).
Figure: Examples of Paas services.
3.Infrastructure as a Service(IaaS)
Infrastructure as a Service (IaaS) is one of the services of cloud computing service provider. The IaaS platform provides managed and scalable resources as services to the user with enhanced virtualization capabilities (Frantsvog, Seymour & John 2012). IaaS as a cloud computing service provides virtualized resources -hardware, storage, server and data centre space and other computing infrastructures over the internet to its users. Users of IaaS generally outsource the infrastructure service to the provider and users’ pay according to their usage. The service provider is responsible for maintaining the infrastructure.Some IaaS providers are Rackspace, Amazon S3 and Microsoft Azure.
IaaS has many benefits, especially for enterprise, to create cost effective and easily scalable IT infrastructure. For enterprises where deploying and managing hardware has huge expenses, IaaS provides easy scalable resources avoiding large expenditures, making it cost effective (Khalid & Shahbaz 2013). Basically, all hardware and infrastructure is outsourced to a cloud service provider. Additionally, when there is uncertainty in the scale of IT infrastructure deployment in an organization, with IaaS, resources can be easily scaled up or down based on the requirements. The IaaS provider optimizes the cloud computing resources so the infrastructure can support increasing loads. The user also does not have to manage the physical cloud infrastructure but have flexible access to the virtual infrastructure. One of the major advantage is the competence of IaaS to transfer the load to the cloud during peak demand for organizations in house systems, without having to invest in capital resources to cover the cost of additional servers (Orlando 2011), also known as “cloud bursting.”
The challenges with IaaS model is the increasing dependence of the client organization on a specific provider. Data security and privacy, regulatory compliance also remains a major concern for enterprises considering IaaS platform. The information to make informed security decisions might not be available, and the available data might not be reliable. Therefore, privacy and security consequences of cloud computing should be carefully considered when deciding about the benefit of a cloud-based solution. (Hay, Nance & Bishop 2011). Although, the infrastructure is outsourced, complex software requirements still exist to integrate with the cloud whenever required. A survey of resource scheduling in IaaS based cloud computing (Manvi & Shyam 2014) also explained that flexibility, scalability, adaptability, customization and reusability issues needs to be considered along with performance metrics.
IaaS is suitable for organizations with changing demands of additional servers. Also, business wanting to focus on their service rather than IT infrastructure can also benefit from IaaS. Organizations who need to test and analyse new services before actual deployment can also benefit from IaaS.
This report examines the characteristics of cloud computing and its applications in real world. The paper captured the characteristics all cloud computing services share, as well as those that are exclusive to one of the three service categories—infrastructure, platform, and software. As we have first try to discuss first the phase of the cloud computing structure. It that phase we have discussed “Software as a Service” or SaaS and its basic applications and properties. Then we have discussed “Platform as a Service” or PaaS where PaaS capabilities and its flexibility have been covered. Finally, we have discussed about IaaS (Infrastructure as a Service) or final structure of the cloud computing architecture where its applications have been covered.
Cloud services are typically deployed based on the end-user (business) requirements. All three platform support different real world applications based on their type such as:
Software as a Service (SaaS): It is the first level of platform that provides remote web-based services to its users. It allows users(business organizations and standalone small business) a reliable cost effective solutions then traditional licensed based software’s as it follows pay as you go policy that means business will pay as much as their usage. Currently business around the world follows Google Apps, Salesforce, Workday, Concur, Citrix GoToMeeting, Cisco WebEx etc for their businesses.
Platform as a Service (PaaS): It is the second level of the existing three layers of the cloud computing services. Cloud services such as IBM BlueMix, HP Helion, Microsoft Azure,Amazon Elastic BeanStalk, Heruku etc are available for the current business world. Cloud software’s such as Cloud Foundry, RedHat OpenShift, Windows Azure Pack etc that are also used in current business world
Infrastructure as a Service (IaaS): IaaS is final level of cloud platforms which is very useful in data centers where softwares and applications are stored. Current business world usable platforms are Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE), Joyent.etc.
Cloud is a flexible computing structure as from the perspective of it’s both ways (from a developer perspective and from the general user perspective). As researcher and developers are still trying to find conclusion the fluid and uncertain environment that surrounds cloud computing – be it in terms of the technology and other aspects are still matter of discussion and development. The famous physicist Niels Bohr once said, “Prediction is very difficult, especially about the future.”
Bientinesi, P., Iakymchuk, R. & Napper, J., 2010. Handbook of Cloud Computing, New York: Springer.
Cloud Strategy Partners, L., 2016. Cloud Service and Deployment Models. , pp.1–15. Available at: http://cloudcomputing.ieee.org/images/files/education/studygroup/Cloud_Service_and_Deployment_Models.pdf.
Hurwitz, J. et al., 2010. Cloud computing for Dummies, Indianapolis: Wiley Publishing, Inc.
Kavis, M.J., 2014. Architecting the Cloud 1st ed., John Wiley & Sons, Incorporated.
Mell, P. & Grance, T., 2011. The NIST Final Version of NIST Cloud Computing Definition Published. Nist Special Publication, 145, p.7. Available at: http://www.mendeley.com/research/the-nist-definition-about-cloud-computing/ [Accessed April 24, 2017].
Rosenberg, J. & Mateos, A., 2011. The Cloud at Your Service: The when, how and why of enterprise cloud computing, Greenwich: Manning Publication Co.
Satyanarayana, S., 2012a. Cloud Computing : SaaS. GESJ: Computer Science and Telecommunications, 4(36), pp.76–79.
Satyanarayana, S., 2012b. Cloud Computing : SaaS. GESJ: Computer Science and Telecommunications, 4(4), pp.76–79.
Schouten, E., 2014. Cloud computing defined: Characteristics & service levels – Cloud computing news. Ibm. Available at: https://www.ibm.com/blogs/cloud-computing/2014/01/cloud-computing-defined-characteristics-service-levels/ [Accessed April 27, 2017].
Shroff, G., 2010. Enterprise Cloud Computing 1st ed., New York: Cambridge University Press.
Sowmya, S.K., Deepika, P. & Naren, J., 2014. Layers of Cloud–IaaS, PaaS, and SaaS: A Survey. International Journal of Computer Science and Information Technologies, 5(3), pp.4477–4480.
Victories, V., 2015. 4 Types of Cloud Computing Deployment Model You Need to Know – Internet and Technology Blog – Internet and Technology. Www.Ibm.Com. Available at: https://www.ibm.com/developerworks/community/blogs/722f6200-f4ca-4eb3-9d64-8d2b58b2d4e8/entry/4_Types_of_Cloud_Computing_Deployment_Model_You_Need_to_Know1?lang=en [Accessed April 24, 2017].
Advantages and disadvantages of software as a service (SaaS) model 2017, viewed 12 April 2017, <https://www.nibusinessinfo.co.uk/content/advantages-and-disadvantages-software- service-saas-model>.
Ben Kepes . 2017. Understanding the Cloud Computing Stack: SaaS, PaaS, IaaS. [ONLINE] Available at: https://support.rackspace.com/white-paper/understanding-the-cloud-computing-stack-saas-paas-iaas/. [Accessed 19 April 2017].
Apperenda. 2017. IaaS, PaaS, SaaS (Explained and Compared). [ONLINE] Available at: https://apprenda.com/library/paas/iaas-paas-saas-explained-compared/. [Accessed 17 April 2017].
Margaret Rouse. 2016. Platform as a Service (PaaS). [ONLINE] Available at: http://searchcloudcomputing.techtarget.com/definition/Platform-as-a-Service-PaaS. [Accessed 16 April 2017].
Zhang, Qi, 2010. Cloud computing architecture. Cloud computing: state-of-the-art and research challenges, [Online]. Volume 01, pp 7–18. Available at: http://download.springer.com/static/pdf/652/art%253A10.1007%252Fs13174-010-0007-6.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs13174-010-0007-6&token2=exp=1492872712~acl=%2Fstatic%2Fpdf%2F652%2Fart%25253A10.1007%25252Fs13174-010-0007-6.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs13174-010-0007-6*~hmac=06fe55cfb20a0539f703894d7a86049d8334a263c08bd351b65b097f7c60d3d1 [Accessed 15 April 2017].
Armbrust, Michael , 2010. Defining Cloud Computing. A View Of Cloud Computing, [Online]. vol. 53, p. 50. Available at: http://delivery.acm.org/10.1145/1730000/1721672/p50-armbrust.pdf?ip=18.104.22.168&id=1721672&acc=OPEN&key=65D80644F295BC0D%2E638C67C1DB76B401%2E4D4702B0C3E38B35%2E6D218144511F3437&CFID=749506199&CFTOKEN=54671088&__acm__=1491879537_5b667973af5c8ba3ed5a1b70022bc470 [Accessed 15 April 2017].
Cloud Standard Council. 2015. Practical Guide to Platform-as-a-Service Version 1.0 . [ONLINE] Available at: http://www.cloud-council.org/CSCC-Practical-Guide-to-PaaS.pdf. [Accessed 19 April 2017].
Frantsvog, D., Seymour, T., & John, F. (2012). Cloud Computing. International Journal Of Management & Information Systems (IJMIS), 16(4), 317. http://dx.doi.org/10.19030/ijmis.v16i4.7308
Hay, B., Nance, K., & Bishop, M. (2011). Storm Clouds Rising: Security Challenges for IaaS Cloud Computing. In 44th Hawaii International Conference on System Sciences (pp. 1-7). Kauai, HI,USA: IEEE.
Innocent, A. (2012). Cloud infrastructure service management – A Review. International Journal Of Computer Science Issues, 9(2), 6.
Khalid, A., & Shahbaz, M. (2013). Cloud Computing Technology: Services and Opportunities. Pakistan Journal Of Science, 65(3), 348-351.
Madni, S., Latiff, M., Coulibaly, Y., & Abdulhamid, S. (2016). Resource scheduling for infrastructure as a service (IaaS) in cloud computing: Challenges and opportunities. Journal Of Network And Computer Applications, 68, 173-200. http://dx.doi.org/10.1016/j.jnca.2016.04.016
Manvi, S., & Krishna Shyam, G. (2014). Resource management for Infrastructure as a Service (IaaS) in cloud computing: A survey. Journal Of Network And Computer Applications, 41, 424-440. http://dx.doi.org/10.1016/j.jnca.2013.10.004
Orlando, D. (2011). Infrastructure as a Service. Ibm.com. Retrieved 17 April 2017, from https://www.ibm.com/developerworks/cloud/library/cl-cloudservices1iaas/