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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
schons
May 31, 2025
Programming
14
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
Carreira Dev
sschonss
0
3
Migração de Arquitetura
sschonss
0
4
Design for Failure 2.0
sschonss
0
26
Design for Failure: Padrões de Resiliência
sschonss
0
34
Entregas de valor: estratégias para equipes de alta performance
sschonss
0
18
Acelerando a arquitetura de microservicos com PHP: uma introdução ao Hyperf
sschonss
0
18
Desenvolvedor além do código
sschonss
0
32
CORS: no Postman funciona!
sschonss
0
26
Other Decks in Programming
See All in Programming
さぁV100、メモリをお食べ・・・
nilpe
0
140
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
240
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
400
Vite+ Unified Toolchain for the Web
naokihaba
0
310
Claspは野良GASの夢をみるか
takter00
0
190
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
260
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
690
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
240
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Navigating Team Friction
lara
192
16k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
The Cult of Friendly URLs
andyhume
79
6.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
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