Serverless Event-driven Applications Development Tools and Techniques

Thumbnail Image
Morenets, Ihor
Shabinskiy, Anton
Journal Title
Journal ISSN
Volume Title
Serverless, a new cloud-based architecture, brings development and deployment flexibility to a new level by significantly decreasing the size of the deployment units. Nevertheless, it still hasn’t been clearly defined for which applications it should be employed and how to use it most effectively, and this is the focus of this research. The study uses Microsoft Azure Functions – one of the popular mature tools – because of its stateful orchestrators – Durable Functions. The tool is used to present and describe four flexible serverless patterns with code examples. The first pattern is HTTP nanoservices. The example demonstrates how flexible can be the Function-asa-Service model, which uses relatively small functions as deployment units. The second usage scenario described is a small logic layer between a few other cloud services. Thanks to its event-driver nature, serverless is well-suited for such tasks as making an action in one service after a specific event from another one. New functions easily integrate with the API from the first example. The third scenario – distributed computing – relies on the ability of Durable Functions to launch a myriad of functions in parallel and then aggregate their results. and distributed computing. A custom MapReduce implementation is presented in this section. The last pattern described in this research significantly simplifies concurrent working with mutable data by implementing the actor model. Durable Entities guarantee that messages are delivered reliably and in order, and also the absence of deadlocks. The results of this work can be used as a practical guide to serverless main concepts and usage scenarios. Main topic of future research was chosen to be the development of a full-fledged serverless application using typical patterns to study the architecture in more depth.
Новий підхід до розробки застосувань – serverless – підіймає гнучкість розробки та розміщення на новий рівень, значно зменшуючи одиницю розгортання. Однак у цьому напрямі досі не було точно визначено, як і які застосування варто будувати, використовуючи його, чому і присвячено цю роботу. В дослідженні використано Microsoft Azure Functions для демонстрування чотирьох гнучких патернів із прикладами коду, таких як HTTP наносервіси та розподілені обчислення. Результати роботи можуть бути використані як прикладний практичний посібник з основних понять і патернів serverless.
serverless, Function-as-a-Service, Microsoft Azure, event-driven, cloud computing, article, serverless, Function-as-a-Service, Microsoft Azure, подіє-керовані застосування, хмарні технології
Morenets I. Serverless Event-driven Applications Development Tools and Techniques / I. Morenets, A. Shabinskiy // Наукові записки НаУКМА. Комп'ютерні науки. - 2020. - Т. 3. - С. 36-41.