Faculty of Engineering & Information Technology School of Information, Systems and Modelling
Enterprise Adoption of Cloud Computing
PaaS Approach
BY ANTON KRAVETS
Abstract
Cloud Computing is a relatively new term that applies to technologies for storing, processing, and accessing remote data. Cloud solutions are widely applicable in various industries such as healthcare, finance, and education. Adapting cloud computing significantly benefits developers and large enterprises as a new approach to hosting web applications and custom infrastructures.
The main feature of PaaS is containerization, and the most common use of PaaS is a Development Framework and Business Intelligence Solutions. ff
One of the interesting cases of adaptation of PaaS in the internal IT infrastructure took place at CERN (Europen Organisation for Nuclear Research). CERN Web Network Team employed the OpenShift Platform to improve their hosting capabilities/
KEYWORDS
PaaS, CERN, Adoption, Cloud, Containerisation
Significance of Cloud Adoption
Cloud computing is becoming a global trend, opening up many ways for enterprises to improve their IT infrastructures’ productivity, business agility, and novelty. Avram (2014) states that cloud technologies make computing resources more accessible, powerful, and cheap. A key feature of cloud solutions is their availability on-demand via the Internet without configuring infrastructure software and purchasing hardware. Realizing this, more and more modern enterprises are shifting the nature of their business and core business processes towards cloud infrastructures.
By adopting cloud solutions, industries are reaping significant benefits. For example, healthcare is getting a more secure and accessible electronic records system, and hospitals and clinics use the Cloud for document storage and human resource management. The financial industries are getting more efficient tools for communicating with clients, accounting calculations, and storing documents. In the educational environment, cloud systems provide online approaches to learning and work with assignments (Canvas)
However, despite the significant benefits that cloud solutions provide, modern companies also face challenges in adapting cloud infrastructures in enterprises. Thus, it is clear that cloud adaptation brings difficulties and problems in system integration, data management, and cases of adaptation of various cloud vendors (Ramchand et al., 2021). Also, despite the tremendous global interest in this technology, many enterprises are faced with the fact that the costs of adopting cloud solutions are too high. Not every company can deal with keeping sensitive data outside.
Tafoya (2020) identified the main challenges associated with adopting cloud solutions. Tсhe first challenge is related to the education of employees and their understanding of how cloud technologies work. It is necessary to apply educational programs in various departments to reduce these issues. The second is related to process improvement, especially in a hybrid cloud environment related to data transportation.
Therefore, this topic is significant for studying how cloud computing works. This report seeks to explore the technological features of cloud solutions on the example of three forms of this technology -IaaS, PaaS, and SaaS. Examples of companies that have adopted various forms of cloud solutions and the problems associated with these processes will also be studied. Recommendations will also be given regarding future adaptation processes for enterprises.
What is PaaS?
Mcgrath (2012), as a pioneer in establishing a conceptual framework of Cloud Computing, determined PaaS as a rather abstract concept compared to IaaS and SaaS. Such designation is explained by the position of PaaS in the Cloud Computing stack. As shown in Figure 1, PaaS is located in the middle of the stack, between IaaS on the bottom and SaaS with access to end-users at the top. In other words, Pass is built on top of IaaS. This model allows third-party providers to lend their infrastructure to developers, accessed through web browsers (“What is PaaS? Platform as a Service Definition and Guide”, 2022)
The platform, provided through a PaaS framework, is an operating system, middleware, and hardware. Such platforms allow users to host or execute their program language (Python, Java, C++, etc.) through clouds, which could be private, public, or hybrid.
Containerization
Adopting PaaS infrastructures allows companies to utilize two advantages of the Cloud: virtualization techniques and containers. Pahl (2015) characterized Virtual machines (VMs) as a cloud infrastructure backbone that allows companies to achieve scaling and elasticity. VMs as a virtualization structure isolates large files and accommodate the entire system as a single process. Due to the isolation, the VM approach effectively deals with security issues, which becomes one of the most relevant reasons for companies adopting the PaaS approach in their IT infrastructures. As represented in Figure 2 the container hosts packaged applications, accompanied by libraries of the business logic. PaaS, in this scenario, plays as a deployment performer of applications from containers, which are the solution for cross-platforming operations.
Containers use the same approach as virtualization but are more focused on the PaaS approach, has a lighter resource based on images, are capable of interconnection, and are built purposefully for delivering/deploying/testing software (Pahl, 2015). Containers aim to fully isolate running processes, converted to images (building blocks) layered in the stack on top of each other (Figure 3). Such a stack of layers consists of a container, platform image (Apache and Emacs), Linux image, and kernel (Figure 3). Such architecture allows the application to be constructed from single images, subsequently containerized with other applications, allowing multiple platforms and applications (Figure 4).
One of the critical features of PaaS is interoperability, which allows to scale up the construction and assemble containers into a large cluster (Figure 5). This, in turn, can be launched from different clouds and used for the run of one or as a combination of several related applications. The clustering architecture enables flexible network topology without the need for manual configuration.
Therefore, as one of the most prominent features of PaaS approach to cloud computing, container technology has a great potential for the overall growth of PaaS technology. Companies seek to adopt PaaS to solve programming limitation, such as lack of orchestration capabilities and opening opportunities for standardization, allowing for multiple clouds and interchangeable processes.
PaaS as a Development Framework
The most common use of PaaS in today’s business environment is to use it as a development framework. In this vein, developers can utilize the PaaS infrastructure to build cloud-based applications or customize the existing ones (Azure, 2022). This allows developers to free themselves from buying their software and hardware to run their applications and spend time managing, configuring, scaling the infrastructure, and eliminating security concerns. (Chai et al., 2022; Marko, 2022).
Research points to the underlying drawbacks despite many positive implications of adopting PaaS in the organization’s IT infrastructure. Bajaj et al. (2020) found the so-called “Vendor Lock-In accompanies the adaption of PaaS by enterprises.” This problem puts the enterprise in a situation where it cannot simply migrate its cloud infrastructure and data to another vendor without facing incompatibilities, restrictions, and costs. Therefore, enterprise adoption of PaaS should begin with an evaluation of leading PaaS vendors: AWS Elastic Beanstalk, Cloud Foundry, Google App Engine, and Openshift.
AWS Elastic Beanstalk
One of the most popular platforms allows developers to deploy and run their applications in AWS Elastic Beanstalk. Developers and administrators use this platform to easily control, manage and deploy applications maintaining a high level of control without building their infrastructure and servers. (Bajaj, 2020). AWS supports interconnected various types of containers for languages such as Java, Python, Ruby, Node.js, and databases based on MySQL and Oracle structures. Amazon Beanstalk allows auto-scaling, peak managing, and load balancing with an informative user interface for health monitoring.
Google Cloud App Engine (GAE)
Google App Engine is designed specifically for the hosting of Web Applications. Deployed applications are embedded in a unified Google execution environment. This PaaS solution also enables automatic scaling, fast deployment, health monitoring, and administrative tools. GAE supports the same languages as AWS Elastic Beanstalk. Developers do not control resource allocation since GAE takes care of the cloud infrastructure, leaving developers only to code the applications (Bajaj, 2020). The GAE is considered a more cost-effective, faster, and straightforward management system (TechCommanders, 2022).
Cloud Foundry
Cloud Foundry was the first PaaS vendor developed by VMware. Like other PaaS vendors, it allows developers to deploy their applications and provides access to management tools via command-line UI. One of the main distinguishing features of Cloud Foundry is its’ approach to the independent base infrastructure, which allows users to work on their local infrastructures (computers, private clouds, and data centers) and then easily migrate to Cloud Foundry. Such an approach enables a high level of customization, utilizing all stacks of languages and integration capabilities (Bajaj, 2020). Also, Cloud Foundry is a cost-effective solution with low complexity that enables fast application deployment without modifications.
OpenShift
Open Shift is another popular PaaS vendor that allows application development and hosting. It also provides a whole stack of programming languages. Additionally, it will enable integrated development tools, such as Eclipse, Jboss, or Jenkins, to maintain an entire development cycle ( Bajaj, 2020). OpenShift differentiating feature focuses on multitenancy that utilizes containers capabilities oh Kubernetes container orchestration of deployment, scaling, and monitoring multiple applications via Dashboard. OpenShift allows developers to deploy applications in one click, making it a highly competitive vendor for big enterprises that need to run and test many applications quickly
CERN OpenShift Adoption Case
One of the great examples of effective deployment and adaptation of PaaS cloud computing solution was produced by the European Organization for Nuclear Research (CERN). Due to the nature of main CERN’s operational areas, it’s required many applications to be developed and executed to support a heavy scientific base and research process and operate The Large Hadron Collider (LHC).
The CERN Web Frameworks department, which provides applications for developers and hosting services for the CERN website, was set to maximize the computational capabilities of central hosting but minimize computing resources utilized by hosting infrastructure. This strategy aims to modernize CERN’s web hosting and establish an easier way to deploy applications for developers. By adopting PaaS infrastructure, the Web Frameworks team aimed to increase the hosting infrastructure’s capacity to host more applications and reduce the burden on developers who are forced to configure their web servers. The team also saw great potential in increasing automation on the internal IT infrastructure to make it easier for developers to prototype, build, and deploy Web-Applications.
CERN Web Framework team employed PaaS as a service management component such as:
- User Interface
- Command-Line Interface to monitor running web-applications
- Web Applications templates to handle multiple versions of the same application.
- OpenShift Platform
OpenShift Platform played an essential role in PaaS deployment at CERN as container instrumentation to develop, test, and execute web applications. OpenShift’s containers nature allows enveloping a part of the software in a complete operating environment where developers have a full set of tools such as libraries, programming tools, runtime, scaling, failure tolerance
- CERN PaaS Architecture
The system architecture of the OpenShift comprises three main actors: Application owner, SDN (Virtual Network), and Web App users. Application owners use administration servers to host their applications and interact with them through CLI (Command Line Interface). Containers house applications that can be connected and intercommunicated by SDN. However, the application within containers cannot be accessed by Web App users from outside (Figure 6). Therefore, HAProxy as a router node serves as a transfer medium to handle requests from Web App users to assigned containers within the SDN area through HTTP connections.
- Deployment of Arbitary 3rd party Apps
OpenShift also enables CERN IT services to run a 3rd party applications that CERN developers did not write. This becomes possible by Docker Container technology which converts applications in the form of Images, which are compatible with internal file and environment configuration and can be quickly deployed or modified. Additionally, OpenShift containers support many development framework languages like Java, Python, Ruby, PHP, PERL, and Node.js. The insulating feature of containers prevents conflicts in running applications in one OpenShift environment.
PaaS Business Intelligence
Another utilitarian application of PaaS solutions for enterprises is Business Intelligence (BI) capabilities. Muntean (2015) emphasized that Business Intelligence as a part of IT technologies is one of the main influential factors of business agility that improves the quality of decision making, forecasting, and returns on investment. As Al-Aqrabi et al. (2014) stated, cloud-based business Intelligence is an instrument to monitor and assess the business process by analyzing data from a multidimensional perspective of transactions collected across the enterprise system.
Online Analytical Processing (OLAP) is served as a UI of BI to provide an accurate graphical representation to users in the form of reports. The synthesis of BI and OLAP as a framework to enable statistical analysis of the business process to identify inefficiencies and subsequently actions for restructuring the workflows (Al-Aqrabi et al., 2014). Figure 7 shows OLAP as cubes that operate multidimensional data supplied by databases, and the result of the processes is provided to end-users in the form of dashboards.
Even though cloud-based BI solutions are relatively new in the IT landscape, they are more flexible than the traditional BI approach and more adaptive for dynamic global business. BI services for PaaS are analytical processes/services integrated into PaaS infrastructure as a part of the overall structure. Therefore, Business Analytic PaaS (BA PaaS) is an integral cloud-based platform that enables Business Intelligence, Data Warehouse, Data integration, and Data Management services designed specifically for developers. Main BA PaaS vendors are Microsoft Azure Cloud Services, Oracle cloud PaaS, Birst Instant Cloud Analytics on SAP, SAS, and SAP.
Migrating Local Applications to PaaS
Even though PaaS is a favorable environment for the development and deployment of applications, the problem of transferring already created applications to the Cloud, located locally on the organization’s servers, remains (Suryawan et al., 2020). This problem lies in the fact that applications often turn out to be incompatible with the cloud architecture and the security risks associated with the process of transferring infrastructure and data.
However, migrating problems primarily associated with uncertainty can be addressed by employing a systematic methodology for preparations and planning. Suryawan et al. (2020) noticed that application migration to PaaS is more complicated than IaaS. It requires a more complex consideration and adoption model regarding programming languages, databases, and architecture compatibility.
Suryawan et al. (2020) aimed to compare and measure organizations’ efforts in migrating their IT assets to PaaS infrastructure based on the three most common vendors: Amazon Elastic Beanstalk, Azure App Service, and Google engine. To identify the most feasible migration vendor, researchers divided the migration process into several tasks and assessed each vendor based on this metric:
- Preparation of Resources
- Installation
- Configuring cloud environment
- Program and data transfer
- Post-Migration modification
The experiment resulted in different effort values between PaaS vendors. So, it turned out that Amazon Elastic Bean requires the higher cost of creating file objects and operations with source code. However, the EC2 system proved to be effective for managing server settings. Overall, Elastic Bean is relatively easy to migrate and does not require many steps. Azure App Service turned out to be the most accessible vendor to facilitate the migration without requiring many steps. The only difficulty was setting up CC servers and metrics. Google App Engine proved to be the most complex PaaS, requiring extra effort in operations, source code, and CC metrics.
Thus, organizations can choose a PaaS vendor for migration based on their requirements. Organizations should make a migration plan and analyze the tasks, key infrastructure features, and functions. Thus, companies can reduce the uncertainty and risks associated with the transfer of on-premises applications and architectures to PaaS cloud solutions (Suryawan et al., 2020).
References
Al-Aqrabi, Liu, L., Hill, R., & Antonopoulos, N. (2015). Cloud BI: Future of business intelligence in the Cloud. Journal of Computer and System Sciences, 81(1), 85–96. https://doi.org/10.1016/j.jcss.2014.06.013
Avram. (2014). Advantages and Challenges of Adopting Cloud Computing from an Enterprise Perspective. Procedia Technology, 12, 529–534. https://doi.org/10.1016/j.protcy.2013.12.525
Bajaj, D., Bharti U., Goel A., Gupta S. (2020). Paass Providers and Their Offerings. International Journal of Scientific & Technology Research, 9(2), 4009-4017. (PDF) Paas Providers And Their Offerings (researchgate.net)
Bergeron, R, 2019, How to build an IaaS business at the Depth Stage, viewed 30 Mar 2022, https://www.linkedin.com/pulse/how-build-iaas-business-depth-stage-renee-bergeron/
Bernstein, Vidovic, N., & Modi, S. (2010). A Cloud PAAS for High Scale, Function, and Velocity Mobile Applications – With Reference Application as the Fully Connected Car. 2010 Fifth International Conference on Systems and Networks Communications, 117–123. https://doi.org/10.1109/ICSNC.2010.24
Jain, P., & Jaiswal, A. (2012). Security Issues and their solution in cloud computing. International Journal of Computing & Business Research, 2229-6166.
Jiang, P, Wang, W, 2022, Comparison of SaaS and IaaS in cloud ERP implementation: the lessons from the practitioners, viewed 30 Mar 2022, https://www.emerald.com/insight/content/doi/10.1108/VJIKMS-10-2021-0238/full/html#sec020
Kavis. (2014). Architecting the cloud: design decisions for cloud computing service models (SaaS, PaaS, and IaaS). In Architecting the Cloud (1st ed.). WILEY. https://doi.org/10.1002/9781118691779
Kim, S, Lee, E, 2009, Adoption Issues for Cloud Computing, viewed 28 Mar 2022, https://www.researchgate.net/publication/221238097_Adoption_Issues_for_Cloud_Computing
Leong, L, 2015, Best Practices for Planning a Cloud Infrastructure-as-a-Service Strategy — Bimodal IT, viewed 30 Mar 2022, https://www.gartner.com/en/documents/2997520
Lossent, Rodriguez Peon, A., & Wagner, A. (2017). PaaS for web applications with OpenShift Origin. Journal of Physics. Conference Series, 898(8), 82037–. https://doi.org/10.1088/1742-6596/898/8/082037
Li, H, Sedayao, J, Hahn-Steichen, J, Jimison, E, 2009, Developing an Enterprise Cloud Computing Strategy, viewed 28 Mar 2022, https://www.researchgate.net/publication/263658917_Developing_an_Enterprise_Cloud_Computing_Strategy#pf8
Mahmood, Z. (2011). Cloud Computing for Enterprise Architectures: Concepts, Principles and Approaches. In (pp. 3-19). Springer London. https://doi.org/10.1007/978-1-4471-2236-4_1
McGrath. (2012). Understanding PaaS. O’Reilly Media, Inc.
Muntean, M.. (2015). Considerations Regarding Business Intelligence in Cloud Context. Informatica Economica, 19(4/2015), 55–67. https://doi.org/10.12948/issn14531305/19.4.2015.05
Netapp, 2020, What Is a Lift and Shift Cloud Migration? Viewed 29 Mar 2022, https://cloud.netapp.com/blog/what-is-a-lift-and-shift-cloud-migration
PaaS showdown: AWS Elastic Beanstalk vs. Google App Engine. SearchCloudComputing. (2022). Retrieved 3 April 2022, from https://www.techtarget.com/searchcloudcomputing/tip/PaaS-showdown-AWS-Elastic-Beanstalk-vs-Google-App-Engine.
Pahl. (2015). Containerization and the PaaS Cloud. IEEE Cloud Computing, 2(3), 24–31. https://doi.org/10.1109/MCC.2015.51
Perry, Y, 2020, IaaS (Infrastructure as a Service): The Ultimate Guide, viewed 30 Mar 2022, https://cloud.netapp.com/iaas
Raval, K, 2021, Cloud Adoption Strategies for Enterprises, viewed 28 Mar 2022, https://www.linkedin.com/pulse/cloud-adoption-strategies-enterprises-khushbu-raval/
Ramchand, Baruwal Chhetri, M., & Kowalczyk, R. (2021). Enterprise adoption of cloud computing with application portfolio profiling and application portfolio assessment. Journal of Cloud Computing : Advances, Systems and Applications, 10(1), 1–18. https://doi.org/10.1186/s13677-020-00210-w
Saltan, A., & Smolander, K. (2021). Bridging the state-of-the-art and the state-of-the-practice of SaaS pricing: A multivocal literature review. Information and software technology, 133, 106510. https://doi.org/10.1016/j.infsof.2021.106510
SearchCloudComputing. 2022. What is PaaS? Platform as a Service Definition and Guide. [online] Available at: <https://www.techtarget.com/searchcloudcomputing/definition/Platform-as-a-Service-PaaS> [Accessed 3 April 2022].
Sharma, R., & Trivedi, R. K. (2014). Literature review: Cloud computing-security issues, solution and Siddeeq, Y., & Shayma, W. (2014). Firewall and VPN investigation on cloud computing performance. Int J Comput Sci Eng Survey, 5(2), 1-10.
Sirisha, P., Katta Subba, R., & Sachi Nandan, M. (2021). Cloud Security: Techniques and Applications. De Gruyter. https://doi.org/doi:10.1515/9783110732573
Sobragi C, Macada, A, Oliveira, 2013, Cloud Computing Adoption: A Multiple Case Study, viewed 29 Mar 2022, https://www.redalyc.org/journal/3372/337230057007/html/
Summing up Amazon Elastic Beanstalk Vs. Google Cloud App Engine — Welcome to TechCommanders.com. Welcome to TechCommanders.com. (2022). Retrieved 3 April 2022, from https://thegcpgurus.com/summing-up-amazon-elastic-beanstalk-vs-google-cloud-app-engine/#:~:text=AWS%20(Amazon%20Elastic%20Beanstalk)%20has,progressing%20at%20an%20impressive%20rate.
Suryawan, Ferdiana, R., & Widyawan. (2020). The Comparison of Cloud Migration Effort on Platform as a Service. Journal of Physics. Conference Series, 1577(1), 12056–. https://doi.org/10.1088/1742-6596/1577/1/012056
Ta., foya, F., 2022. What is Cloud Adoption and Why is it Important? | iTexico. [online] Itexico.com. Available at: <https://www.itexico.com/blog/what-is-cloud-adoption> [Accessed 3 April 2022].
Technologies. International journal of engineering research, 3(4), 221-225.
Tiwari, P. K., & Mishra, B. (2012). Cloud computing security issues, challenges and solution. International journal of emerging technology and advanced engineering, 2(8), 306-310.
Tsai, W, 2021, Constructing Assessment Indicators for Enterprises Employing Cloud IaaS, viewed 29 Mar 2022, https://www.sciencedirect.com/science/article/pii/S1029313220300324
Velte, A. T., Velte, T. J., & Elsenpeter, R. C. (2010). Cloud computing : a practical approach (1st edition ed.). McGraw-Hill Education.
Wang, B., Liu, H., & Song, J. (2016). SaaS-based enterprise application integration approach and case study. The Journal of Supercomputing, 72(7), 2833-2847.
Walraven, Truyen, E., & Joosen, W. (2013). Comparing PaaS offerings in light of SaaS development: A comparison of PaaS platforms based on a practical case study. Computing, 96(8), 669–724. https://doi.org/10.1007/s00607-013-0346-9
What is PaaS? Platform as a Service | Microsoft Azure. Azure.microsoft.com. (2022). Retrieved 3 April 2022, from https://azure.microsoft.com/en-au/overview/what-is-paas/.