Developing, deploying, and operating twelve-factor applications with TOSCA

With Cloud Computing, offering and delivering services over the Internet became commonly feasible. This has impacts on application design, development as well as on the automation of application provisioning. The Twelve-Factor App is a methodology that documents best practices for building and operating scalable, maintainable, and portable web-based SaaS applications. However, a standards-based approach to build, release, and run Twelve-Factor Apps independently of individual cloud providers and specific deployment technologies is missing, which quickly leads to a vendor or technology lock-in. In this paper, we introduce a guideline to establish a development process using the Twelve-Factor App methodology together with the OASIS standard TOSCA to address this issue. We show how to realize the twelve factors with TOSCA and how the approach supports portability and automated deployment.

[1]  Oliver Kopp,et al.  Integrated Cloud Application Provisioning: Interconnecting Service-Centric and Script-Centric Management Technologies , 2013, OTM Conferences.

[2]  Kalpana Sureshchandra,et al.  Moving from Waterfall to Agile , 2008, Agile 2008 Conference.

[3]  Kapil Bakshi,et al.  Microservices-based software architecture and approaches , 2017, 2017 IEEE Aerospace Conference.

[4]  Raouf Boutaba,et al.  Cloud computing: state-of-the-art and research challenges , 2010, Journal of Internet Services and Applications.

[5]  René Peinl,et al.  ClouNS - a Cloud-Native Application Reference Model for Enterprise Architects , 2016, 2016 IEEE 20th International Enterprise Distributed Object Computing Workshop (EDOCW).

[6]  Frank Leymann,et al.  Portable Cloud Services Using TOSCA , 2012, IEEE Internet Computing.

[7]  Oliver Kopp,et al.  Streamlining DevOps automation for Cloud applications using TOSCA as standardized metamodel , 2016, Future Gener. Comput. Syst..

[8]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[9]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[10]  Harald C. Gall,et al.  The making of cloud applications: an empirical study on software development for the cloud , 2014, ESEC/SIGSOFT FSE.

[11]  Frank Leymann,et al.  Cloud Computing: The Next Revolution in IT , 2009 .

[12]  Sam Newman,et al.  Building Microservices , 2015 .

[13]  Frank Leymann,et al.  Native Cloud Applications: Why Monolithic Virtualization Is Not Their Foundation , 2016, CLOSER.

[14]  Oliver Kopp,et al.  Combining Declarative and Imperative Cloud Application Provisioning Based on TOSCA , 2014, 2014 IEEE International Conference on Cloud Engineering.

[15]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[16]  Adrian Mouat,et al.  Using Docker: Developing and Deploying Software with Containers , 2015 .

[17]  Oliver Kopp,et al.  TOSCA: Portable Automated Deployment and Management of Cloud Applications , 2014, Advanced Web Services.

[18]  Dragos Manolescu,et al.  Production workflow: concepts and techniques , 2001, SOEN.

[19]  Oliver Kopp,et al.  Vino4TOSCA: A Visual Notation for Application Topologies Based on TOSCA , 2012, OTM Conferences.