Twelve-Factor application pattern with Spring Framework
Keywords:
Twelve-factor application, Cloud native, Spring-framework, Micro-servicesAbstract
The world of software development is moving from monoliths to micro-service architecture. Instead of having one big application, handling all tasks, there is a paradigm shift towards creating many small applications doing just a unit of work. When we build software-as-a-service we have to look into development, maintenance, and scalability of the application. Over the time it has been observed that the post development tasks of an application are inhibited because application is not just doing one task that it is supposed to do but all the activities that can be delegated. With twelve-factor pattern we can come close to create micro-services that can reduce cost of development, have maximum portability when deploying on different environment, are cloud ready and most importantly scale up. Spring.io provide a rich underlying framework, which can help in creating applications that are twelve-factor compliance, with Spring Boot they took it to a whole new level. With twelve-factor methodology in mind, in this research paper we will try to look into how spring can help covering each point in twelve-factors.
References
S. Newman, “Building Microservices”. O’Reilly, 2015
V.Andrikopoulos, S.Strauch,C. Fehling and F.Leymann, “CAP-Oriented Design for Cloud-native Applications”
S.Otte, “Version Control Systems.” Computer Systems and Telematics, Institute of Computer Science, FreieUniversität, Berlin, Germany2009.
N.Sangal, E. Jordan, V.Sinha, and D..Jackson “Using dependency models to manage complex software architecture” in Proceedings of 20thAnnual ACM Conf. Object-Oriented Programming, Systems, Languages, New York, 2005
J.Salecker, and D.Schütz, “Bill of Material” in Proceedings of 9thEuropean Conference on Pattern Languages of Programs (EuroPLoP 2004). UVK, Konstanz, Germany 2005
Y. Tao, Y. Dang, T.Xie, D. Zhang, and S. Kim, “How do software engineers understand code changes? An exploratory study in industry” in Proceeding of ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, Cary, North Carolina, November 11-16, 2012
Maurer, Michael, I.Brandic, and R.Sakellariou, "Adaptive resource configuration for Cloud infrastructure management." Future Generation Computer Systems 29, no. 2, 2013,pp.472-487.
D. Bernstein, "Containers and Cloud: From LXC to Docker to Kubernetes", IEEE Cloud Computing, vol.1, no. 3, Sept. 2014, pp.81-84
M.Hogan, "Shared-Disk vs. Shared-Nothing" - http://www.sersc.org/journals/IJEIC/vol2_Is4/15.pdf
Tanenbaum, S. Andrew, V. Steen, and Maarten, “Distributed Systems: Principles and Paradigms” Prentice Hall ISBN 0-13-088893-1
M. Stine,“Migrating to Cloud-Native Application Architectures,”O’Reilly, 2015
A Modernized Software Environment for Developing, Deploying and Operating Cloud Applications, vmware.http://www.vmware.com/files/pdf/Modernizing_App_Develpment_Whitepaper.pdf
J.Cito, P.Leitner,, H. C. Gall, A. Dadashi, A. Keller, and A Roth, “Runtime Metric meets Developer - Building better Cloud Applications using Feedback,” in Proceedings of the 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! 2015), 2015.
Downloads
Published
How to Cite
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors contributing to this journal agree to publish their articles under the Creative Commons Attribution 4.0 International License, allowing third parties to share their work (copy, distribute, transmit) and to adapt it, under the condition that the authors are given credit and that in the event of reuse or distribution, the terms of this license are made clear.
