source(file.path(usethis::proj_get(), "vignettes",  "_common.R"))

microservices

CRAN
status R build
status codecov

r read.dcf("DESCRIPTION", "Title")[1]

knitr::include_graphics("https://i.imgur.com/nZ5jw2g.png")

Introduction

r read.dcf("DESCRIPTION", "Description")[1]

Should I use microservices?

As a start, ask yourself if a microservice architecture is a good choice for the system you're working on?

stop("If you do not plan to deploy a system into production, then you do not need microservices.")

The microservice architecture entails costs and provides benefits. Making lots of independent parts work together incurs complexities. Management, maintenance, support, and testing costs add up in the system. Many software development efforts would be better off if they don't use it.

If you plan to deploy a system into production, then consider the following:

After mentioning the disadvantages and dangers of implementing microservices, why should someone consider using them?

[@Newman2015] suggests seven key benefits of using microservices:

knitr::include_graphics("https://i.imgur.com/vX1u9Po.png")
knitr::include_graphics("https://i.imgur.com/qelkZ9P.png")
knitr::include_graphics("https://i.imgur.com/1Tf9Hrh.png")
knitr::include_graphics("https://i.imgur.com/U60xp1V.png")
knitr::include_graphics("https://i.imgur.com/8mk0BlZ.png")
knitr::include_graphics("https://i.imgur.com/gHMkhtV.png")
knitr::include_graphics("https://i.imgur.com/SNQAINt.png")

To conclude, not every application needs to be built as a microservice. In some cases, such as in a system that is an amalgam of programming languages and technologies, microservices architecture is advised or even necessary. However, seldom it is a good choice to start building an application as a microservice. Instead, a better option is to design a system in a modular way and implement it as a monolith. If done well, shifting to microservices would be possible with reasonable refactoring effort.

Installation

You can install microservices by using:

install.packages("microservices")

Further Reading



harell/microservices documentation built on March 2, 2021, 3:15 a.m.