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
Migração eficiente: do Laravel ao Hyperf
Search
schons
May 31, 2025
Programming
11
0
Share
Migração eficiente: do Laravel ao Hyperf
Palestra desenvolvida para o Ingá.php 2025
schons
May 31, 2025
More Decks by schons
See All by schons
Design for Failure 2.0
sschonss
0
23
Design for Failure: Padrões de Resiliência
sschonss
0
28
Entregas de valor: estratégias para equipes de alta performance
sschonss
0
14
Acelerando a arquitetura de microservicos com PHP: uma introdução ao Hyperf
sschonss
0
14
Desenvolvedor além do código
sschonss
0
26
CORS: no Postman funciona!
sschonss
0
21
Other Decks in Programming
See All in Programming
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.1k
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
180
t *testing.T は どこからやってくるの?
otakakot
1
900
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
130
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
480
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
970
My daily life on Ruby
a_matsuda
3
180
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.6k
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
2
2k
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
680
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.6k
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
2
300
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.2k
Building the Perfect Custom Keyboard
takai
2
750
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
300
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
370
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
130
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Test your architecture with Archunit
thirion
1
2.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Transcript
MIGRAÇÃO EFICIENTE DO LARAVEL PARA O HYPERF
• Canionista / Montanhista • Atleta de CA • BJJ
• DevParaná • UTFPR • schons.hashnode.dev • Co-Founder Polyglot.ai • Uma curiosidade… Luiz Schons
Disclaimer! 1. Não sou especialista em nada 2. Analise o
cenário que você está 3. Não existe bala de prata 4. Estude e estude…
MIGRAÇÃO DE SOFTWARE UM POUCO DO QUE EU JÁ PASSEI
Vamos entender um pouco dessa história QUAL ERA O CENÁRIO
QUE A GENTE ESTAVA?
None
None
None
Motivos 1. Decisões não assertivas no passado. 2. Programar pisando
em ovos. 3. Performance (Não era culpa do Laravel). 4. Micro-serviço que não era micro. (Domínios) 5. O Deploy era tenso.
POR QUE HYPERF?
None
None
None
None
Motivos 1. Toda a equipe tinha conhecimento em PHP. 2.
Coroutine & Non-Blocking System. 3. Desafio. 4. Performance (Swoole).
Swoole é uma runtime PHP que permite a programação assíncrona
de alta performance, com suporte a coroutines, melhorando significativamente a capacidade de processamento e escalabilidade de aplicações web. ENTENDENDO SWOOLE
FPM X SWOOLE
COMO PLANEJAMOS?
1. Definimos onde queríamos chegar: um software com uma experiência
de desenvolvimento melhor (DX). 2. Entendemos melhor os domínios da aplicação. 3. Criamos um plano de ação. mas nem tudo são flores….
Começou o primeiro desafio
Procedimento 1º Migrar o banco de dados. 2º Migrar o
framework
Começou o segundo desafio
MAS COMO DEFINIR DOMÍNIOS?
None
Elephant Migration AntiPattern
BIFURCAÇÃO TÁTICA OU DECOMPOSIÇÃO BASEADA EM COMPONENTES?
DECOMPOSIÇÃO BASEADA EM COMPONENTES • Refatoração. • Extração de componentes.
• Incremental e controlada.
BIFURCAÇÃO TÁTICA • Réplicas dos serviços. • Remoção de partes
indesejadas.
Arquitetura de Software: as Partes Difíceis: Análises Modernas de Trade-off
Para Arquiteturas Distribuídas
Encontramos um problema Documentação desatualizada
Começou o terceiro desafio Documentação desatualizada Documentação + Architecture Decision
Records (ADR)
Procedimento 1º Migrar o banco de dados. 2º Migrar o
framework. 2º Entender os domínios e separar. 3º Documentar (software e decisões).
Voltando ao segundo desafio
1. Muitas responsabilidades para um "micro-serviço" só. 2. Acoplamento muito
forte entre diferentes domínios da aplicação. 3. Deploy impactava muito no ambiente de produção.
None
None
Procedimento 1º Migrar o banco de dados. 2º Migrar o
framework. 2º Entender os domínios e separar. 3º Documentar (software e decisões). 4º Testes
MAS COMO A EQUIPE REAGIU?
None
1. Comunicação interna bem alinhada com outros setores da empresa.
2. Suporte técnico e espaço para aprendizado contínuo. 3. Medo virou animação. 4. Evolução pessoal e do time.
None
None
MAS E AI? VALE A PENA?
None
Ainda tem muita coisa a evoluir, mas o primeiro passo
foi dado.
Avalie a palestra