DEVELOPMENT OF A SOFTWARE CONTROLLER FOR THE AUTOMATED CREATION AND MANAGEMENT OF VIRTUAL RESOURCES FOR RUNNERS
Abstract
The work developed a functional model (prototype) of the controller for the automated creation and management of runners’ virtual computing resources. The analysis of potential technologies for its implementation determined the choice of a combination of RPC, cRPC, HTTP/2 and Go technologies with the protobuff serializer, which meets all modern requirements for a distributed system’s speed, efficiency and scalability. It has been experimentally proven that the RPC protocol can serve as a reliable interface for managing resources in virtual environments, providing convenience and efficient integration with CI/CD systems. Using test scenarios made it possible to reflect actual operating conditions and integration testing and, as a result, evaluate the interaction between the MVP and other system components.
Keywords: Continuous Integration, Continuous Delivery, Remote Procedure Call, gRPC, cRPC, HTTP/2, Golang, GitHub Actions, runner, controller, MVP.
Full Text:
PDFReferences
- Value and benefits of DevOps in IT companies [Electronic resource]. – Mode of access: https://onecloudplanet.com/blog/article/value-and-benefits-of-devops-in-it-companies (in Ukrainian)
- Improving product efficiency through continuous integration and continuous delivery (CI/CD) [Electronic resource]. – Mode of access: https://www.londonproduct.academy/post/pidvishchennya-rivnya-efektivnosti-produktu-za-dopomogoyu-neperervnoyi-integraciyi-ta-neperervnoyi-dostavki-ci-cd (in Ukrainian)
- 10 reasons why CI/CD is important for DevOps [Electronic resource]. – Mode of access: https://cloudfresh.com/ua/cloud-blog/10-prichin-chomu-ci-cd-vazhlivi-dlya-devops/ (in Ukrainian)
- What is server virtualization and why is it useful? [Electronic resource]. – Mode of access: https://hyperhost.ua/info/uk/shho-take-virtualizaciya-serveriv-i-comu-vona-korisna (in Ukrainian)
- Fowler M. Continuous Integration [Electronic resource]. – Mode of access: https://martinfowler.com/articles/continuousIntegration.html
- Wolff E. A Practical Guide to Continuous Delivery / E. Wolff. – Addison-Wesley Professional, 2017. – 288 p.
- Phillips A. The Continuous Delivery Pipeline – What it is and Why it’s so Important in Developing Software [Electronic resource]. – Mode of access: https://devops.com/continuous-delivery-pipeline/
- About GitHub Actions Runners [Electronic resource]. – Mode of access: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
- GitHub Actions Documentation [Electronic resource]. – Mode of access: https://docs.github.com/en/actions
- Nelson B. J. Remote Procedure Call (PhD thesis) / B. J. Nelson. – Xerox Palo Alto Research Center, 1981. – 220 p.
- Introducing gRPC, a new open-source HTTP/2 RPC Framework [Electronic resource]. – Mode of access: https://developers.googleblog.com/en/introducing-grpc-a-new-open-source-http2-rpc-framework/
- gRPC Documentation [Electronic resource]. – Mode of access: https://grpc.io/docs/
- Connect RPC Documentation [Electronic resource]. – Mode of access: https://connectrpc.com/docs/go/interceptors
- protocolbuffers/protobuf [Electronic resource]. – Mode of access: https://github.com/protocolbuffers/protobuf
- Schema evolution in Avro, Protocol Buffers and Thrift [Electronic resource]. – Mode of access: https://martin.kleppmann.com/2012/12/05/schema-evolution-in-avro-protocol-buffers-thrift.html
- Bolanowski M. Efficiency of REST and gRPC realizing communication tasks in microservice-based ecosystems / M. Bolanowski, K. Zak, A. Paszkiewicz, M. Ganzha, M. Paprzycki, P. Sowinski, I. Lacalle, and C. E. Palau. – arXiv preprint arXiv:2208.00682, 2022. – 12 p.
- GRPC Vs REST API Communication [Electronic resource]. – Mode of access: https://www.wallarm.com/cloud-native-products-101/grpc-vs-rest-api-communication
- Allen A. O. Probability, Statistics, and Queueing Theory with Computer Science Applications / Arnold O. Allen. – Academic Press, 1978. – 406 p.
- The Go programming language: perspectives, pros and cons [Electronic resource]. – Mode of access: https://senior.ua/articles/mova-programuvannya-go-perspektivi-plyusi-ta-mnusi (in Ukrainian)
- MacOS Virtualization Framework [Electronic resource]. – Mode of access: https://developer.apple.com/documentation/virtualization
DOI: http://dx.doi.org/10.30970/eli.27.7
Refbacks
- There are currently no refbacks.