Microservices
A microservice architecture – a variant of the service-oriented architecture (SOA) structural style – arranges an application as a collection of loosely-coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight. The goal is that teams can bring their services life independent of others. Loose coupling reduces all types of dependencies and the complexities around it, as service developers do not need to care about the users of the service, they do not force their changes onto users of the service.
Kilde: Wikipedia
Mikrotjenester er en type tjeneste-orientert arkitektur. På samme måte som Scrum er en stil eller type innen Agile Metoder så er mikrotjenester en stil innen tjenseste-orientert arkitektur.
Kjennetegn
Tjenestene er avhengige av hverandre på kryss og tvers. Selv om bare en tjeneste går ned, vil dette ofte ha en effekt på mange andre tjenester som bruker denne.
Fordeler
Uavhengige deploys. Dette er blant de største fordelene med mikrotjenester.
Mikrotjenester klarifiserer strukturen til et informasjonssystem
Mikrotjenester kjøper deg muligheter
Mikrotjenester legger til rette for autonome team
Ulemper
Distribuerte systemer er vanskelige
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.” — Leslie Lamport.
Monitorering av mikrotjenester er komplekst
Ved sikkerhetshull må alle mikrotjenester patches
Relaterte notater
Sagas holder styr på komplekse sekvenser i programvare
Logging i mikrotjenester bør aggregeres
Mikrotjenester bør versjoneres semantisk
Endepunkter bør versjoneres i header
Utviklerteam bør være stream-aligned
Duplisering i mikrotjenester
Notater fra talks
Information Patterns in Microservices
Microservices Workshop