Slide 1

Slide 1 text

System design 101 o que você deve pensar ao definir suas primeiras arquiteturas

Slide 2

Slide 2 text

Agenda Quem sou eu? O que é system design ? Entrevistas de system design Características de um sistema 1 3 4 2

Slide 3

Slide 3 text

Agenda Pensamento arquitetural O seu papel como dev Java Amplitude técnica Trade-offs 5 7 8 6

Slide 4

Slide 4 text

Agenda Conhecimento de negócio Hands On Pensando em componentes Decisões de arquitetura 9 11 12 10

Slide 5

Slide 5 text

Agenda Considerando riscos Desenhos de arquitetura Negociação e liderança Seu technology Radar 13 15 16 14

Slide 6

Slide 6 text

Agenda Bancos de dados Cache Arquitetura orientada a eventos Monitoramento / Observabilidad e 17 19 20 18

Slide 7

Slide 7 text

Agenda Segurança Deploy Hora da prática Onde aprender mais ? 21 23 24 22

Slide 8

Slide 8 text

Quem sou eu ?

Slide 9

Slide 9 text

Staff Software Engineer Microsoft MVP (4x) Instrutora na Linux Tips Criadora de conteúdo @kamila_code Co-autora de 3 livros Pós graduanda em arquitetura de soluções Pós graduanda em product management Mentora Membra do conselho da Womakerscode Programo desde 2013 Quem sou eu ?

Slide 10

Slide 10 text

O que é system design ?

Slide 11

Slide 11 text

Entrevistas de system design

Slide 12

Slide 12 text

Tenha bem claro os requisitos, número de usuários, picos de acesso, tempo de atualização dos dados, etc Entrevistas de system design

Slide 13

Slide 13 text

Não pense em linguagens e frameworks (somente se solicitado) pense em componentes e como eles se comunicam Entrevistas de system design

Slide 14

Slide 14 text

PERGUNTE, nunca passe a entrevista em silêncio só desenhando, interaja com as pessoas entrevistadoras Entrevistas de system design

Slide 15

Slide 15 text

Característica s de um sistema

Slide 16

Slide 16 text

Disponibilidade: porcentagem de tempo que algum serviço ou infraestrutura está acessível aos clientes. Características de um sistema

Slide 17

Slide 17 text

Confiabilidade: A medição da disponibilidade é impulsionada pela perda de tempo, enquanto a frequência e o impacto das falhas orientam a medição da confiabilidade. Disponibilidade e confiabilidade são essenciais porque permitem que as partes interessadas avaliem a saúde do serviço. Características de um sistema

Slide 18

Slide 18 text

Escalabilidade: a capacidade de um sistema de lidar com uma quantidade crescente de carga de trabalho sem comprometer o desempenho. Características de um sistema

Slide 19

Slide 19 text

Manutenabilidade: capacidade de um sistema restaurar suas funções dentro de um tempo após uma falha. Características de um sistema

Slide 20

Slide 20 text

Tolerância a falhas: O quanto um sistema consegue permanecer operante após ocorrer alguma falha Características de um sistema

Slide 21

Slide 21 text

Pensamento arquitetural

Slide 22

Slide 22 text

O seu papel como dev Java

Slide 23

Slide 23 text

Amplitude técnica

Slide 24

Slide 24 text

Trade-offs

Slide 25

Slide 25 text

Conhecimento de negócio

Slide 26

Slide 26 text

Hands On

Slide 27

Slide 27 text

Pensando em componentes

Slide 28

Slide 28 text

Decisões de arquitetura

Slide 29

Slide 29 text

Considerando riscos

Slide 30

Slide 30 text

Desenhos de arquitetura

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Negociação e liderança

Slide 33

Slide 33 text

Seu technology Radar

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Banco de dados

Slide 36

Slide 36 text

- Armazenamento estruturado de dados - elimina a redundância de dados - A informação relativa a uma entidade específica aparece numa tabela enquanto os dados relevantes para essa entidade específica aparecem nas outras tabelas ligadas através de chaves estrangeiras Banco de dados relacionais

Slide 37

Slide 37 text

- aplicações que exigem grande volume de dados semiestruturados e não estruturados , baixa latência e modelos de dados flexíveis Banco de dados não relacionais

Slide 38

Slide 38 text

Cache

Slide 39

Slide 39 text

Arquitetura orientada a eventos

Slide 40

Slide 40 text

Observabilidad e e monitoramento

Slide 41

Slide 41 text

Segurança

Slide 42

Slide 42 text

Deploy

Slide 43

Slide 43 text

O que guardar ? Onde guardar Hora da prática!!! O problema Nosso sistema vai resolver qual problema ? Componentes base Quais serviços envolvidos? Como eles se relacionam ? Dados Vai resolver MESMO o problema ? 1 2 3 4 Detalhes

Slide 44

Slide 44 text

Onde aprender mais ?

Slide 45

Slide 45 text

Daily.dev Byte byte go Substack Blogs de engenharia

Slide 46

Slide 46 text

Obrigada!