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
55
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
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
140
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
580
Flutter Widget Previewerで始めるUIプレビューとVRTの自動化
sakusaku3939
0
200
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
430
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
6
3.5k
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
1
110
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
900
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
150
Lint の層を組み直した話
bengo4com
2
300
自律的なチームを作るためにTechPMがやらないこと
ny7760
0
490
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
6
2.9k
Don't write the architecture only in the prompt.
neohsu
0
300
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
890
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
290
Automating Front-end Workflow
addyosmani
1370
210k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
550
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
510
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.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 • ؔ࿈αʔϏε
͓͠·͍