Building Microservice-based Systems On Functions-as-a-Service Platforms
Uitto, Joni (2018-10-01)
Building Microservice-based Systems On Functions-as-a-Service Platforms
Uitto, Joni
(01.10.2018)
Tätä artikkelia/julkaisua ei ole tallennettu UTUPubiin. Julkaisun tiedoissa voi kuitenkin olla linkki toisaalle tallennettuun artikkeliin / julkaisuun.
Turun yliopisto
Tiivistelmä
Microservices and serverless computing have been rising in popularity, microservices
since 2014 and serverless computing since 2016. Serverless computing, especially
functions-as-a-service, offers exiting avenues for implementing the microservice pattern.
However, there is no clear consensus on how to do it, or whether a single serverless function
is a microservice by itself or not.
We have taken this problem and set out to define a methodology, a cookbook, for building
microservices on serverless platforms. The cookbook construction is based on available
academic research, technical documentation and blogs available on the subject matter,
and empirical testing and observation.
The cookbook is validated by performing a case-study. We built a serverless microservice
system at Nuviz Oy and operate it in production environment. Based on the experience
in building the system, and its performance in production, we analyzed the built system
against the cookbook and provided analysis of the cookbook based on collected experience.
We concluded that the cookbook offers a clear reference on the structure and architectural
style of serverless microservices, which is useful both in designing a new microservice,
or moving from one service to another. The cookbook offers an approach which manages
the inherent complexity of large FaaS systems while leveraging the inherent benefits of
the platform.
The analysis also identified areas that require further study, such as interfacing with
microservices built on other technologies, and how to increase the potential benefit gain
from the serverless platform.
since 2014 and serverless computing since 2016. Serverless computing, especially
functions-as-a-service, offers exiting avenues for implementing the microservice pattern.
However, there is no clear consensus on how to do it, or whether a single serverless function
is a microservice by itself or not.
We have taken this problem and set out to define a methodology, a cookbook, for building
microservices on serverless platforms. The cookbook construction is based on available
academic research, technical documentation and blogs available on the subject matter,
and empirical testing and observation.
The cookbook is validated by performing a case-study. We built a serverless microservice
system at Nuviz Oy and operate it in production environment. Based on the experience
in building the system, and its performance in production, we analyzed the built system
against the cookbook and provided analysis of the cookbook based on collected experience.
We concluded that the cookbook offers a clear reference on the structure and architectural
style of serverless microservices, which is useful both in designing a new microservice,
or moving from one service to another. The cookbook offers an approach which manages
the inherent complexity of large FaaS systems while leveraging the inherent benefits of
the platform.
The analysis also identified areas that require further study, such as interfacing with
microservices built on other technologies, and how to increase the potential benefit gain
from the serverless platform.