
An Evaluation of Cloud-based Platforms for Web-Application Development Jens Albrecht and Kai Wadlinger Fakultät Informatik, Technische Hochschule Nürnberg, Germany Keywords: Cloud Computing, Platform-as-a-Service, PaaS, App Engine, Bluemix, Azure, Heroku. Abstract: A wide variety of service models and options is being offered by cloud solution providers, ranging from simple infrastructure to complex business applications. While the use of cloud-based infrastructure and soft- ware services has become common in many enterprises, the Platform-as-a-Service model has yet to take off. Platform providers have invested heavily in their offerings in the last years. The result is a big toolbox con- sisting of cloud-based components for everything that is needed to implement, deploy and run custom soft- ware applications. The developer's expectation is that these components just have to be configured and plugged together to get scalable multi-tiered applications. In our research, we practically evaluated major cloud development platforms on the basis of the requirements of a typical web-based business application. 1 INTRODUCTION implement cloud-first SaaS solutions (IDC, 2016), and PaaS provides the development and operations The ever growing importance of information technol- infrastructure for that. An example is Microsoft with ogy in today's fast moving economy comes at the risk a focus on Office 365. Additionally, PaaS will be a of hardly manageable complexity and cost. Thus, in the major component in IoT projects (Gartner, 2016b). past decade there has been a huge shift towards com- IoT systems by nature are event-driven and need a modity hardware, virtualization/containerization and scalable, highly available backend for message pro- agile development processes. One way to reduce com- cessing. All this can be provided by the PaaS model. plexity, gain flexibility and maintain cost is the use of Another factor is the open-source movement. Scala- cloud-based services. Major cloud-offerings started ble and mature open-source databases and processing just about 10 years ago, e.g. AWS S3 and EC2 in 2006, frameworks are a necessary prerequisite to keep op- Googles App Engine in 2008, or Microsoft Azure in erating costs low. Open source tools therefore are an 2010 (Ragupathi, 2011). According to a 2016 survey essential part even of most commercial cloud plat- by IDG, today about 70% of organizations run at least forms. And last but not least, PaaS offerings have one application in the cloud (IDG, 2016). grown and matured significantly in the last two or Cloud services can generally be structured into at three years. least three layers (Mell and Grance, 2010; IBM, PaaS can be distinguished into Integration Plat- 2014): Infrastructure-as-a-Service (IaaS) comprises form-as-a-Service (iPaaS) and Application Platform servers, network and storage resources, Platform-as- as a Service (aPaaS) 0(Paul et al., 2016). iPaaS offer- a-Service (PaaS) provides components to develop, ings provide functionalities to connect and integrate deploy and run custom applications, and Software-as- cloud and on-premise data sources, applications and a-Service (SaaS) allows the use of standard applica- services and can be interpreted as cloud-based enter- tions supplied by the service provider. While IaaS and prise application integration (EAI) platforms. aPaaS SaaS have been broadly used by enterprises in the last consist of services and tools for application develop- years, the adoption of PaaS is still lagging behind. ment and deployment in the cloud. However, the segment is growing now with over 40% In this paper we take a closer look at major aPaaS per year (Gartner, 2016a). offerings and how they can be used to build custom Several trends are leading towards rapidly grow- web and mobile applications. Thus, our focus is on ing PaaS utilization in the near future. Most im- the developer's perspective, and in contrast to theoret- portantly, many software vendors are switching to ical overviews like (Paul et al., 2016) and (Varma and 302 Albrecht, J. and Wadlinger, K. An Evaluation of Cloud-based Platforms for Web-Application Development . DOI: 10.5220/0006427503020309 In Proceedings of the 12th International Conference on Software Technologies (ICSOFT 2017), pages 302-309 ISBN: 978-989-758-262-2 Copyright © 2017 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved An Evaluation of Cloud-based Platforms for Web-Application Development Choi, 2016) we include a practical evaluation. The the same technology as Google Apps like Google sample application we used for our analysis is a Docs, Calendar, and Gmail. cloud-based task list which can be shared by different GAE supports Java, Node.js, Python, Ruby, Go users. It includes many components which are com- and PHP. As databases Google provides Cloud SQL, mon to most business applications like user authenti- Google's cloud based version of MySQL, and Cloud cation, database backend, email notification, and a Datastore, a scalable NoSQL database with a pro- chat function. The backend of the application was gramming and a SQL-like API. prototypically implemented on four platforms: Google App Engine, IBM Bluemix, Microsoft Azure 2.2 IBM Bluemix and Salesforce Heroku. All platforms have been eval- uated on a set of common criteria like programmer- The youngest platform in this survey is from IBM and friendliness, usability, and cost. As a result, this arti- was launched in 2014 (Kobylinski et al., 2014). Blue- cle gives not only an overview on the current state-of- mix is based on the Cloud Foundry framework, an the art, but can also be helpful to support enterprises open source multi-language PaaS maintained by Piv- in their decision making on cloud-based or on prem- otal, a subsidiary of VMWare and EMC (Bernstein, ise platforms. 2014). The platform supplies many starter packs for The paper is structured as follows: After an over- web, mobile and IoT development. view on the examined PaaS offerings in the next sec- Bluemix inherits the language support from Cloud tion, we describe the requirements of the sample ap- Foundry for Java, Node.js, Python, Ruby, Go, PHP, plication in section three. Section four contains the Swift, and .Net. Bluemix supports many different da- evaluation of the four platforms. It is followed by a tabases including Cloudant as completely managed short summary. NoSQL database and DB2 on Cloud for relational storage. Besides that, dozens of third party services for data store, messaging, analytics and much more 2 PAAS OFFERINGS are offered. The PaaS layer uses IaaS infrastructure and provides 2.3 Microsoft Azure middleware components, like database, messaging and security services for the backend of SaaS appli- Microsoft Azure subsumes a number of cloud ser- cations. Thus, it is mainly focusing on a simplifica- vices ranging from infrastructure via development tion of software development and operations and di- tools to business software. Microsoft Azure App Ser- rectly supporting the DevOps model. vice denotes its cloud-based application development For our analysis, we focused on leading PaaS sup- platform. Microsoft provides most of its development pliers. Our selection was based on Gartner's 2016 tools in specific cloud versions, ranging from Visual Magic Quadrant (Paul et al., 2016), identifying Studio to SQL Azure. The Microsoft cloud offering Salesforce Heroku and Microsoft Azure as market also comprises tools for resource management, sched- leaders. We also included Google AppEngine (chal- uling, log analytics and more. lenger) and IBM Bluemix (visionary) as established Azure App Service supports ASP.NET, Node.js, providers supplying all components necessary to im- Java, PHP and Python as languages. Azure SQL is the plement web-applications. We will briefly introduce primary choice for relational data, DocumentDB is these four providers. More details on these and other Microsoft's version of a scalable document store and market players can be found in (Paul et al., 2016), supports SQL- and JavaScript-like expressions for (Varma and Choi 2016), and (Li, Zhang and Li, queries. 2017). 2.4 Salesforce Heroku 2.1 Google App Engine (GAE) Salesforce Heroku is a pure PaaS solution which does The App Engine is part of Google's cloud platform, not supply IaaS, but instead runs physically on Ama- which was launched in 2008. Google tries to simplify zon AWS. Heroku started independently in 2007 as the development of web applications by focusing on one of the first cloud platforms and was acquired by easy development and scalability (Srivastava et al., Salesforce in 2010. Besides Heroku, a general plat- 2012; Shabani, Kovaci and Dika, 2014). The applica- form for custom web-development, Salesforce clients tions are hosted on the same servers and with using can also use Force.com to develop applications based 303 ICSOFT 2017 - 12th International Conference on Software Technologies on building blocks with a strong connection to the crease, and setup as well as maintenance of these ser- Salesforce environment. vices should not be necessary. For developers it is im- Initially starting with Ruby as its only program- portant that applications can be developed and tested ming language, it now supports Java, Node.js, Scala, on a local developer machine. Deployment to the Clojure, Python, PHP, and Go. Customer Applica- cloud should be an easy process. tions run in virtual containers, called Dynos, which Very important is the dynamic allocation of re- are also the units for scaling. The main database for sources (resource pooling). All shared services should Heroku is PostgreSQL for relational data. Redis and scale automatically in case of high system load. Man- MongoDB (externally hosted by mLab) can be used ual scaling should be possible for dedicated re- as NoSQL databases (Salesforce, 2017). sources. 3 DEVELOPMENT 4 EVALUATION REQUIREMENTS FOR In order to evaluate and to compare the different PaaS PAAS APPS offerings, we implemented the backend of our appli- cation on all four selected platforms in Java.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-