Skip to content

Instantly share code, notes, and snippets.

@antonioj-mattos
Forked from rponte/UNPHAT-principle.md
Last active August 1, 2019 00:08
Show Gist options
  • Save antonioj-mattos/473fb4c19df8993d0a3cb93e45b9f9bd to your computer and use it in GitHub Desktop.
Save antonioj-mattos/473fb4c19df8993d0a3cb93e45b9f9bd to your computer and use it in GitHub Desktop.
Before choosing an architecture, follow UNPHAT principle

Tecnologia legal? UNPHAT.

Da próxima vez que você se encontrar pesquisando alguma nova tecnologia interessante para (re)construir sua arquitetura, peço que você pare e siga UNPHAT:

  1. Não comece a considerar soluções até entender o problema. Seu objetivo deve ser "resolver" o problema principalmente dentro do domínio do problema, não no domínio da solução.
  2. eNumere várias soluções candidatas. Não comece a cutucar seu favorito!
  3. Considere uma solução candidata e leia o Paper, se houver.
  4. Determine o Contexto Histórico no qual a solução candidata foi projetada ou desenvolvida.
  5. Pese Vantagens contra desvantagens. Determine o que foi de-priorizado para alcançar o que foi priorizado.
  6. Pense! Pondere sobriamente e humildemente quão bem esta solução se adapta ao seu problema. Que fato precisaria ser diferente para você mudar de ideia? Por exemplo, quanto menores os dados precisam ser antes de você optar por não usar o Hadoop?

Mais informações, Você não é o Google

Cool Tech? UNPHAT.

Next time you find yourself Googling some cool new technology to (re)build your architecture around, I urge you to stop and follow UNPHAT instead:

  1. Don’t even start considering solutions until you Understand the problem. Your goal should be to “solve” the problem mostly within the problem domain, not the solution domain.
  2. eNumerate multiple candidate solutions. Don’t just start prodding at your favorite!
  3. Consider a candidate solution, then read the Paper if there is one.
  4. Determine the Historical context in which the candidate solution was designed or developed.
  5. Weigh Advantages against disadvantages. Determine what was de-prioritized to achieve what was prioritized.
  6. Think! Soberly and humbly ponder how well this solution fits your problem. What fact would need to be different for you to change your mind? For instance, how much smaller would the data need to be before you’d elect not to use Hadoop?

More info, You Are Not Google

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment