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
400
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
47
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
200
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
510
開発エンジニアが実践するDevSecOps
kaz29
0
180
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
201909-PHPCon北海道-PHPでCI_CD.pdf
kaz29
0
4.3k
Other Decks in Technology
See All in Technology
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
パッチ更新でterraform initが落ちた日
grimoh
1
120
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.2k
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
350
The seven pitfalls of AI (revised version)
ufried
0
310
SREでアラート疲れを 解決しよう!
kairim0
1
220
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
370
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
900
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
130
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
6
5.7k
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.3k
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
590
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
260
It's Worth the Effort
3n
188
29k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
630
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Building Adaptive Systems
keathley
44
3.2k
Code Review Best Practice
trishagee
74
20k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The browser strikes back
jonoalderson
0
1.8k
The Cult of Friendly URLs
andyhume
79
7k
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 • ؔ࿈αʔϏε
͓͠·͍