DEVELOPMENT OF A SOFTWARE CONTROLLER FOR THE AUTOMATED CREATION AND MANAGEMENT OF VIRTUAL RESOURCES FOR RUNNERS

Yu. Korchak, B. Mikh, Yuriy Furgala

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:

PDF

References


  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. Fowler M. Continuous Integration [Electronic resource]. – Mode of access: https://martinfowler.com/articles/continuousIntegration.html
  6. Wolff E. A Practical Guide to Continuous Delivery / E. Wolff. – Addison-Wesley Professional, 2017. – 288 p.
  7. 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/
  8. 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
  9. GitHub Actions Documentation [Electronic resource]. – Mode of access: https://docs.github.com/en/actions
  10. Nelson B. J. Remote Procedure Call (PhD thesis) / B. J. Nelson. – Xerox Palo Alto Research Center, 1981. – 220 p.
  11. 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/
  12. gRPC Documentation [Electronic resource]. – Mode of access: https://grpc.io/docs/
  13. Connect RPC Documentation [Electronic resource]. – Mode of access: https://connectrpc.com/docs/go/interceptors
  14. protocolbuffers/protobuf [Electronic resource]. – Mode of access: https://github.com/protocolbuffers/protobuf
  15. 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
  16. 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.
  17. GRPC Vs REST API Communication [Electronic resource]. – Mode of access: https://www.wallarm.com/cloud-native-products-101/grpc-vs-rest-api-communication
  18. Allen A. O. Probability, Statistics, and Queueing Theory with Computer Science Applications / Arnold O. Allen. – Academic Press, 1978. – 406 p.
  19. 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)
  20. 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.