Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Migração eficiente: do Laravel ao Hyperf
Search
schons
May 31, 2025
Programming
23
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
9
Migração de Arquitetura
sschonss
0
12
Design for Failure 2.0
sschonss
0
35
Design for Failure: Padrões de Resiliência
sschonss
0
43
Entregas de valor: estratégias para equipes de alta performance
sschonss
0
26
Acelerando a arquitetura de microservicos com PHP: uma introdução ao Hyperf
sschonss
0
25
Desenvolvedor além do código
sschonss
0
40
CORS: no Postman funciona!
sschonss
0
32
Other Decks in Programming
See All in Programming
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
130
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
Domain-Driven Transformation
hschwentner
2
2.3k
カツオ、ご期待ください
suneo3476
0
160
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
350
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
360
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5k
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
5.8k
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
290
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
350
Are puppies a ranking factor?
jonoalderson
2
4k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
A better future with KSS
kneath
240
18k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
620
Discover your Explorer Soul
emna__ayadi
2
1.3k
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Paper Plane
katiecoart
PRO
4
54k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
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