Skip to main content

Performance and Security Evaluation in Microservices Architecture Using Open Source Containers

  • Conference paper
  • First Online:
Applied Technologies (ICAT 2020)

Abstract

Nowadays, microservices architecture has increased its popularity within software development. This architecture is considered as a refinement and simplification of the service-oriented architecture (SOA). In microservices, the development approach is given by the functional decomposition into small services, where each one makes use of its own computational resources and light communication mechanisms, such as HTTP. Compared to monolithic architectures, microservices can be developed using different code bases. Therefore, performance and security are two of the quality attributes that must be taken into account when building microservices. The objective of this work is to define a DevOps Pipeline that allows us to use best practices at the development level to improve performance and security in pre-production environments. For deployment, two open-source containers are selected to evaluate under which situations it is more convenient to use Docker or Containerd, especially at the base image level.

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 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

References

  1. Smith, M., Saunders, P.R., Lyons, L.: A Practical Guide to Microservices and Containers (2018)

    Google Scholar 

  2. Industrial Internet Consortium: Industrial Internet Reference Architecture, p. 101 (2015)

    Google Scholar 

  3. Fernandez, E.B., Monge, R., Hashizume, K.: Building a security reference architecture for cloud systems. Requirements Eng. 21(2), 225–249 (2015). https://doi.org/10.1007/s00766-014-0218-7

    Article  Google Scholar 

  4. Newman, S.: Building Microservices. O’Reilly Media Inc., United States of America (2015)

    Google Scholar 

  5. Esposito, C., Castiglione, A., Choo, K.-K.R.: Challenges in delivering software in the cloud as microservices. IEEE Cloud Comput. 3(5), 10–14 (2016)

    Article  Google Scholar 

  6. Schwartz, A.: Microservices. Informatik-Spektrum 40(6), 590–594 (2017). https://doi.org/10.1007/s00287-017-1078-6

    Article  Google Scholar 

  7. Amaral, M., Polo, J., Carrera, D., Mohomed, I., Unuvar, M., Steinder, M.: Performance evaluation of microservices architectures using containers. In: Proceedings of the 2015 IEEE 14th International Symposium on Network Computing and Applications, NCA 2015, pp. 27–34 (2016)

    Google Scholar 

  8. Dua, R., Raja, A.R., Kakadia, D.: Virtualization vs containerization to support PaaS. In: Proceedings of the 2014 IEEE International Conference on Cloud Engineering, IC2E 2014, pp. 610–614 (2014)

    Google Scholar 

  9. Hogg, S.: Software Containers: Used More Frequently than Most Realize, 26 May 2014

    Google Scholar 

  10. Open Container Initiative: Open Container Initiative (2015)

    Google Scholar 

  11. Brown, M., Liu, L.: Containerd Brings More Container Runtime Options for Kubernetes, 2 November 2017

    Google Scholar 

  12. CoreOS: rkt, a security-minded, standards-based container engine (2014)

    Google Scholar 

  13. Containerd: containerd, an industry-standard container runtime with an emphasis on simplicity, robustness and portability (2019)

    Google Scholar 

  14. CRI-O: CRI-O, lightweight container runtime for Kubernetes (2018)

    Google Scholar 

  15. Docker: Get started, part 1: orientation and setup (2019)

    Google Scholar 

  16. Xie, X.L., Wang, P., Wang, Q.: The performance analysis of Docker and rkt based on Kubernetes. In: 13th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery, ICNC-FSKD 2017, pp. 2137–2141 (2018)

    Google Scholar 

  17. Crosby, M.: What is containerd? 7 August 2017

    Google Scholar 

  18. Turnbull, J.: The Docker book: containerization is the new virtualization (2014)

    Google Scholar 

  19. Brown, R.: CRI-O is now our default container runtime interface, 17 September 2018

    Google Scholar 

  20. Vohra, D.: Kubernetes Microservices With Docker. Apress (2016)

    Google Scholar 

  21. Chung, M.T., Quang-Hung, N., Nguyen, M.-T., Thoai, N.: Using docker in high performance computing applications. In: 2016 IEEE 6th International Conference on Communications and Electronics (ICCE), pp. 52–57 (2016)

    Google Scholar 

  22. Souppaya, M., Morello, J., Scarfone, K.: NIST Special Publication 800-190 - Application container security guide. NIST Special Publication, vol. 1, p. 63 (2017)

    Google Scholar 

  23. Snyk: Snyk, develop fast. Stay secure (2020)

    Google Scholar 

  24. Liz, R.: Container Image Immutability and the Power of Metadata (2016)

    Google Scholar 

  25. Docker: Content trust in Docker (2019)

    Google Scholar 

  26. Aggarwal, B.: Authentication and Authorization in Microservices, 19 March 2019

    Google Scholar 

  27. Taylor, T.: 8 Best Practices for Container Secrets Management, 22 April 2019

    Google Scholar 

  28. Koziolek, H.: Performance evaluation of component-based software systems: a survey. Perform. Eval. 67(8), 634–658 (2010)

    Article  Google Scholar 

  29. Khazaei, H., Barna, C., Beigi-Mohammadi, N., Litoiu, M.: Efficiency analysis of provisioning microservices. In: Proceedings of the International Conference on Cloud Computing Technology and Science, CloudCom, pp. 261–268 (2017)

    Google Scholar 

  30. Indrasiri, B.K.: Microservices in Practice - Key Architectural Concepts of an MSA, July 2019

    Google Scholar 

  31. Ebert, C., Gallardo, G., Hernantes, J., Serrano, N.: DevOps. IEEE Softw. 33(3), 94–100 (2016)

    Article  Google Scholar 

  32. XebiaLabs: Periodic Table of DevOps Tools (2019)

    Google Scholar 

  33. TypeScript: TypeScript, JavaScript that scales (2012)

    Google Scholar 

  34. NestJS: Hello, nest! A progressive Node.js framework for building efficient, reliable and scalable server-side applications (2017)

    Google Scholar 

  35. MongoDB: The database for modern applications (2020)

    Google Scholar 

  36. Mongoose: Mongoose, elegant mongodb object modeling for node.js (2016)

    Google Scholar 

  37. Paypal Developer: Install the REST SDK (2020)

    Google Scholar 

  38. Istio Autores: What is Istio (2019)

    Google Scholar 

Download references

Acknowledgment

This work has been sponsored by Universidad Técnica Particular de Loja (Computer Science Department).

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Diego Antonio Castillo Rivas or Daniel Guamán .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Castillo Rivas, D.A., Guamán, D. (2021). Performance and Security Evaluation in Microservices Architecture Using Open Source Containers. In: Botto-Tobar, M., Montes León, S., Camacho, O., Chávez, D., Torres-Carrión, P., Zambrano Vizuete, M. (eds) Applied Technologies. ICAT 2020. Communications in Computer and Information Science, vol 1388. Springer, Cham. https://doi.org/10.1007/978-3-030-71503-8_37

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-71503-8_37

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-71502-1

  • Online ISBN: 978-3-030-71503-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics