Thinking about Microservices: The Fiefdom and the Emissaries

Are you designing Microservices? So, I would like to share a fascinating slide deck that I discovered recently. That comes from a Patt Helland’s talk at TechEd 2002 (!!).

Defining Fiefdoms

Using the author’s definition, we could define a Fiefdom as:

  1. Computing function and applications which behaves as an independent entity
  2. Has private data
    1. No one outside can read or write the information
    2. Only well-defined requests are serviced from the outside
  3. An autonomous unit — managed independently (Usually one (or a few) machines)
  4. Don’t trust outsiders
    1. Incoming requests will be inspected
    2. Fields will be validated
    3. Identity will be authenticated

It looks like Microservices. Am I right?

Defining Emissaries

Using the author’s definition, we could define an Emissary as:

  1. It knows how to fill out a request for the fiefdom
  2. It understands the rules of the fiefdom and how to (probably) get the request accepted
  3. They have two purposes
    1. Displaying information to users
    2. Preparing requests to send to fiefdoms
  4. They are not trusted by the fiefdom
  5. They will frequently come with reference data
  6. They gather information needed to prepare requests (For example, a shopping basket accumulates the items to purchase)

It looks like the Client APIs!

So…

The slide deck is impressive. There are plenty of architectural insights that are still valid today. I strongly recommend you to spend some time getting it. It is a valuable resource.

[embeddoc url=”https://elemarjr.com/wp-content/uploads/2018/02/fiefdoms_emissaries.ppt” download=”all” viewer=”microsoft”]

Cover: Jonas Verstuyft

Compartilhe este insight:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

Pimenta nos olhos dos outros é refresco. Quando não é pela satisfação sádica proporcionada pela dor alheia é pelo alívio...
It’s time to start learning RavenDB 4. Even if you know previous versions of RavenDB, you will probably get good...
Quando iniciei a EximiaCo, busquei implantar, na empresa, características minhas que valorizava e que achava que poderiam fazer diferença. Sabia,...
Nossos códigos precisam ser fáceis de compilar e testar. Para isso, nada melhor do que começarmos da forma certa, com...
Recebi um bocado de feedback positivo para minhas palestras no Devxperience deste ano. Muita gente mandou e-mails solicitando, principalmente, os...
Muitas vezes, em nossos sistemas, temos tarefas que demandam processamento de  longa duração ou possuem alta complexidade computacional. Na medida...