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
Knative Serving 入門 / kubernetes meetup 13
Search
Ryo Takaishi
September 28, 2018
Technology
1.4k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Knative Serving 入門 / kubernetes meetup 13
https://k8sjp.connpass.com/event/100842/
Ryo Takaishi
September 28, 2018
More Decks by Ryo Takaishi
See All by Ryo Takaishi
通知再考 ~ 最高のアラート通知を今改めて考える ~
takaishi
0
570
2025 年私の Terraform に関するふりかえり / ゆるSRE勉強会 #14
takaishi
0
790
スロークエリとの戦いの軌跡2024 / ゆるSRE勉強会 #10
takaishi
1
930
AWSを使ったカンファレンスの 配信アーキテクチャ - 吉祥寺.pm37
takaishi
2
680
どうやればインシデント対応能力を鍛えられるのか? / SRE Kaigi 2025
takaishi
13
13k
Podcastを3年半続ける技術と得た物 / ya8-2024
takaishi
5
2.1k
入門!ClusterAPI 〜 k8s クラスターも k8s API で管理したい 〜 / k8s_meetup_31
takaishi
3
4.9k
CloudNativeへの道 リーダーシップとフォロワーシップ / 201911-cndjp13
takaishi
2
1k
ClusterAPI v1alpha1 → v1alpha2 / k8s_meetup_23
takaishi
1
1.7k
Other Decks in Technology
See All in Technology
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
610
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
230
IDperturb: Enhancing Variation in Synthetic Face Generation via Angular Perturbation
sansantech
PRO
0
130
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
3
2k
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
710
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
240
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
1
540
DINO-EdgeQuery:Edge-First Polygon Decoding for Building Footprint Extraction from Satellite Imagery
lehupa
0
140
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
260
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
430
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
190
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
310
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
500
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Test your architecture with Archunit
thirion
2
2.4k
Between Models and Reality
mayunak
4
440
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Docker and Python
trallard
47
4.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Transcript
∁ੴྒ / GMO Pepabo, Inc. 2018-09-28 Kubernetes Meetup #13 ,OBUJWF4FSWJOHೖ
∁ੴ ྒ / @r_takaishi TAKAISHI Ryo https://repl.info/ Belgian beer Ruby,
Go Kubernetes, OpenStack
∁ੴ ྒ / @r_takaishi TAKAISHI Ryo •ιϑτΣΞΤϯδχΞ @ GMOϖύϘ •ΣϒαʔϏεͷج൫ߏஙɾӡ༻
•࠷ۙFluentdͷϓϥάΠϯΛॻ͍͍ͯ·͢ •OpenStackΛͬͨϓϥΠϕʔτΫϥυӡ༻ •Kubernetes on OpenStackڥͷߏங •ؒืूதʂ
,OBUJWF
,OBUJWF4FSWJOH
• Knative ServingͷΞʔΩςΫνϟࢥʹ͍ͭͯ • ಛతͳػೳͷ1ͭͰ͋Δθϩɾεέʔϧʹ͍ͭͯ • ୭Λରͱͨ͠ϓϩμΫτͳͷ͔ʁզʑͲ͏͢Ε͍͍ͷ͔ʁ !6 ࠓ͢͜ͱ
• Knative Eventing • Knative Building • ෦࣮ !7 ࠓ͞ͳ͍͜ͱ
݁
• Knative ServingͷΰʔϧɺPaaS/FaaSͷ֓೦ΛؚΉαʔόʔϨεϫʔΫϩʔ υͷͨΊͷAPIͱπʔϧΛఏڙ͢Δ͜ͱ • ԠతʹΞϓϦέʔγϣϯΛىಈɾεέʔϧ͠ɺར༻͕ͳ͚Εఀࢭ͢ΔΞʔ ΩςΫνϟͰ͋Δ • 20189݄࣌ͰΞʔΩςΫνϟͱAPIͷΈఏڙ͞Ε͍ͯΔঢ়گɻʢ·ͩެ ࣜͰͳ͍͕ʣCLIπʔϧ͕ొ࢝͠Ί͍ͯΔ
• IaaSɺCaaSɺPaaSͱ͍ͬͨج൫ٕज़ͷԆઢ্ʹ͋ΔϓϩμΫτͰɺKnative Ͱͳ͍͍͕ͯ͘ߟ͑ํ͓ͬͯ͘ͱΑ͍ͱࢥ͏ !9 ݁ɿ,OBUJWF4FSWJOHͱԿͳͷ͔
,OBUJWF͕ࢦ͢ΰʔϧ
• Google Cloud Next 2018Ͱൃද͞Εͨʢ20187݄ʣ • αʔόʔϨεΛఏڙ͢ΔϓϥοτϑΥʔϜ • Kubernetes্ʹߏங !11
,OBUJWFʁ
• BuildɿίϯςφΠϝʔδΛϏϧυ͢Δ • EventingɿΠϕϯτͷσϦόϦʔΛཧ͢Δ • ServingɿϦΫΤετۦಈͰίϯςφΛىಈɾεέʔϧ͢Δ !12 ,OBUJWF
None
• Knative ServingͷΰʔϧɺαʔόʔϨεϫʔΫϩʔυͷͨΊͷ APIͱπʔϧΛఏڙ͢Δ͜ͱ • ެࣜͷCLIπʔϧɺGUI·ͩͳ͍ͬΆ͍ • cppforlife/knctlɿίϛϡχςΟϦιʔεͰ։ൃ͞Ε͍ͯΔ༷ • CLI͚ͩͰσϓϩΠτϥϑΟοΫׂ͕࣮ݱՄೳʹͳΔʁ
!14 ,OBUJWF4FSWJOH͕ࢦ͢ΰʔϧ https://github.com/knative/serving/blob/v0.1.1/docs/spec/motivation.md
αʔόʔϨεʁ
!16 • εςʔτϨεͰ͋Δ͜ͱ • ϓϩηεͷεέʔϧΞτ͕ద༻ՄೳͰ͋Δ͜ͱ • ओʹΞϓϦέʔγϣϯϨϕϧʢL7ɺྫ͑HTTPʣͷϦΫΤεττ ϥϑΟοΫʹΑͬͯۦಈ͢Δ͜ͱ αʔόʔϨεɾϫʔΫϩʔυ
• ͪΖΜବͰͳ͍ • KubernetesαʔόʔϨεϫʔΫϩʔυΛѻ͑ΔϦιʔεΛఏڙ͠ ͍ͯΔʢDeploymentɺServiceͳͲʣ • ͔͠͠ɺ͜ΕΒͷϦιʔεΞϓϦέʔγϣϯ։ൃऀ͔Βݟͨͱ͖ɺ ेʹγϯϓϧͱݴ͑ͳ͍ !17 ,VCFSOFUFTͰବͳͷ͔
• Kubernets্ͷΞϓϦέʔγϣϯϓϥοτϑΥʔϜʹڞ௨͕ଟ ͍ • Knativeڞ௨Λඪ४ԽɾΧελϜϦιʔεԽ͢Δ • ͜ΕʹΑΓΞϓϦέʔγϣϯ։ൃऀ͔ΒݟͨΠϯϑϥΛநԽ͢Δ !18 ,VCFSOFUFTͰବͳͷ͔
ߏཁૉ
• CRD(Custom Resource Definitions)Ͱఆٛ • Revision • Configuration • Route
• Service !20 ,OBUJWF4FSWJOH͕ఏڙ͢ΔϦιʔε Route Configuration Revision Service Revision Revision NBOBHFT SPVUFUSB⒏DUP SFDPSEIJTUPSZPG
• Revision • ίʔυͱઃఆͷεφοϓγϣοτ • ConfigurationʹΑͬͯ࡞ !21 ,OBUJWF4FSWJOH͕ఏڙ͢ΔϦιʔε Route Configuration
Revision Service Revision Revision NBOBHFT SPVUFUSB⒏DUP SFDPSEIJTUPSZPG
• Configuration • ࠷৽ͷRevisionʹ͍ͭͯͷهड़ • Configurationͷߋ৽ʹΑΓɺ৽͍͠ Revision͕࡞ΒΕΔ !22 ,OBUJWF4FSWJOH͕ఏڙ͢ΔϦιʔε Route
Configuration Revision Service Revision Revision NBOBHFT SPVUFUSB⒏DUP SFDPSEIJTUPSZPG
• Route • αʔϏε͚ΤϯυϙΠϯτΛఏڙ • ΤϯυϙΠϯτͷޙΖʹ1ͭҎ্ͷ Revision͕ଘࡏ • ύʔηϯςʔδϕʔεͰτϥϑΟοΫ Λׂ
!23 ,OBUJWF4FSWJOH͕ఏڙ͢ΔϦιʔε Route Configuration Revision Service Revision Revision NBOBHFT SPVUFUSB⒏DUP SFDPSEIJTUPSZPG
• Service • RouteͱConfigurationΛ࡞͢Δ • جຊతʹServiceΛ͏ͱָ • KubernetesͷDeploymentͱ ReplicaSetͷؔ !24
,OBUJWF4FSWJOH͕ఏڙ͢ΔϦιʔε Route Configuration Revision Service Revision Revision NBOBHFT SPVUFUSB⒏DUP SFDPSEIJTUPSZPG
• Blue Green DeploymentͷσϞ • ৽͍͠όʔδϣϯͷΞϓϦέʔγϣϯʹঃʑʹτϥϑΟοΫΛྲྀ͠ ͍ͯ͘ !25 %FNP
εέʔϦϯά
• Knative ServingϦΫΤετΛτϦΨʔͱͯ͠ΞϓϦέʔγϣϯΛ ىಈɾεέʔϧΞτ͢Δ • Pod1͋ͨΓͷෛՙ͕ৗʹҰఆʹͳΔΑ͏ʹPodͷΛ૿ݮ͢Δ • Horizontal Auto Scaling
• ϦΫΤετ͕Ұఆظؒͳ͍߹ɺPodͷΛ0ʹͯ͠Ϧιʔεޮ Λ্͛Δ͜ͱͰ͖Δ !27 ,OBUJWFͷεέʔϦϯάͱԿ͔
!28 ΦʔτεέʔϧͷΈ Istio Route Route Revision Pods Deployment Autoscaler Activator
inactive route active route watch first activate metrics resize create/delete
!29 ༻ޠ Knative Serving Revision ϢʔβʔͷίʔυͱઃఆͷεφοϓγϣοτΛѻ͏ΧελϜϦιʔε Knative Serving Route RevisionͷIstioͷΠϯάϨεϧʔϧΛ௨ͯ͠ΫϥΠΞϯτʹެ։͢ΔΧελϜϦιʔε
Kubernetes Deployment Podͱͯ͠ಈ͘ίϯςφͷϥΠϑαΠΫϧΛཧ͢ΔKubernetesͷϦιʔε Knative Serving Autoscaler Ϣʔβʔͷίʔυ͕ಈ͘PodͷෛՙΛࢹ͢ΔͨΊͷDeploymentɻ PodͷෛՙΛҰఆʹอͭΑ͏ʹϢʔβʔίʔυ༻ͷDeploymentͷαΠζΛ૿ݮ͢Δ Knative Serving Activator KnativeͰϦΫΤετ͕ಧ͍ͨ࣌ɺͦΕΛड͚औΔPod͕ͳ͍Մೳੑ͕͋Δɻ ͦ͏͍͏࣌ʹϦΫΤετΛड͚औΔDeploymentɻPodΛىಈ͠ɺϦΫΤετΛϑΥϫʔυ͢Δ Concurrency ॠؒॠؒͰॲཧ͍ͯ͠ΔϦΫΤετͷ
!30 1PE͕ىಈ͍ͯ͠ͳ͍߹ Istio Route Route Revision Pods Deployment Autoscaler Activator
inactive route active route watch first activate metrics PodͷىಈΛࢹ PodΛىಈ͢Δ create/delete resize
!31 1PE͕ىಈ͍ͯ͠Δ߹ Istio Route Route Revision Pods Deployment Autoscaler Activator
inactive route active route watch first activate metrics Pod͕ىಈ͍ͯ͠Δ߹ɺ ϦΫΤετPod AutoscalerPodͷ ϝτϦοΫΛࢹ create/delete resize
!32 1PEͷෛՙ͕ߴ͗͢Δ͗͢Δ߹ Istio Route Route Revision Pods Deployment Autoscaler Activator
inactive route active route watch first activate create/delete metrics resize
• Fast Brain • Pod1ຖͷಉ࣌ཁٻͷਫ४Λҡ࣋͢Δ • ྫɿPod1͕1ඵ͋ͨΓ100ϦΫΤετΛॲཧ͢ΔΑ͏Λ૿ݮ • Slow Brain
• Fast BrainͰ͏ਫ४ΛCPUϝϞϦɺϨΠςϯγͳͲͷ౷ܭʹج͍ͮͯ ఏҊ͢Δ • v0.1.1Ͱະ࣮ʢϋʔυίʔυ͞Ε͍ͯΔʣ !33 "VUPTDBMFSͭͷΛ࣋ͭ
ཧղΛਂΊΔ
Ϧιʔεͱ͔εέʔϧͷΈͱ͔ ݟͤΒΕ͚ͨͲɺ݁ہͲ͏͍͏ͷ ͳͷ
• ॏཁͳͷϦΫΤετͰۦಈ͢Δɺͱ͍͏ • ίϯςφͰநԽ͢ΕͲͪΒಉ͡Α͏ʹۦಈͰ͖Δ • ΞϓϦέʔγϣϯͷ߹ىಈޙϓϩηε͕ಈ͖ଓ͚Δ • ΞΫηε͕ͳ͚ΕϓϩηεΛऴྃ • ϑΝϯΫγϣϯϦΫΤετͰۦಈɺ࣮ߦޙऴྃ
• => FaaS༝དྷͷΠϕϯτۦಈOK !36 ,OBUJWFΞϓϦέʔγϣϯͱϑΝϯΫγϣϯΛ۠ผ͠ͳ͍
ϦΫΤετͰϓϩηε͕ىಈ ΞΠυϧঢ়ଶͳΒϓϩηεΛఀࢭ
͋Εʜʁ͜ͷΈɺ Ͳ͔͜Ͱݟͨ͜ͱ͕͋ΔΑ͏ͳʜʁ
ḪΔ͜ͱલʜ
͏গ͠ḪΖ͏
ḪΔ͜ͱલʜ
'BTU$(*
• CGIɿϦΫΤετຖʹϓϩηεੜɾഁغΛ࣮ߦ • FastCGIɿϦΫΤετຖʹϓϩηεΛੜɺ͍ճ͢͜ͱͰੑೳUpɻΞΠυ ϧঢ়ଶ͕ଓ͍ͨ߹ϓϩηεΛഁغ • KnativeɿॳճϦΫΤετ࣌ʹPodΛੜɺFunctionͰͳ͚Ε͍ճ͢ɻϦ ΫΤετ͕Ұఆظؒಧ͔ͳ͚ΕPodΛऴྃ !43 'BTU$(*
ࣅͨΈͩʂ
• ϓϩΞΫςΟϒੑ • ΞϓϦέʔγϣϯ͕͋Β͔͡Ίىಈ͓ͯ͠Γɺঢ়ଶͷଈ࣌มߋͰ͖ͳ͍͕ߴͳॲཧ͕ Մೳͳੑ࣭ • ىಈͬ͠ͺͳ͠ͳͷͰϦιʔεޮѱ͍ • ࣄલʹαʔόΛىಈͯ͠ΞΫηεʹඋ͑ΔΞϓϩʔν •
ϦΞΫςΟϒੑ • ϦΫΤετʹԠͯ͡ΞϓϦέʔγϣϯΛىಈ͢Δੑ࣭ͷ͜ͱ • ىಈͱఀࢭͷίετ͕͋Δ͕ɺϦιʔεޮΑ͍ • ΞϓϦέʔγϣϯݱ࣮తͳ࣌ؒͰىಈͯ͘͠Δ͜ͱ͕લఏ !45 ϓϩΞΫςΟϒੑͱϦΞΫςΟϒੑ
• ϓϩΞΫςΟϒੑ • ΞϓϦέʔγϣϯ͕͋Β͔͡Ίىಈ͓ͯ͠Γɺঢ়ଶͷଈ࣌มߋͰ͖ͳ͍͕ߴͳॲཧ͕ Մೳͳੑ࣭ • ىಈͬ͠ͺͳ͠ͳͷͰϦιʔεޮѱ͍ • ࣄલʹαʔόΛىಈͯ͠ΞΫηεʹඋ͑ΔΞϓϩʔν •
ϦΞΫςΟϒੑ • ϦΫΤετʹԠͯ͡ΞϓϦέʔγϣϯΛىಈ͢Δੑ࣭ͷ͜ͱ • ΞϓϦέʔγϣϯݱ࣮తͳ࣌ؒͰىಈͯ͘͠Δ͜ͱ͕લఏ • ىಈͱఀࢭͷίετ͕͋Δ͕ɺϦιʔεޮΑ͍ !46 ϓϩΞΫςΟϒੑͱϦΞΫςΟϒੑ •CGIFastCGIɺFaaS͕֘ •FastCGIϦιʔεޮͱੑೳͷཱ྆ͷͨΊҰఆظؒىಈ •FaaSϦΞΫςΟϒੑΛ࣋ͭϓϥοτϑΥʔϜͷҰͭ
• @matsumotoryʹΑΓఏҊ(2017) !47 'BTU$POUBJOFSͱ͍͏ΞʔΩςΫνϟ
• ΠϯελϯεՃॲཧ͕Ͱ͋Δ • ֎෦͔ΒͷఆظతͳࢹΛ༻͍ͨݕͱεέʔϧͩͱཻ͕ૈ͍ • VMͷ߹ɺىಈ͕ಥൃΞΫηεʹؒʹ߹Θͳ͍έʔε͕͋Δ • Ϧιʔεͷར༻ޮͷ͞ • جຊతʹΠϯελϯε͕ىಈɺϦιʔεΛ༗͠ଓ͚Δ
!48 'BTU$POUBJOFSͲͷΑ͏ͳʹର͢ΔఏҊ͔
None
• FastContainerϗεςΟϯάαʔϏεͱ͍͏ྲྀΕͷ্ʹੜ·Εͨߟ ͑ํ • KnativeKubernetesCloud Nativeͱ͍͏ྲྀΕͷ্ʹੜ·Εͨϓ ϩμΫτ • গ͠ҧ͏จ຺͔Βɺಉ͡Α͏ͳͷ͕ొ͖͍ͯͯ͠Δ •
ϦΞΫςΟϒͳϓϥοτϑΥʔϜ͕ࠓޙ૿͑Δʁ !50 ,OBUJWFͱࣅͨΞʔΩςΫνϟଞʹଘࡏ͢Δ
• KnativeԠతʢϦΞΫςΟϒʣʹΞϓϦέʔγϣϯϑΝϯΫγϣϯΛ ىಈ͠ɺෛՙʹԠͯࣗ͡ಈ૿ݮ͢Δ • ΞϓϦέʔγϣϯɺϑΝϯΫγϣϯΛΘͣϦΞΫςΟϒͳΈ͕ࠓޙ૿ ͑ͯ͘ΔͷͰͳ͍͔ʢAmazon Aurora Serverlessʣ • CGI࣌HTTPϦΫΤετ͚͕ͩͩͬͨɺݱ༷ʑͳΠϕϯτʹରͯ͠
ԠతʹॲཧΛߦ͍ͬͯ͘ʢEventingͷൣғͳͷͰׂѪʣ !51 ΞʔΩςΫνϟ·ͱΊ
ϖϧιφ
• αʔϏεΛσβΠϯ͢Δࡍɺλʔήοτͱͯ͠ఆ͢ΔՍۭ ͷϢʔβʔ૾ͷ͜ͱ • KnativeͷλʔήοτͱͳΔϢʔβʔͲ͏͍͏ਓ͔ʁͲ͏͍͏ తϞνϕʔγϣϯΛ͍࣋ͬͯΔͷ͔ • ͜͏͍͏͜ͱΛܾΊ͓ͯ͘͜ͱͰɺKnativeͷϓϩμΫτͱͯ͠ͷํ ੑ͕ϒϨͳ͍Α͏ʹ͢Δ !53
ϖϧιφʁ
• ར༻ऀͱͯ͠DeveloperͱOperatorͷ2छྨʹΘ͔Ε͍ͯΔ • Developer • Operator !54 ,OBUJWF4FSWJOHͷར༻ऀͲ͏͍͏ϖϧιφ͔
• ΠϯϑϥΛҙࣝͤͣʹεςʔτϨεͳΞϓϦέʔγϣϯΛ։ൃɾ࣮ ߦ͢ΔΤϯδχΞ • HobbyistɺBackend SWEɺFull stack SWEɺSREͳͲ • ϢʔβʔετʔϦʔྫ
• ෳͷίʔυΛσϓϩΠ • มߋͷϩʔϧόοΫ • ΞϓϦέʔγϣϯͷࢹ !55 %FWFMPQFS
• Knative ServingͱKubernetesͷಋೖɾཧ৫ϙϦγʔɺηΩϡ ϦςΟύονͷద༻ʹϑΥʔΧε • HobbyistɺCluster administratorɺSecurity EngineerͳͲ • ϢʔβʔετʔϦʔ
• Knative ServingΫϥελʔΛ࡞͢Δ • Ϧιʔεར༻ʹ੍͍ͭͯޚͨ͠Γ՝ۚ͢Δ • ΞϓϦέʔγϣϯͷࠪύονద༻ !56 0QFSBUPS
• ยํͷࢹ͕͚͍ܽͯΔͱɺยํʹෛՙ͕͔͔Δ • ΞϓϦέʔγϣϯ։ൃऀշదʹ։ൃʹઐ೦Ͱ͖Δ • ϓϥοτϑΥʔϜͷӡ༻ଆϓϥοτϑΥʔϜʹઐ೦Ͱ͖Δ !57 ྆ํͷࢹΛҙ͍ࣝͯ͠Δͷ҆৺ײ͕͋Δ
·ͱΊ
• Knative ServingͷΰʔϧɺPaaS/FaaSͷ֓೦ΛؚΉαʔόʔϨε ϫʔΫϩʔυͷͨΊͷAPIͱπʔϧΛఏڙ͢Δ͜ͱ • 20189݄࣌ͰΞʔΩςΫνϟͱAPIͷΈఏڙ͞Ε͍ͯΔঢ় گɻʢ·ͩެࣜͰͳ͍͕ʣCLIπʔϧ͕ొ࢝͠Ί͍ͯΔ • IaaSɺCaaSɺPaaSͱ͍ͬͨج൫ٕज़ͷԆઢ্ʹ͋ΔϓϩμΫτ ͰɺKnativeͰͳ͍͍͕ͯ͘ߟ͑ํ͓ͬͯ͘ͱΑ͍ͱࢥ͏
!59 ·ͱΊ
We are hiring! Senior Software Engineer Software Engineer (Site Reliability)
Senior Software Engineer (Site Reliability)