Skip to main content

Serverless or Serverful? A Pattern-Based Approach for Exploring Hosting Alternatives

  • Conference paper
  • First Online:
Service-Oriented Computing (SummerSOC 2022)

Abstract

Various cloud service models with different management requirements can be used for hosting a certain application component. For instance, more consumer-managed serverful options can be preferred if a component has special requirements related to deployment stack or scaling configuration management, whereas more provider-managed serverless alternatives can be used if no customization is needed. However, finding a suitable hosting variant based on the deployment stack or scaling configuration management requirements is cumbersome without clear guidelines. In our previous work, we introduced a set of Component Hosting Patterns that represent different management trade-offs and can help finding suitable hosting options for a component to be deployed. However, selecting the most appropriate pattern and exploring which concrete deployment alternatives can be used to technically realize the selected pattern was up to developers, thus, requiring considerable expertise in provider-specific offerings. Therefore, in this work, we (i) introduce four new complementary patterns representing abstract deployment stack customization and scaling configuration management decisions, which we (ii) combine with our Component Hosting Patterns in a new pattern language. Moreover, we (iii) introduce a method that supports application developers using the introduced pattern language as well as refining selected patterns to concrete technical deployment stacks. Finally, we (iv) show how the TOSCA modeling tool Eclipse Winery can be used to support our new method.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/OpenTOSCA/pattern-based-deployment-modeling.

  2. 2.

    https://youtu.be/-GpGPS5Nc1Q.

References

  1. Alexander, C.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, New York (1977)

    Google Scholar 

  2. Amazon Web Services: AWS Solutions Library (2022). https://aws.amazon.com/solutions/browse-all

  3. Bibartiu, O., et al.: Clams: a cloud application modeling solution. In: Proceedings of the 2021 IEEE International Conference on Services Computing (SCC 2021), pp. 1–10 (2021)

    Google Scholar 

  4. Burns, B., Oppenheimer, D.: Design patterns for container-based distributed systems. In: 8th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 2016) (2016)

    Google Scholar 

  5. Buschmann, F., et al.: Pattern-Oriented Software Architecture: On Patterns and Pattern Language, vol. 5. Wiley, New York (2007)

    Google Scholar 

  6. Coplien, J.O.: Software patterns (1996)

    Google Scholar 

  7. Councill, B., Heineman, G.T.: Definition of a software component and its elements. In: Component-Based Software Engineering: Putting the Pieces Together, pp. 5–19. Addison-Wesley, San Francisco (2001)

    Google Scholar 

  8. Davis, C.: Cloud Native Patterns: Designing Change-Tolerant Software. Manning Publishing, New York (2019)

    Google Scholar 

  9. Endres, C., et al.: Declarative vs. imperative: two modeling patterns for the automated deployment of applications. In: Proceedings of the 9th International Conference on Pervasive Patterns and Applications (PATTERNS 2017), pp. 22–27. Xpert Publishing Services (2017)

    Google Scholar 

  10. Erl, T., et al.: Cloud Computing Design Patterns, 1st edn. Prentice Hall Press, Upper Saddle River (2015)

    Google Scholar 

  11. Falkenthal, M., et al.: Leveraging pattern application via pattern refinement. In: Proceedings of the International Conference on Pursuit of Pattern Languages for Societal Change (PURPLSOC 2015), pp. 38–61 (2015)

    Google Scholar 

  12. Falkenthal, M., et al.: The Nature of Pattern Languages. In: Pursuit of Pattern Languages for Societal Change, pp. 130–150. Tredition, October 2018

    Google Scholar 

  13. Fehling, C., Barzen, J., Breitenbücher, U., Leymann, F.: A Process for pattern identification, authoring, and application. In: Proceedings of the 19th European Conference on Pattern Languages of Programs (EuroPLoP 2014). ACM, January 2014

    Google Scholar 

  14. Fehling, C., et al.: Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Springer, Vienna, January 2014. https://doi.org/10.1007/978-3-7091-1568-8

  15. Google: Google Cloud products (2022). https://cloud.google.com/products/

  16. Harzenetter, L., et al.: Pattern-based deployment models and their automatic execution. In: 11th IEEE/ACM International Conference on Utility and Cloud Computing (UCC 2018), pp. 41–52. IEEE Computer Society, Dec 2018

    Google Scholar 

  17. Harzenetter, L., et al.: Pattern-based deployment models revisited: automated pattern-driven deployment configuration. In: Proceedings of the Twelfth International Conference on Pervasive Patterns and Applications (PATTERNS 2020), pp. 40–49. Xpert Publishing Services, October 2020

    Google Scholar 

  18. Harzenetter, L., et al.: Automated detection of design patterns in declarative deployment models. In: Proceedings of the 2021 IEEE/ACM 14th International Conference on Utility Cloud Computing (UCC 2021), pp. 36–45. ACM, December 2021

    Google Scholar 

  19. Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, New York (2004)

    Google Scholar 

  20. Hong, S., et al.: Go serverless: securing cloud via serverless design patterns. In: 10th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 2018) (2018)

    Google Scholar 

  21. IBM: IBM Cloud Solutions (2021). https://www.ibm.com/cloud/solutions

  22. Jamshidi, P., Pahl, C., Chinenyeze, S., Liu, X.: Cloud migration patterns: a multi-cloud service architecture perspective. In: Toumani, F., et al. (eds.) ICSOC 2014. LNCS, vol. 8954, pp. 6–19. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-22885-3_2

    Chapter  Google Scholar 

  23. Jamshidi, P., et al.: Pattern-based multi-cloud architecture migration. Softw. Pract. Exp. 47(9), 1159–1184 (2017)

    Google Scholar 

  24. Kopp, O., Binz, T., Breitenbücher, U., Leymann, F.: Winery – a modeling tool for tosca-based cloud applications. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) ICSOC 2013. LNCS, vol. 8274, pp. 700–704. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45005-1_64

    Chapter  Google Scholar 

  25. Kounev, S., et al.: Toward a Definition for Serverless Computing. In: Serverless Computing (Dagstuhl Seminar 21201), vol. 11, Chap. 5.1, pp. 56–59. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2021)

    Google Scholar 

  26. Lau, K.K., Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)

    Article  Google Scholar 

  27. Leymann, F., Barzen, J.: Pattern Atlas. Next-Generation Digital Services. A Retrospective and Roadmap for Service Computing of the Future, pp. 67–76 (2021)

    Google Scholar 

  28. Messerschmitt, D.G.: Rethinking components: from hardware and software to systems. Proc. IEEE 95(7), 1473–1496 (2007)

    Article  Google Scholar 

  29. Microsoft: Directory of Azure Services (2022). https://azure.microsoft.com/en-us/services/

  30. Morris, K.: Infrastructure as Code. O’Reilly Media, Sebastopol (2020)

    Google Scholar 

  31. OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA) Version 2.0. Organization for the Advancement of Structured Information Standards (OASIS) (2020)

    Google Scholar 

  32. Pahl, C., et al.: Architectural principles for cloud software. ACM Trans. Internet Technol. (TOIT) 18(2) (2018)

    Google Scholar 

  33. Richardson, C.: Microservices Patterns. Manning Publications Company, New York (2018)

    Google Scholar 

  34. Taibi, D., et al.: Patterns for serverless functions (function-as-a-service): a multivocal literature review. In: CLOSER, pp. 181–192 (2020)

    Google Scholar 

  35. Wellhausen, T., Fiesser, A.: How to write a pattern? A rough guide for first-time pattern authors. In: Proceedings of the 16th European Conference on Pattern Languages of Programs, pp. 1–9 (2011)

    Google Scholar 

  36. Yussupov, V., et al.: Facing the unplanned migration of serverless applications: a study on portability problems, solutions, and dead ends. In: Proceedings of the 12th IEEE/ACM International Conference on Utility and Cloud Computing (UCC), pp. 273–283. ACM (2019)

    Google Scholar 

  37. Yussupov, V., et al.: From serverful to serverless: a spectrum of patterns for hosting application components. In: Proceedings of the 11th International Conference on Cloud Computing and Services Science (CLOSER 2021), pp. 268–279. SciTePress, May 2021

    Google Scholar 

  38. Zambrano, B.: Serverless Design Patterns and Best Practices: Build, Secure, and Deploy Enterprise Ready Serverless Applications with AWS to Improve Developer Productivity. Packt Publishing, Birmingham (2018)

    Google Scholar 

Download references

Acknowledgments

This work was partially funded by the German Research Foundation (DFG) project IAC2 (314720630).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vladimir Yussupov .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Yussupov, V., Breitenbücher, U., Brogi, A., Harzenetter, L., Leymann, F., Soldani, J. (2022). Serverless or Serverful? A Pattern-Based Approach for Exploring Hosting Alternatives. In: Barzen, J., Leymann, F., Dustdar, S. (eds) Service-Oriented Computing. SummerSOC 2022. Communications in Computer and Information Science, vol 1603. Springer, Cham. https://doi.org/10.1007/978-3-031-18304-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-18304-1_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-18303-4

  • Online ISBN: 978-3-031-18304-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics