DEVELOPMENT OF SECURE CONTAINERIZED APPLICATIONS WITH A MICROSERVICES ARCHITECTURE
DOI:
https://doi.org/10.28925/2663-4023.2023.21.193210Keywords:
microservice architecture; container; DevSecOps; application security, security vulnerabilitiesAbstract
The article analyzes approaches to software development that allow creating complex container applications with a microservice architecture based on automation tools and flexible development methods. The development of cloud technologies, the global strategy of containerization, the modernization of the application architecture, and the increase in security requirements have led to a change in the application development methodology. The study aims to determine approaches to increase the speed of development, security and quality of software code of containerized applications by implementing security principles and automation tools at all stages of the life cycle. Features and development prospects of microservice applications deployed in a container environment are considered. The advantages of the container infrastructure are defined: mobility, scalability, an additional level of microservice security. Containers provide an isolated environment for running a microservices, this reduces the risk of security vulnerabilities and simplifies interaction between microservices. The article identifies the security problems of microservice applications and the main vulnerabilities associated with the use of containers. It is determined that DevSecOps methodology allows implementing modern practice of continuous integration, continuous delivery, continuous application deployment and integration of security tools at all life cycle stages. DevSecOps describes development processes, deployment and operation processes using Security as Code and Infrastructure as Code practices. The research describes the model for developing and deploying microservice applications with containerization, defines the security domains, and the security controls for DevSecOps development pipeline. Based on this model, the main security control tools that must be used at all development and deployment pipeline stages are defined. The article proves that the considered technique regulates the implementation of given security procedures at all stages of the pipeline, allows to reduce development time and improve code quality for container applications with a microservices architecture.
Downloads
References
Kulikov, E. (2022). IT Ukraine about the of software development field. https://ko.com.ua/vitchiznyana_it-galuz_ochima_it_ukraine_140263
Conger, S. (2010). Software Development Life Cycles and Methodologies: Fixing the old and adopting the new. Sprouts: Working Papers on Information Systems, 10(172). https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=0cc3ebc9b5490d4d6769f005dbc0d50d4a8ad8722
Martin, R. (2002). Agile Software Development, Principles, Patterns, and Practices. Pearson.
Wilson, G. (2020). DevSecOps: A leader’s guide to producing secure software without compromising flow, feedback and continuous improvement. Rethink Press.
Mack, S. (2023). The DevSecOps Playbook: Deliver Continuous Security at Speed. Wiley.
Newman, S. (2021). Building Microservices, 2d Edition: Designing Fine-Grained Systems. O'Reilly Media. https://www.oreilly.com/library/view/building-microservices-2nd/9781492034018/
TeamCity (2020). Agile Continuous Integration. https://www.jetbrains.com/teamcity/ci-cd-guide/agile-continuous-integration/
TeamCity (2020). What are CI/CD Tools and how do they work. https://www.jetbrains.com/teamcity/ci-cd-guide/ci-cd-tools/
DORA (2022). Accelerate: State of DevOps Report 2022. https://services.google.com/fh/files/misc/2022_state_of_devops_report.pdf
TeamCity (2020). What is DevSecOps and its role in CD. https://www.jetbrains.com/en-us/teamcity/ci-cd-guide/what-is-devsecops/
Scott, James A. (2017). A Practical Guide to Microservices and Containers. Mastering the Cloud, Data, and Digital Transformation. https://www.academia.edu/41522528/A_Practical_Guide_to_Microservices_ and_Containers_Mastering_the_Cloud_Data_and_Digital_Transformation
Kocher, P. (2018). Microservices and Containers. Addison-Wesley Professional. 304. https://res.infoq.com/articles/microservices-and-containers-book-review/en/resources/Kocher_InfoQ _Sample-1525845801075.pdf
Ortega, J. (2022). Implementing DevSecOps with Docker and Kubernetes. An Experiential Guide to Operate in the DevOps Environment for Securing and Monitoring Container Applications (English Edition)
Souppaya, M., Morello, J., Scarfone, K. (2017). NIST Special Publication 800-190. Application Container Security Guide. https://doi.org/10.6028/NIST.SP.800-190
Chandramouli, R. (2019). NIST Special Publication 800-204. Security Strategies for Microservices-based Application Systems. https://doi.org/10.6028/NIST.SP.800-204
Production Reedy (2022). Microservice architecture in DevOps practice. https://production-ready.dev/2022/11/mikroservisna-arkhitektura/
MuleSoft (2023). Microservices and Security: Increasing security by increasing surface area https://www.mulesoft.com/resources/api/microservices-security
Cloudfresh (2022). DevSecOps: The Integrate product security at each stage of the SDLC. https://cloudfresh.com/ua/cloud-blog/devsecops-intehratsiya-produktu-bezpeky-na-kozhnomu-etapi-sdlc/.
McCarty P. (2022). DevSecOps Playbook - Version 1.3 https://github.com/6mile/DevSecOps-Playbook
Buriachok, V., Spasiteleva, S., Skladannyi, P. (2018). Organization of development of safe .Net applications in higher education institutions. Modern special technics, 1(52), 13-23.
BrowserStack (2022). Top 14 CI CD Tools for your DevOps project https://www.browserstack.com/guide/top-ci-cd-tools
Published
How to Cite
Issue
Section
License
Copyright (c) 2023 Світлана Спасітєлєва, Іван Чичкань, Світлана Шевченко, Юлія Жданова
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.