Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Desmistificando o Desenvolvimento WEB Escalável
Search
Paulo Henrique
January 17, 2022
Programming
0
62
Desmistificando o Desenvolvimento WEB Escalável
Um papo de engenheiro de software com engenheiro de software
Paulo Henrique
January 17, 2022
Tweet
Share
More Decks by Paulo Henrique
See All by Paulo Henrique
Construindo um currículo de peso com Open Source
plribeiro3000
0
66
Por que ainda não estou fazendo Open Source?
plribeiro3000
1
190
Mvc & Patterns
plribeiro3000
0
54
Cloud Server
plribeiro3000
0
110
Other Decks in Programming
See All in Programming
Snowflakeで眠ったデータを起こそう!
estie
0
130
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
120
"config" ってなんだ? / What is "config"?
okashoi
0
250
使ってみよう Azure AI Document Intelligence
kosmosebi
2
360
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
410
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
320
PHPはいつから死んでいるかの調査
chiroruxx
2
410
Code Reviews
bkuhlmann
4
890
Ruby GitHub Packages
bkuhlmann
0
640
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
490
Hanami and htmx
bkuhlmann
0
220
GitHub Copilotのススメ
marcy731
1
220
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
27
4k
4 Signs Your Business is Dying
shpigford
176
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
How to Ace a Technical Interview
jacobian
273
22k
Raft: Consensus for Rubyists
vanstee
133
6.3k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Unsuck your backbone
ammeep
663
57k
What's in a price? How to price your products and services
michaelherold
238
11k
Teambox: Starting and Learning
jrom
128
8.4k
Transcript
DESMISTIFICANDO O DESENVOLVIMENTO WEB ESCALÁVEL
“Escalabilidade é uma característica desejável em todo o sistema, rede
ou processo, que indica a capacidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer -Wikipedia
SOFTWARE ESCALÁVEL SOFTWARE QUE ATENDE UM AUMENTO NA CARGA DE
PROCESSAMENTO MANTENDO PERFORMANCE E RESULTADOS
E COMO UM SOFTWARE ESCALA?
TIPOS DE ESCALONAMENTO DE SOFTWARE ➤ Escalonamento vertical (Scale OUT)
➤ Escalonamento Horizontal (Scale UP)
ESCALONAMENTO VERTICAL Adição de recursos ao servidor
ESCALONAMENTO HORIZONTAL Adição de servidores
ESCALONAMENTO
E COMO O MEU CÓDIGO AFETA ISSO?
SOFTWARE ESCALÁVEL SOFTWARE QUE ATENDE UM AUMENTO NA DEMANDA DE
PROCESSAMENTO MANTENDO PERFORMANCE E RESULTADOS
CAMADAS DE OTIMIZAÇÃO DA PERFORMANCE ➤ Linguagem
CAMADAS DE OTIMIZAÇÃO DA PERFORMANCE ➤ Linguagem ➤ Framework
CAMADAS DE OTIMIZAÇÃO DA PERFORMANCE ➤ Linguagem ➤ Framework ➤
Arquitetura da Solução
CAMADAS DE OTIMIZAÇÃO DA PERFORMANCE ➤ Linguagem ➤ Framework ➤
Arquitetura da Solução ➤ Banco de Dados
PERFORMANCE Linguagem
OTIMIZAÇÃO DA PERFORMANCE (LINGUAGEM) ➤ Threads (CPU)
OTIMIZAÇÃO DA PERFORMANCE (LINGUAGEM) ➤ Threads (CPU) ➤ Garbage Collector
(Memória)
PERFORMANCE Framework
OTIMIZAÇÃO DA PERFORMANCE (FRAMEWORK) ➤ Threads (CPU)
OTIMIZAÇÃO DA PERFORMANCE (FRAMEWORK) ➤ Threads (CPU) ➤ Cache (Memória)
PERFORMANCE Arquitetura da Solução
OTIMIZAÇÃO DA PERFORMANCE (ARQUITETURA DA SOLUÇÃO) ➤ Processamento (CPU)
OTIMIZAÇÃO DA PERFORMANCE (ARQUITETURA DA SOLUÇÃO) ➤ Processamento (CPU) ➤
Espaço de Trabalho (Memória)
PERFORMANCE Banco de Dados
OTIMIZAÇÃO DA PERFORMANCE (BANCO DE DADOS) ➤ Connection Pool (CPU)
OTIMIZAÇÃO DA PERFORMANCE (BANCO DE DADOS) ➤ Connection Pool (CPU)
➤ Index (Memória)
LIMITES DE SOFTWARE
LIMITES DE SOFTWARE ➤ CPU Bound ➤ Memory Bound ➤
I/O Bound
CONCLUSÃO
CONHECER AS TECNOLOGIAS E COMO ELAS UTILIZAM OS RECURSOS DA(S)
MÁQUINA(S) É IMPORTANTE
@PLRIBEIRO3000 Obrigado