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
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
Search
Kaz Watanabe
June 22, 2024
Technology
420
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
Kaz Watanabe
June 22, 2024
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
54
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
210
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
510
開発エンジニアが実践するDevSecOps
kaz29
0
180
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.4k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
730
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
201909-PHPCon北海道-PHPでCI_CD.pdf
kaz29
0
4.3k
Other Decks in Technology
See All in Technology
AIコーディングはじめました
miso
0
140
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
490
企画からFlutter実装まで、1つの機能を一貫して開発したプロセスと成果物
khiroyuki1003
0
130
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
570
Consistency for mere mortals - A gentle guide to consistency
ufried
0
120
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
280
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
2
550
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
410
AI時代の開発はウォーターフォールに回帰する? / development-with-ai-back-to-wf
okamototakuyasr2
0
170
Lint の層を組み直した話
bengo4com
2
290
Systems Manager AgentがインストールされたPCを紛失した時の対策を考えてみた
amarelo_n24
1
110
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
6
3.4k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
890
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
650
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
960
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Balancing Empowerment & Direction
lara
6
1.4k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
470
YesSQL, Process and Tooling at Scale
rocio
174
15k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
510
Statistics for Hackers
jakevdp
799
230k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Transcript
"[VSFͳ͔ͳ͔ྑ͍Ͱ͢Αʂ 1)1FSͷҝͷ"[VSFೖ 2024/06/24 PHPΧϯϑΝϨϯεԬ2024 JCOMגࣜձࣾ Θͨͳ(@kaz_29)
WHO? ลҰ (Θͨͳ ͔ͣͻΖ) @kaz_29 JCOMגࣜձࣾ
None
Agenda • PHPΛ࣮ߦՄೳͳαʔϏε • ֤αʔϏεͷ֓ཁհ • ࠷ۙΑ͘͏αʔϏεɾߏͷհ • WebαʔϏεΛఏڙ͢Δ্ͰΑ͘͏֤छαʔϏεͷհ •
·ͱΊ
Azure App Service Azure App Service on Linux
• MSఏڙͷLinuxڥ • GithubͳͲ͔ΒCD • Φʔτεέʔϧ Up / Down •
ෳSlotରԠ • Azure portal্͔ΒSSHͰϩάΠϯՄೳ(Ұ෦੍ݶ͋Γ) QSPEVDUJPOQSFWJFXͷ༷ʹෳ TMPUΛ࡞ͬͯ؆୯ʹ#(σϓϩΠ Azure App Service "[VSF"QQ4FSWJDFPO-JOVY 1PSUBMͰઃఆΛ͢ΔͱσϓϩΠʹ ඞཁͳઃఆ͕Ճ͞ΕɺXPSL fl PX ͕DPNNJU͞ΕΔ https://azure.microsoft.com/ja-jp/pricing/details/app-service/linux/
Azure App Service "[VSF"QQ4FSWJDFPO-JOVY https://azure.microsoft.com/ja-jp/pricing/details/app-service/linux/ # Docs for the Azure
Web Apps Deploy action: https://github.com/Azure/webapps-deploy # More GitHub Actions for Azure: https://github.com/Azure/actions name: Build and deploy PHP app to Azure Web App - phpconfuk on: push: branches: - main workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: '8.3' - name: Check if composer.json exists id: check_files uses: andstor/file-existence-action@v1 with: files: 'composer.json' - name: Run composer install if composer.json exists if: steps.check_files.outputs.files_exists == 'true' run: composer validate --no-check-publish && composer install --prefer-dist --no-progress - name: Zip artifact for deployment run: zip release.zip ./* -r - name: Upload artifact for deployment job uses: actions/upload-artifact@v3 with: name: php-app path: release.zip deploy: runs-on: ubuntu-latest needs: build environment: name: 'Production' url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} permissions: id-token: write #This is required for requesting the JWT steps: - name: Download artifact from build job uses: actions/download-artifact@v3 with: name: php-app - name: Unzip artifact for deployment run: unzip release.zip - name: Login to Azure uses: azure/login@v1 with: client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_XXX }} tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_XXX }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_XXX }} - name: 'Deploy to Azure Web App' uses: azure/webapps-deploy@v2 id: deploy-to-webapp with: app-name: 'phpconfuk' slot-name: 'Production' package: . OpenID Connect(OIDC) Ͱೝূ(MSਪ) - name: Login to Azure uses: azure/login@v1 with: client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_… }} tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_… }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_… }}
Azure App Service "[VSF"QQ4FSWJDFPO-JOVY DBUFUDPTSFMFBTF 13&55:@/".&%FCJBO(/6-JOVY CPPLXPSN /".&%FCJBO(/6-JOVY 7&34*0/@*%
7&34*0/ CPPLXPSN ʜ DBUFUDEFCJBO@WFSTJPO QIQWFSTJPO 1)1 DMJ CVJMU.BS /54 $PQZSJHIU D 5IF1)1(SPVQ ;FOE&OHJOFW $PQZSJHIU D ;FOE5FDIOPMPHJFT XJUI;FOE01DBDIFW $PQZSJHIU D CZ;FOE5FDIOPMPHJFT QTBY 1*%55:45"55*.&$0.."/% 4/TCJOCBTICJOJOJU@DPOUBJOFSTI 4/TTTIEVTSTCJOTTIE<MJTUFOFS>PGTUBSUVQT 4/CJOTIPQUTUBSUVQTUBSUVQTI 4/TOHJOYNBTUFSQSPDFTTVTSTCJOOHJOY 4/OHJOYXPSLFSQSPDFTT 4/TQIQGQNNBTUFSQSPDFTT VTSMPDBMFUDQIQGQNDPOG 4/QIQGQNQPPMXXX 4/QIQGQNQPPMXXX https://azure.microsoft.com/ja-jp/pricing/details/app-service/linux/
Azure App Service "[VSF"QQ4FSWJDFPO-JOVY https://azure.microsoft.com/ja-jp/pricing/details/app-service/linux/ App Service Plan ΞϓϦ1 ΞϓϦ2
Worker1 Worker2 ΞϓϦ1 ΞϓϦ2
Azure App Service Web Apps for Containers
• GithubͳͲ͔ΒCD • Φʔτεέʔϧ Up / Down • ෳSlotରԠ •
Azure portal্͔ΒSSHͰϩάΠϯՄೳ(Ұ෦੍ݶ͋Γ) sshdΛࢦఆͷํ๏Ͱ্͓͛ͯ͘ඞཁ͕͋Γ·͢ Azure App Service 8FC"QQTGPS$POUBJOFST https://azure.microsoft.com/ja-jp/pricing/details/app-service/linux/
Azure Container Instances
"[VSF$POUBJOFS*OTUBODFT ֓ཁ • ΦϯσϚϯυͰίϯςφΛ࣮ߦ͢ΔαʔϏε Hyper-VͰ͞Εͨίϯςφʔ • ࠷େ8vCPU / 32GiB ຊϦʔδϣϯͰ·ͩͰ͕͢ɺGPUΛ͑Δߏ͕ϓϨϏϡʔͰެ։த
• AKSͷεέʔϧઌͱͯ͠ར༻Մೳ AKSͰΞΫηε͕ूதͨ͠ࡍͷΦϑϩʔυઌͱͯ͑͠Δ
Azure Container Apps
Azure Container Apps ֓ཁ • ϑϧϚωʔδυk8sϕʔεͷΞϓϦέʔγϣϯϓϥοτϑΥʔϜ • KEDAΛར༻ͨ͠ಈతεέʔϦϯά HTTP /
TCP / Azure Storage Queue / Azure Service Bus / Azure Event Hubs etc… • ϓϥϯ • Consumption Plan(ফඅ) • Dedicated(ઐ༻) • ैྔ՝ۚϫʔΫϩʔυϓϩϑΝΠϧ • ઐ༻ϫʔΫϩʔυϓϩϑΝΠϧ
Azure Container Apps ར༻Մೳͳ CPU ͱϝϞϦ IUUQTMFBSONJDSPTPGUDPNKBKQB[VSFDPOUBJOFSBQQTDPOUBJOFST
Azure Container Apps ࣮ߦڥͷΠϝʔδ CONTAINER APP 1 CONTAINER(S) REPLICA REVISION
1 CONTAINER(S) REPLICA REVISION 2 CONTAINER APP 2 CONTAINER(S) REPLICA REVISION 1 CONTAINER(S) REPLICA REVISION 2 CONTAINER APPS ENVIRONMENT
͜͜·Ͱͷ·ͱΊ 1)1Λ࣮ߦՄೳͳ1BB4 • Azure App Service on Linux MSۘͷLinuxڥ •
Web Apps for Containers DockerΛ࣮ߦՄೳͳαʔϏε • Azure Container Instances ΦϯσϚϯυͰίϯςφΛ࣮ߦ͢ΔαʔϏε • Azure Container Apps ϑϧϚωʔδυk8sϕʔεͷΞϓϦέʔγϣϯϓϥοτϑΥʔϜ
ͦͷ΄͔ͷΑ͘͏αʔϏε • Azure Static Web Apps ϑϩϯτΞϓϦͳͲ੩తίϯςϯπΛ৴ • Azure Container
Registry ίϯςφΠϝʔδͷཧ • Azure Front Door WAF / CDN • Azure Monitor / Log Analytics Workspace ϩάཧ • Azure Application Insights ΞϓϦέʔγϣϯϩάཧ(ϑϩϯτͷϩάऩू) • Azure Key Vault ೝূใͳͲൿಗੑͷߴ͍ใͷཧ • Azure Storage • Blob Storage ΫϥυετϨʔδ • Queue ϝοηʔδϯάετΞ • Azure Database for PostgreSQL / MySQL • Azure Web PubSub ϦΞϧλΠϜϝοηʔδϯά(WebSocket) • Bicep(ARM Template) IaCπʔϧ
Azure Static WebApps
Azure Static WebApps ֓ཁ • ੩తίϯςϯπ৴༻ͷαʔϏε • ෳͷڥ(slotతͳͷ) • ΧελϜυϝΠϯରԠ(ূ໌ॻແྉɺࣗಈߋ৽)
• ଳҬ෯ - 100 GB (αϒεΫϦϓγϣϯ͋ͨΓ) • ೝূ • API࿈ܞ(Functions / Container Apps) • ϓϥϯ • Free(ফඅ) • Standard(ઐ༻) • SLAɺଳҬաՄೳ(ैྔ՝ۚ)
͓͢͢Ίͷߏ ࠷ۙΑ͘͏ߏ "[VSF'SPOU%PPS 4UBUJD8FC"QQT "[VSF'SPOU%PPS "[VSF%BUBCBTF GPS1PTUHSF42- "[VSF$POUBJOFS"QQT "1* 2VFVF8PSLFS
8FC)PPL "[VSF4UPSBHF2VFVF
·ͱΊ • PHPͷ࣮ߦڥ Azure App Service on Linux Web Apps
for Containers Azure Container Instances Azure Container Apps • ؔ࿈αʔϏε
͓͠·͍