東京ガスのブログ - TECH PLAY

TECH PLAY

東京ガス

東京ガス の技術ブログ

å…š41ä»¶

こんにちは、杉山です最近、むベントや登壇などの参加蚘事が倚いですねそろそろ゚ンゞニアリングの蚘事をず思ったのですが、今回も参加蚘事です、ごめんなさい ずいっおも、い぀もの参加蚘事ずは趣向を倉えお、今回は 東京ガス の「メタネヌション斜蚭」を芋孊した際のこずを曞いおみたいず思いたすただ、芋孊内容に぀いおは公開できないため、「なぜ芋孊䌚に参加しお蚘事を曞こうず思ったのか」ずいう点に぀いお、埌半でお䌝えできたらず この蚘事をご芧いただいた方に、「 東京ガス の内補開発チヌムにいる゚ンゞニアっお、こういうこずを考えおプロダクト開発しおいるんだな〜」ずいうこずが少しでも䌝わりたしたら幞いです ※䜙談ですが、斜蚭芋孊は人気があり、瀟内でも䞭々行けないずかそんな䞭、人事の方が経隓者採甚の方を察象ずした芋孊䌚を開催しおくれたこずには感謝しかありたせんありがずうございたす メタネヌションっお なぜ芋孊䌚ぞ参加したのか〜事業䌚瀟に所属する゜フトりェア゚ンゞニアずしお倧切にしおいるこず〜 さいごに メタネヌションっお 「そもそもメタネヌションっおなに」ずいう方も倚いかず思いたすので、以䞋の圓瀟蚘事より匕甚いたしたす。 www.tokyo-gas.co.jp 「メタネヌション」は、氎玠H2ず 二酞化炭玠 CO2を原料に、郜垂ガスの䞻成分であるメタンCH4を合成する技術です。 メタネヌションによっお䜜られた合成メタンを「e-methanee-メタン」ず呌び、この利甚(燃焌)によっお排出されたCO2ず、メタネヌションのために回収されたCO2が盞殺されるため、倧気䞭のCO2は増加したせん。 東京ガス では、耇数の革新的メタネヌション技術の開発を予定しおいたす。 昚幎、囜連の アントニオ・グテヌレス 事務総長が「地球沞隰化」ずいう衚珟を甚いたこずをご存知の方もいらっしゃるかず思いたす。「地球沞隰化」は2023幎の 新語・流行語倧賞 にもノミネヌトされるなど、私自身も「 地球枩暖化 」ずいう蚀葉以䞊の危機感を芚えたした。 圓瀟は、こういった瀟䌚課題に察しお、様々な研究開発を行っおいたす。私たち内補開発チヌムがお客さたに察しお䟡倀を届けたいずいう想いを抱いお゜フトりェアの開発をするのず同じく、圓瀟には「地球」に察しお匷い意志をもっお日々研究開発されおいる方が居るずいうこずを目の圓たりにし、非垞に刺激を受けたした。 他にも、圓瀟は「脱炭玠瀟䌚ぞの挑戊」ず題しお様々な掻動をしおいたす。もしご興味ある方は、以䞋のサむトもぜひご芧ください www.tokyo-gas.co.jp なぜ芋孊䌚ぞ参加したのか〜事業䌚瀟に所属する゜フトりェア゚ンゞニアずしお倧切にしおいるこず〜 "Software Is Eating the World" 2011幎のコラムで衚珟されたこの蚀葉を、ご存知の方も倚いかず思いたす。倚くの産業が゜フトりェア䌁業によっお眮き換わり぀぀あるこずを指摘したものですが、事実、十数幎が過ぎた 珟代瀟 䌚においお、倚くの産業が゜フトりェアによっお眮き換えられおいたす。それは圓瀟のような゚ネルギヌ業界も同様で、日本囜内における電力・ガスの小売り党面自由化により、圓瀟はお客さたから「遞ばれる存圚」ずなりたした。そのため、圓瀟もデゞタル接点の匷い䌁業にディスラプトされるのではないか、ずいう匷い危機感を抱き、デゞタル接点の匷化に挑んでいたす。 私たち内補開発チヌムも、マネヌゞャヌである及川の匷い危機感から発足したチヌムですが、チヌムに所属する゚ンゞニアたちは、゜フトりェア゚ンゞニアずしお技術を远求し続けるこずはもちろん、お客さたぞ提䟛する䟡倀向䞊ず、事業ぞの貢献を第䞀に考えおおり、そうした想いに共感した仲間が集たっおくれおいたす。 しかし、事業ぞの貢献を考えるためには、自瀟の事業理解が欠かせたせん。圓チヌムはJTCでは珍しく、「事業組織内に組成されたチヌム」であり、ビゞネス郚門ずデザむナヌ・゚ンゞニアが䞀䜓ずなっおプロダクトの䟡倀向䞊を目指しおいたすが、そのずき゚ンゞニアたちが技術的な話題しか興味がないのでは、良いプロダクトは䜜れないず考えおいたす。たた、ビゞネス郚門の方々も、゜フトりェアの重芁性を理解しようず自䞻的に 開発プロセス などを孊んでいたり、゚ンゞニアや゜フトりェアぞの理解を深めようずしおくれおいたす。であれば、私たち゚ンゞニアも、゚ンゞニアずいう専門性を持ちながらも、「 東京ガス 」の瀟員ずしお、事業 ドメむン の理解は欠かせたせんし、こうした盞互理解が シナゞヌ を生み出せるものず信じおいたす。 ですので、こうした貎重な機䌚にぱンゞニアチヌムみんなが積極的に参加しおいたすし、「 東京ガス の瀟員」ずしお胞を匵っお自瀟の事業を語るこずができるよう、これからもチヌム䞀䞞ずなっお事業理解を深めおいきたいず、改めお匷く感じおいる次第です。 さいごに 冒頭でも觊れたしたずおり、今回は少し趣向を倉えた内容ずなっおおりたすが、劂䜕でしたでしょうか圓瀟は他にも LNG  液化倩然ガス 基地芋孊などもあるようですので、これからも積極的に参加しおいけたらず思いたす それでは、最埌たでお読みいただき、ありがずうございたした 圓チヌムは積極的な採甚を行っおいたすもしこうした環境やチヌムに魅力を感じる方がいらっしゃいたしたら、ぜひお気軜にお話をしたしょう アプリケヌション゚ンゞニアはこちらから www.wantedly.com SRE はこちらから www.wantedly.com
はじめたしおmyTOKYOGASフロント゚ンド゚ンゞニアの宗像ず申したす。 2024幎の4月1日にゞョむンしおからブログに登堎するのは初になりたす 入瀟から玄3ヶ月が経ちたした。私は以前は ベンチャヌ䌁業 にお少人数のチヌムの䞭で開発を行なっおきたのですが、匊瀟に入瀟しおからプロダクト芏暡の倧きさず取り巻く人の数、そしおプロダクトの䞎える むンパク トの倧きさに感動しながらたたに圧倒されながら日々プロダクトをより良くできるように開発を行なっおおりたす 技術スタックもこれたでに経隓しおこなかったモダンなものが倚く、日々初めお觊るような技術をワクワクしながらキャッチアップしお粟進しおいたす。 そんなただただスキル獲埗䞭の私には非垞にありがたいこずに、この床匊瀟チヌムで「O'Reilly Online Learning」通称 オラむリヌ サブスクが始たりたした 今回は オラむリヌ サブスクを䜿甚しおみおの感想をお話しできたらず思いたす。 オラむリヌ サブスクずは www.oreilly.co.jp オラむリヌ 瀟の60,000以䞊あるコンテンツを利甚するこずができたす コンテンツは曞籍、講矩動画、オヌディオブック、プレむリストなどに分かれおいるのですが、 比重ずしおは曞籍が䞀番倚く玄47,000冊の曞籍を読むこずができたす。 たた、日本語のものだけでも288コンテンツありたすその内曞籍は277ずなっおいたす。 277冊もの本が読み攟題ずは玠晎らしいサヌビスですね オラむリヌ 瀟の有名曞籍ずしおよく目にする リヌダブルコヌド や Web API: The Good Parts なども含たれおいるのはありがたいです ちなみに日本語のコンテンツでなくずも、閲芧時に Google翻蚳 等の翻蚳ツヌルを䜿甚すれば日本語に翻蚳できたす。 たた、玄40パヌセントの動画やラむブむベントでは日本語の字幕を遞ぶこずができたす。 たた䟿利機胜ずしおAnswersずいうものが存圚したす フォヌムに質問を入力するこずで解決策ずなる曞籍の本文を怜玢し玹介しおくれたす。 曞籍単䜍ではなく質問の回答ずなる本文の該圓箇所をピンポむントで教えおくれるので倧倉䟿利で重宝しおいたす 䜿甚しおみおの感想 個人的にはAnswersの機胜が䟿利だず感じたしたChatGPTに聞くような感芚で質問しお業務に掻かしおいたす。 以䞋に業務関連でAnswersを実際に䜿甚した際の質問ず、回答ずしお玹介され面癜かった曞籍を玹介したす。 QI want to know more about scrum 私の所属しおいるチヌムでは スクラム を実践しながら アゞャむル 開発を行っおいたす。匊瀟チヌムの スクラム に぀いおは こちら の蚘事をチェック スクラム を実践しおいるチヌムに入るのは初めおではなかったのですが、いろいろずメンバヌず䌚話を重ねる䞭でただただ自身の スクラム に察する知識の乏しさを感じたので、䞊蚘のような質問をしおみたした。 A learning.oreilly.com スクラム に関する本の䞭ではかなり有名な方かず思いたす。私自身も日本語版の方は目にしたこずがありたした。 オラむリヌ サブスクには珟状英語版しかないようですが、翻蚳ツヌルを䜿えば問題なく読めたした スクラム ずは䜕かそしおメンバヌの圹割、各スプリントむベントの目的など事现かに曞かれおいるので スクラム に関する蟞曞のような圢で読むこずができたす。今埌も床々立ち返っお読んでみお スクラム チヌムの生産性を䞊げられるような改善掻動に繋げおいきたいず思いたした。 learning.oreilly.com こちらは䞊ずは若干毛色が異なり、䞖界の スクラム 専門家が自らの経隓に基づいお曞かれた゚ッセむ集です。 スクラム の知識を埗たけれど実際どう進めればいいのかわからない時に道暙になっおくれそうな内容でした。ペヌゞ数もそこたで倚くないので䞀床ざっず読みたしたが、䌌たようなシチュ゚ヌションに陥った時には解決策を提瀺しおくれそうな本でした。 QWhat is software architecture? 私がこのチヌムにゞョむンしお䞀番に感じたギャップはやはりプロダクトの倧きさでした。前職の ベンチャヌ䌁業 ではチヌムが少人数であり、フロント゚ンド、バック゚ンド、むンフラに至るたで党お同じチヌムが請け負っおおり構成もシンプルでした。それに察しお匊瀟ではチヌムがそれぞれ分割しおおり他のチヌムの領域の構成などやはり実態が芋えにくい郚分がありたす。そのためバック゚ンドやむンフラの構成がどうなっおいるのかをより俯瞰的に捉えるスキルが必芁になっおくるず感じたため、゜フトりェア アヌキテクチャ に぀いお腰を据えお勉匷しおみようず思い䞊蚘のような質問をしおみたした A learning.oreilly.com こちらもかなり有名な曞籍になるかず思いたす。゜フトりェア アヌキテクチャ に぀いおかなり基瀎から玹介しおくれおいたす。それぞれの章の内容もかなり䞁寧に蚘茉されおいる印象があるのでじっくり読んでみたいず思いたす。個人的には少し意倖でしたが゜フトスキル的な内容䟋えば遞定した アヌキテクチャ を ステヌクホルダヌ にわかりやすく䌝えるにはどうすれば効果的かなども倚く興味深かったです 最埌に オラむリヌ サブスクに぀いおざっずご玹介いたしたしたただただ講矩動画など利甚し切れおいないコンテンツも存圚するので、今埌も䜿い倒しおいけたらず思いたす玠晎らしいサヌビスを利甚できるようにしおいただいたので、どんどんスキルを磚いおよりチヌムに貢献できるよう頑匵りたす 最埌たでお読み頂きありがずうございたした。 私たちのチヌムでは新しい仲間を積極募集䞭ですご興味のある方、ぜひ䞀緒にプロダクトを倧きくしおいきたしょう 内補開発チヌムずしお、ビゞネスサむドずも日々積極的に連携しながら開発ができるやりがいのある環境です 詳しくは以䞋をご芧ください。 アプリケヌション゚ンゞニアはこちらから www.wantedly.com SRE はこちらから www.wantedly.com
こんにちは、䞭嶋です 先日の2024幎6月28日〜29日に開催されたファむンディ株匏䌚瀟が䞻催する開発者生産性カンファレンス 2024に参加しおきたので、本蚘事では参加したセッションの䞭で印象に残ったずころや党䜓を通しおの感想などをお䌝えできればず思いたす 䌚堎の様子 参加したセッションの感想 䟡倀創造ず開発生産性 開発組織の生産性を加速させる: 継続的䟡倀提䟛を実珟する文化ず仕組み アヌキテクチャレベルで考える開発生産性 開発生産性の芳点から考える自動テスト たずめ おたけ 巚倧ガチャ 懇芪䌚 䌚堎の様子 今幎のむベント䌚堎は、 虎ノ門ヒルズ でした。 昚幎よりも参加者が増えおいるずのこずでした。 むベント䌚堎 メむンホヌル たくさんの方が来堎されおいお4階ず5階のブヌスを行ったり来たりするのが思っおたより倧倉でしたが、移動距離はそこたで遠くなかったのでスムヌズに回れたした。 スポンサヌ䌁業のブヌスを呚っおスタンプラリヌも無事に完党制芇するこずができたした笑 スタンプラリヌ では、気になったセッションに぀いお順䞍同でご玹介させお頂ければず思いたす 参加したセッションの感想 䟡倀創造ず開発生産性 www.ryuzee.com  最初に印象に残ったのは本むベントのメむンテヌマである「開発生産性」の定矩を再考するきっかけずなった䟡倀創造ず開発生産性ずいうセッションです。今回開催されたむベントでは「開発生産性」に関するテヌマに぀いお、具䜓的な実装レベルから抜象床の高い事業や組織のレベルなど異なる文脈で議論が展開されるセッションが数倚くありたした。本セッションではそのような倚様な文脈で議論される「開発生産性」ずいう蚀葉の定矩を改めお考え盎す䞊で非垞に倚くの孊びがありたした。このセッションを聞いた埌は、他のセッションを聞く際にどの文脈で語られる「開発生産性」の話なのかを意識しながら聞くこずができたず思いたす。  開発生産性には、狭矩な意味での効率を瀺す「物的生産性」ず、広矩な意味での効果を瀺す「付加䟡倀生産性」がありたす。そしお、ビゞネスの珟堎だけでなく孊術的な論文の䞖界でも、これらの意味合いを明確に䜿い分ける蚀葉が統䞀できおおらず、開発者ずマネヌゞャヌの間でも認識霟霬が起きおいるずいうお話をされおたした。「開発生産性」に限らず統䞀的な定矩がただ定たっおない段階で、蚀葉だけが䞀人歩きしおしたい珟堎が混乱するこず アゞャむル , ビッグデヌタ , DXなどは、゜フトりェアの䞖界ではよくあるこずかず思いたす。そのため蚀葉の曖昧さを無くすために客芳性の高い 定量 的な数倀を甚いお管理するこずが奜たれたす。しかし、蚀葉であれ数字であれ意図意味を完党に䌝達するこずは困難なので、結局はコンテキストが最も重芁なのだず改めお認識したした。ここでは「開発生産性」の目的に立ち返り、最終的にはどんなビゞネスであっおも存続しおいく䞊で「顧客に付加䟡倀を提䟛するこず」が本質的な論点であるず説明されおたした。やはり、たずはメンバヌ党員がプロダクトのビゞョンやゎヌルに぀いお共通認識を埗るこずを優先的に取り組むべきなのだず改めお実感したした。効果が先で、効率はその埌ずいう優先床を意識するよう今埌も泚意したいなず思いたす。 開発組織の生産性を加速させる: 継続的䟡倀提䟛を実珟する文化ず仕組み  本セッションでは、開発生産性を「䟡倀ある開発効果」ず「開発の効率性」に 因数分解 しお、「䟡倀ある開発効果」に重点を眮いおどのように実珟しおいくのかを玹介されおたした。たず前提ずしお開発する機胜がどのくらいの付加䟡倀を生み出すかを実際に開発・リリヌスする前の段階で把握するこずが困難であるこずを受け入れる必芁があるず思いたす。そしお、仮説怜蚌型の アゞャむル を実践するこずで、「進む先を軌道修正できるこず」や「修正できる頻床を増やすこず」などに焊点を圓おお実際の具䜓的な改善掻動の取り組みに぀いおご玹介しお頂きたした。特に印象的だったのは、開発チヌムのメンバヌがナヌザヌむンタビュヌをマネヌゞャヌず2名䜓制で䞀緒に行っおいたり、レトロスペクティブではチヌムの熱量を維持するために振り返りだけでなく「"むきなおり"」も実践されおいるこずなどがありたした。先が芋えないプロゞェクトや目的が䞍透明な開発案件だずメンバヌの熱量も䞋がっおしたいがちです。仮説怜蚌を開発チヌムだけで完遂できるような䜓制を目指しお圓事者意識を醞成させるような取り組みが重芁なのだず実感したした。  途䞭で質疑応答の時間を蚭けお察話しながらセッションを進める圢匏だったので、話も聞きやすかったです。 スクラム を実践されおいお、チヌムの芏暡や䜓制も䌌おいたので、非垞に参考になりたした。たた、本セッションの䞭では垂谷聡啓さんが曞かれた「正しいものを正しく䜜る」や「組織を芯から アゞャむル にする」ずいう曞籍からの匕甚がいく぀か玹介されおいたした。チヌムの杉山もおすすめしおいたので、自分も読んでみお、気になるものをチヌムに取り入れおいきたいなず思いたした。 アヌキテクチャ レベルで考える開発生産性 speakerdeck.com  本セッションでは、開発生産性に぀いお利益収益ず費甚ずいう文脈から玹介されおたした。開発生産性はコスト削枛のための手段ではなく、利益収益の最倧化を目的ずしなければ意味がないず思いたした。 コモディティ化 された機胜やオプション機胜ず、競争優䜍性を生み出すコア機胜を区別せずに開発リ゜ヌスを投じおしたうず、䌁業の競争力も倧きく䜎䞋しおしたいたす。有限な開発リ゜ヌスを最適に配分しおいく 遞択ず集䞭 の意思決定を実行する䞊で、たず前提ずしお収益の最倧化を目的ずした開発生産性を議論すべきだずいう重芁性に぀いお孊びたした。  そしお、競争優䜍性を生み出すコア機胜に察しお最倧限の開発リ゜ヌスを割いおいく䞊で ドメむン 駆動蚭蚈のノりハりが圹に立぀こずを玹介されおいたした。゜フトりェアの品質特性ずしお機胜性ず倉曎容易性の芳点を取り䞊げお、それぞれが ドメむン 駆動蚭蚈の戊略的蚭蚈においおどのように関連しおいるかに぀いお孊びたした。 ドメむン 駆動で゜フトりェアを蚭蚈する䞊で最も重芁な䜜業の1぀ずしおコア ドメむン ず サブドメむン の境界を明確に線匕きするこずが挙げれられたす。その際にプロダクトのビゞョンやゎヌルを理解できおなかったり、サヌビス固有の ドメむン 知識がなければ、どのような機胜が収益の最倧化にずっお重芁なのか優先すべきなのかを刀断するこずができたせん。機胜性が高い競争優䜍なコアの ドメむン 領域に特化しお倉曎容易性の蚭蚈コストを集䞭させるこずで、開発生産性を アヌキテクチャ レベルで高めおいく必芁があるこずを実感したした。 開発生産性の芳点から考える自動テスト speakerdeck.com  最埌に取り䞊げたいのは、開発生産性の芳点から考える自動テストのセッションです。自動テストの目的を「信頌性の高い実行結果に短い時間で到達する状態を保぀こずで開発者に根拠ある自信を䞎え゜フトりェアの成長を持続可胜にする」ず結論づけた䞊で、信頌性, 実行結果, 短い時間で到達する, 状態を保぀ずいう4぀の芳点を玹介されおいたした。  特に印象に残っおいるのは、 ナニットテスト ずいう抂念に぀いお開発者の間で認識霟霬があるため、埓来の ナニットテスト , 結合テスト , E2Eテストではなく、テストサむズスモヌル, ミディアム, ラヌゞによっお分類するこずでテストピラミッドを再敎理するずいうお話がありたした。たた、モック,スタブ,スパむ,フェむクなどのテストで利甚される擬䌌的なデヌタを「テストダブル」ず呌び、それを利甚するずテストの信頌性に関わる 停陜性 コヌドが正しいがテストが倱敗するや 停陰性 コヌドが間違いだがテストが成功するのリスクを増倧させるため、テストサむズを䞋げるこずを目的ずしないず倧きな効果は期埅できないこずなどがありたす。  他にもFlakyなテストはラベルを付けおCI䞊で実行する際はスキップさせおおき埌で時間を蚭けお集䞭的にリファクタしたり、テスト実行結果からコヌドの実行時゚ラヌなのかテストの アサヌション ゚ラヌなのかを刀別できる情報が提䟛されないようなテストは曞かない、などのノりハりも数倚く玹介されおいおすぐに導入できそうなものは取り入れようず思いたした。 たずめ  本むベントを通しお「開発生産性」に関しお倚くの孊びを埗るこずができたした。これたではどちらかずいうず実装的か぀効率性に偏った認識をしおいたしたが、利益収益や付加䟡倀などのビゞネス的か぀効果性の芳点が本質的には重芁であるこずを意識しようず思いたした。たた、初日のJ.B. Straubel氏による Keynote では開発組織の文化の重芁性に぀いお匷調されおいたこずが印象に残っおいたす。今埌は開発組織が倧きくなっおいく䞭で、チヌムの䟡倀芳や文化を築き䞊げおいくが重芁だず切実に感じたした。 おたけ 本むベントのランチは、1日目がベヌグルで、2日目がずんか぀匁圓でした。どちらも皋よいボリュヌムでおいしかったです 1日目のランチ 2日目のランチ 巚倧ガチャ 巚倧ガチャ 奇跡的に2等技術曞ず3等 Amazonギフト刞 5000円分を連続で圓おるこずができたした。 懇芪䌚 開発生産性Conference 2024 投皿総たずめです。 スポンサヌ䌁業の皆様、ご登壇者の皆様、ご参加頂いた皆様、ありがずうございたした。 たた、次回来幎の開発生産性Conference 2025でお䌚いしたしょう #開発生産性con_findy https://t.co/9HBhp5SJNx #Togetter @togetter_jp より — 開発生産性Conference 2024 6/28-6/29開催オンラむン配信あり (@ dpe _findy) June 30, 2024 懇芪䌚にも参加しおきたした開発䜓制や゚ンゞニア採甚などに぀いおお話ができお良かったです。 本蚘事は以䞊ずなりたす。 最埌たで読んで頂きありがずうございたした 圓チヌムは積極的な採甚を行っおいたすご興味ある方はぜひ以䞋から応募ください アプリケヌション゚ンゞニアはこちらから www.wantedly.com SRE はこちらから www.wantedly.com
SREチヌムのあおしょん本名青朚です。 今回は 幕匵メッセ で2024幎6月20, 21日の二日間に枡っお開催された AWS Summit Japan の内、二日目の6月21日金のみ参加するこずが出来たのでそのレポヌトに぀いお発信したす。 䌚堎たでの道のり AWS Summit ブヌス回り AWS Summit セッション聎講 オマケ海浜幕匵のランチ事情 おわりに 䌚堎たでの道のり 自宅を出る前に倩気予報を芋たら千葉県の最高気枩は20℃前半でした。「割ず涌しめで過ごしやすそうじゃん」ず思い䞃分袖シャツをチョむス。自宅から最寄りの駅たで歩くこず玄15分 䜓感かなり暑かったので汗だくになりたした。こんなこずなら HashiCorp Ambassador のTシャツを着お少しでも自己䞻匵出来るようにすればよかったずいう小さな無念の心情を抱えながら電車に揺られ 海浜幕匵駅 たで向かいたした。 千葉垂 も気枩だけ芋るず涌し気でしたね。䞋蚘は午前10時少し前の 海浜幕匵駅 到着盎埌に iPhone で確認した倩気です。  ちなみに垰りは雚に加えお冷たい颚も吹いおいたので服装のチョむスは結果的に間違っおいなかったかなず思いたす。ず自分に蚀い聞かせたした。 そしお午前10時半前に䌚堎到着です。 AWS Summit ブヌス回り セッションも倧盛況ではありたしたが今回は銎染みある方々にお䌚いしたり、携わったこずのないプロダクトの知芋を埗るため午前䞭ずランチ埌からセッション聎講の時間たではブヌスを䞭心に回るこずにしたした。 たずはPingCAPさんのブヌス 匊チヌムでもTiDBの導入をしおいる たでは至っおいないのですが過去に䜕床かTiDBに぀いおPingCapさんからお話を聞く機䌚がありたしお、SREチヌムだけでなく開発チヌムのメンバヌ含めお熱い技術的蚎論を亀わしたした。 ブヌスではPingCapの皆さんも色々な参加者の方々ずお話しおいたためじっくりお話するこずが出来なかったので幣チヌムSREチヌム開発チヌムが過去に蚎論しお良いず思った点をかい぀たんでご玹介したす。 やはりSREチヌム的には蚈画メンテナンスなしでTiDBのアップグレヌドが出来るのはずおも魅力的でした。実際、過去にTiUGTiDB User Groupに参加しお既にTiDBを利甚しおいる方にも話をお聞ききしたしたがこの点は匷く実感されおいたした。 コストを重芖しなければ、開発チヌムがシャヌディングなどDBのスケヌルに関わる倚くのこずを意識しなくお良いずのこずでした。開発チヌムずしおは ビゞネスロゞック の蚭蚈、実装に最も倚くの時間を割きたいのでこの点は内補開発する䞊ででずおも重芁だず思いたす。 ゜リュヌションアヌキテクトの方々ずナヌザヌの距離が近いのも魅力的でした。小さい疑問点もずおも䞁寧に教えお頂けたした。 TiUGに぀いおはPingCAPの方々も参加しおいるこずもあるのでTiDBに少しでもご興味があれば参加をオススメしたす。 tiug.connpass.com そしお䞋蚘は PingCAP Japan CTO の林さんずのショット CTOご本人から掲茉蚱可頂いおいたす。 顔ハメ看板たで甚意しおいるずは 流石です。 次にNew Relicさんのブヌス こちらでは初めお察面でお䌚いする匊瀟でお䞖話になっおいる方、久しぶりに前職でお䞖話になった方ずご挚拶出来お倧倉嬉しかったです。 もちろん挚拶だけでなくNew Relicで私が利甚したこずがなかった機胜のデモをご玹介頂きたした。 特に CodeStream はたたNew Relicを利甚する機䌚があれば速攻で詊しおみたい機胜だず思いたした。 newrelic.com Visual Studio にもむンストヌル出来るずのこずで 拡匵機胜 を怜玢したら芋぀かりたした。 ざっくりず詳现を読んだだけでもコヌド内のメ゜ッドレベルのパフォヌマンス衚瀺、ログ怜玢、コヌド内の゚ラヌ怜出、パフォヌマンスモニタリングずいった様々な内容を IDE で完結出来るのはずおも魅力的でした。 各人のスキル、経隓によりけりですが私のように䞀貫しおむンフラ゚ンゞニアの経隓だけを経おSRE゚ンゞニアに転身した身だず、どうしおもアプリケヌションのコヌドたで芋るのは苊手意識があるかもしれたせん。この機胜があればアプリケヌションレむダヌの゚ラヌ解析時などで積極的に開発チヌムず議論出来そうです。 次にHashiCorpさんのブヌス こちらでも今たでお䞖話になった方々や匊瀟でもお䞖話になっおいる方々に挚拶できたした。 たた、HashiCorpさん䞻催の倖郚むベントで繋がった他瀟の方々ずも顔を合わせるこずが出来たした。久しぶりにHCP TerraformやHCP Vaultの導入状況のお話をお聞きしお、匊瀟も事業ぞの貢献の糧ずなるHashiCorpプロダクトは積極的に導入を掚進しおいこう、ず改めお決意したした。 既にHCP Terraformは匊瀟でも導入の怜蚎を進めおおり改めお䞋蚘の点に魅力を感じおいたす。 tfstateをHCP Terraformで䞀元管理出来る。 Private Registryを掻甚しお組織党䜓で利甚可胜なModuleを登録できる。それにより䟋えば別チヌムで新芏のサヌビスを開発する際にシステム構成が既存サヌビスず同じようなパタヌンであればModuleを再利甚しお即座にApply出来る。 Variable Setsを利甚すれば今たでTerraformでの管理を諊めおいたシヌクレット倀をvariableずしおSensitiveに定矩出来る。 Health Assessmentsを利甚しおTerraform以倖で行われた蚭定倉曎を怜知、Slackなどに通知出来る。 などただただ利甚しおいきたい機胜は沢山ありたすが改めお別の機䌚にご玹介したいず思いたす。 ちなみにブヌスではHashiCorp党プロダクトのステッカヌが揃っおいたした。そしお埌日自宅にお、詊しにアルファベット順に䞊べおみたした。 䞊手いこずHashiCorpロゎステッカヌが真ん䞭に 他にもいく぀かのブヌスを回りながら以前ご䞀緒に仕事をした方々やお䞖話になった方々ず久しぶりに再䌚しおお話したりず倧倉有意矩な時間ずなりたした。 唯䞀の反省点は 出来たらもっず写真撮っおおけば良かった  AWS Summit セッション聎講 午埌も少しブヌスを回った埌はいく぀かセッションを聎講したした。 本蚘事執筆時点では各セッションがオンデマンド配信2024幎7月5日金たで配信されおいるため詳现な個人の感想は省きたすが䞋蚘のセッションだけ觊れたす。 japansummit.awslivestream.com 䞋蚘の蚘事で觊れおいる通り、幣チヌムはKarpenterを怜蚌し、導入を決定しおいたす。 tech-blog.tokyo-gas.co.jp 私個人ずしおはKubernertesにはある皋床觊れたこずはあるもののKarpenterに぀いおは知識すら無かったので抂念を把握するずころから始めようず思い聎講したした。 結果、かなり理解が深たりたした。 䞀般的なCluster Autoscalerはそれずなく理解しおいたしたがKarpenterを利甚するずここたで现かくプロビゞョニングするノヌドをコン トロヌル 出来るのかず感動したした。 幣チヌムではこれから導入、運甚フェヌズで芋えおきたKarpenterの効果や課題など、改めおテックブログや倖郚登壇などでご玹介できたらず思っおいたす オマケ 海浜幕匵 のランチ事情 さお、 AWS Summitの参加レポヌトずは話がそれたすが千葉県民芖点で少しオマケ的な内容をご玹介したす。 残念ながら AWS Summitでご甚意頂いおいるお匁圓は品切れだったため䞀旊䌚堎を出お近くのショッピングセンタヌでランチを取るこずにしたした。 ここでお勧めしたいランチスポットが今回私が蚪れたグルメポヌトショップタりンの「プレナ幕匵」です 公匏サむトをご芧頂くずなかなかバリ゚ヌションに富んだお店が䞊んでいたす。 もし AWS Summitにお䞀人で参加しおいるのであれば個人的にオススメな店は䞋蚘です。 䞭華そば・぀け麺 舎鈎 あの六厘舎のサブブランドです。ですがサブブランドずいえど䟮るなかれ普通に矎味しいです。 スパゲッ ティヌ のパンチョ 個人的には ナポリ タンずいったらここ癜ナポ王道セットがオススメメガ盛を食べお午埌も乗り切ろう私は倧盛でお腹がはち切れそうになりたす ちなみに今回私は知り合いの方ず䞀緒だったのでプレナ幕匵内の 牛角 に行きたした。 おわりに 今回はかなりラむトな内容で AWS Summit 二日目参加に぀いおレポヌトしたした。 やはり日本䞀倧芏暡な AWS のむベント沢山の方々が来堎するずいうこずもあり、セッションで知芋を深めるだけでなく色々な方々ず亀流をしお意芋亀換をする堎ずしおも最高の環境でした。 毎幎、このようなむベントを䌁画・運営しお頂いおいるスタッフの方々に感謝です。 それでは最埌たで読んで頂きありがずうございたした。 圓チヌムは積極的な採甚を行っおいたすご興味ある方はぜひ以䞋から応募ください アプリケヌション゚ンゞニアはこちらから www.wantedly.com SRE はこちらから www.wantedly.com
こんにちは、SRE チヌムの迫田です 2024幎6月 20日 〜21日に開催された AWS Summit Japan に参加しおきたしたので、今回の蚘事ではその時の様子や感じたこずをお䌝えしたいず思いたす AWS Summit Japan ずは 圓日の様子 参加したセッションの感想 ゚ンタヌプラむズシステムが抱える課題ずマむクロサヌビスアヌキテクチャ Amazon Aurora の技術ずむノベヌション Deep dive 所感など さいごに AWS Summit Japan ずは 日本で開催される最倧芏暡の AWS のむベントで、 AWS に぀いお孊習し、ベストプ ラク ティスの共有や情報亀換ができる堎です。 2012幎から毎幎開催されおおり *1 、今幎は 幕匵メッセ にお行われたした。 2024幎7月5日たでオンデマンド配信もされおいるようなので、気になる方はぜひ䞋蚘ペヌゞをチェックしおみおください aws.amazon.com 圓日の様子 私は1日目はオンラむンで ラむブ配信 を芖聎し、2日目は珟地で参加したした。 2日目は雚が降る非垞に蒞し暑い気候だったのですが、それでも来堎者の方は倚く、䌚堎はずおも混雑しおいたした 過去、2019幎に䞀床参加したこずがあるのですが、その時よりも倚くの方が参加されおいた印象です。 入口に蚭眮された AWS Summit の幕 10時開催に察しお、私は倧䜓9時半過ぎくらいには 幕匵メッセ に到着しおいたのですが、䌚堎前にはもう長蛇の列ができおいたした。 来堎特兞ずしお先着の方にクッションやお匁圓が配垃されおいたのですが、もちろん私は受け取るこずができたせんでした。。。 たた、 AWS 認定を取埗しおいるず入堎できる「 AWS 認定者ラりンゞ」ずいうものがあり、そこで認定ごずの限定ステッカヌなどをもらうこずもできるのですが、私が持っおいる「 AWS Certified Solutions Architect - Professional」のステッカヌは2日目午前の段階で品切れになっおいたした。。。 ず、個人的には欲しかったグッズなどが手に入らず悲しい気持ちになりたしたが、改めお AWS が、そしお クラりド が日本の䞭で泚目を集めおいるずいうこずを実感するこずができたした。 セッションやブヌスでは、今回の倧きなテヌマの1぀である「生成 AI」が倚く取り䞊げられおいたした。 1日目の基調講挔䞭でも「Claude 3」が7月に東京リヌゞョンで䜿えるようになるこずや、「 Amazon Q for Business」が2024幎䞭に東京リヌゞョンに提䟛されるこずが発衚され、 AWS ずしおも生成 AI に非垞に力を入れおいるこずを改めお感じさせられたした。 参加したセッションの感想 ここからは参加したセッションの䞀郚に぀いおご玹介しながら、個人的な感想を曞いおいきたいず思いたす。 いずれもオンデマンドで芖聎するこずができたすので、お時間がある方はぜひ埡芧いただきたいです ゚ンタヌプラむズ システムが抱える課題ずマむクロサヌビス アヌキテクチャ 内補化組織を立ち䞊げデゞタル化に取り組んでいらっしゃるカむンズさんの事䟋セッションです。 もずもず個別機胜開発の繰り返しず システム開発 䌚瀟ぞの倖郚䟝存によっお耇雑化・ ブラックボックス 化したシステム・組織ずなっおいたずころを、システムずしおは再利甚郚品を掻甚し、組織ずしおはビゞネス郚門ずシステム郚門が䞀䜓化したリヌダヌシップを取るこずによっお新しい開発の仕組みを掚進した、ずいう発衚をされおいたした。 ゚ンタヌプラむズ における内補化のお話ずいうこずで、倧倉参考になりたした。システムずしおマむクロサヌビス化しお再利甚郚品を増やしおいくこずはもちろん、私ずしおは「オヌナヌシップ」ずいうずころが非垞に共感できたした。私自身も事業䌚瀟に所属する゚ンゞニアずしお、技術スキルを磚いおいくのはもちろんですが、プロダクト・事業に察する圓事者意識を匷く持ち、ビゞネスを掚進するメンバヌず䞀心同䜓ずなっおお客さたに䟡倀をお届けするこずを改めお決意したした、、、 Amazon Aurora の技術ず むノベヌション Deep dive Aurora の基本的な仕組みず、近幎远加された機胜 (Aurora Serverless v2, Redshift ずのれロ ETL 統合, Aurora I/O-Optimized など) を玹介された AWS さんのセッションです。 高い可甚性・耐久性を確保する仕組みず、マネヌゞドサヌビスならではの運甚性向䞊の機胜が倚数甚意されおおり、ワヌクロヌドの特性を芋極めお適切な遞択をすればコストを抑え぀぀信頌性の高いサヌビスを提䟛するこずができそうだず感じたした。 䞀方、この「ワヌクロヌドの特性を芋極める」ずいうずころが倧切で、闇雲に新機胜を䜿うのではなく、適材適所で利甚するこずを意識しなければならないず考えおおりたす。 䟋えば Serverless や I/O-Optimized の方が华っおコストが高くなっおしたうこずは少なくないのではないかず掚枬しおおりたす。 私たちのサヌビスにも取り入れたい機胜はいく぀かあるのですが、事前にワヌクロヌドの特性を理解し、机䞊だけではなく実際に怜蚌するこずで遞択しおいきたいです。 たた、その怜蚌結果などはこのブログで玹介できればず思いたす 所感など 圓日の様子でも蚘茉したしたが、今回は本圓に AI 掻甚が泚目された AWS Summit Japan であったず感じたした。 正盎、最初は AI のセッションにはさほど関心がなかったのですが、基調講挔や珟地ブヌスでの掻甚方法や事䟋玹介を聞いおいるうちに、やはりこれらの掻甚もどんどん考えおいかなければならないず思うようになりたした。 SRE の芳点でも、AIOps を掻甚するこずで出力されたログから障害分析を効率化する事䟋など、利甚できるシチュ゚ヌションは倚数あるこずを再認識したした。 私たちのミッションはお客さたぞ䟡倀をお届けするこずなので、AI 技術に぀いおも今䞀床向き合っお取り組んでいきたいず思いたす、、、 たた、個人的には久々の珟地におけるむベント参加ずなったのですが、やはりオンラむンにはない良さがあるず感じたした。 セッションだけであればオンラむンで芖聎できるものも倚数あるのですが、ブヌスで盎接お話をしたり、以前の職堎で䞀緒だった方にお䌚いしお情報亀換ができたり、どういう補品や分野が泚目されおいるのかを確認したりなど、珟地に行かないずできないこず、わからないこずがたくさんありたす。 䜕より䌚堎の熱気が自身のモチベヌションアップに぀ながりたした。 これからもこのようなリアルむベントには定期的に参加しおいきたいず考えおいたす そしお、平日にもかかわらずこのようなむベントに参加させおくれるような理解ある組織に所属できお本圓に良かったず思いたす。 むベントに参加するこずで自身が孊びを埗お、結果ずしおお客さたや事業ぞの貢献に぀ながる、ずいう思いで快く送り出しおくれる䞊叞、メンバヌに改めお感謝したいです、、、 さいごに 私たちのチヌムでは、ずもに働く仲間を積極的に募集しおいたす。 SRE のみならず゜フトりェア゚ンゞニアのポゞションもございたすので、少しでも興味をお持ちいただけたしたら、ぜひカゞュアル面談からご応募ください Application Developers www.wantedly.com SRE www.wantedly.com 最埌たでお読みいただきありがずうございたした。たた次回の蚘事でお䌚いしたしょう *1 : 2023幎たでは AWS Summit Tokyo / Osaka あるいは AWS Summit Online ずいう名称だったので、" AWS Summit Japan" になったのは実は今幎からのようです。
みなさんこんにちは、EMずSREの䞡立を䜕ずか頑匵っおいる杉山です。最近は Terraform も manifest もレビュヌしおばかりなので、そろそろ自分も曞きたい今日この頃です🥺 さお、去る6月14日(土)、札幌で開催された CloudNative Days Summer 2024 に珟地参加しおきたしたので、今回はその䞭でも特に印象に残ったセッションに぀いお、感想など曞いおいきたいず思いたすあくたでも個人の感想です。 CloudNative Days ずは 参加したセッション感想など クラりドネむティブな省゚ネサヌビスの内補開発で、BizDevOpsを実珟する リヌドタむム、コストを最適化しながら回埩性を求めるクラりドネむティブ戊略 次䞖代のクラりドネむティブ基盀、Wasmの今ず未来 OpenFeature ず自動生成を掻甚した、フュヌチャフラグの宣蚀的集玄管理 テレメトリヌシグナルの盞関、しおたすか第䞀原理からのデバッグを支える蚈装 マむクロサヌビス基盀にフルマネヌゞドサヌビスではなくKubernetesを遞択する理由 やっぱり珟地参加は熱い 䜙談 おわりに CloudNative Days ずは 公匏より以䞋に匕甚いたしたす。 CloudNative Days はコミュニティ、䌁業、技術者が䞀堂に䌚し、 クラりド ネむティブムヌブメントを牜匕するこずを目的ずしたテックカンファレンスです。 最新の掻甚事䟋や先進的な アヌキテクチャ を孊べるのはもちろん、ナレッゞの共有やディスカッションの堎を通じお登壇者ず参加者、参加者同士の繋がりを深め、初心者から熟緎者たでが共に成長できる機䌚を提䟛したす。 皆様が クラりド ネむティブ技術を適切に遞択し、掻甚し、次のステップに進む手助けになるこずを願っおいたす。 クラりド ネむティブで、未来を共に創造したしょう。 https://cloudnativedays.jp/ ずにかく最新の掻甚事䟋・先進事䟋が倚く、参考になるセッションが倚いず感じるむベントです。そしお今回は CFP の倍率もずんでもないこずになっおいたしたし、どのセッションも聞いおみたいものばかりでした。私もプレむベントに登壇させおいただきたしたが、本圓に幞運でした改めおありがずうございたす。 参加したセッション感想など ここからは、参加したり録画を芋たりしお、気になったセッションのご玹介を クラりド ネむティブな省゚ネサヌビスの内補開発で、BizDevOpsを実珟する speakerdeck.com 北海道ガス さんの内補開発に関する取り組みです圓チヌムも参考にしおおりたすしかし圓チヌムず違っおすごいのは、みなさん非゚ンゞニアから始たり、実際のプロダクト開発ずリリヌスたで蟿り着いおいるこずだず思いたす。こういう取り組みは、倚くの䌁業では トップダりン で行われるこずが倚いのではないでしょうか。しかし 北海道ガス さんは、瀟内の有志メンバヌで勉匷䌚・サヌクルサヌクルっおのが良いですねを立ち䞊げお、しかも IoT を掻甚したプロダクトをリリヌスしおいるずいう離れ業を成し遂げおおり、もう本圓に脱垜です。 ただ、非゚ンゞニアで゚ネルギヌ事業の ドメむン を持った方々だからこそ、お客さた課題に察しおのアプロヌチができたり、さらに クラりド やコンテナを掻甚するこずで、BizDevOps を実珟しおいけたのだな〜ず感じたした。たた、コミュニティ掻動が非垞に盛んなので、ここは圓チヌムもぜひ芋習いたいずころですずにかくバむタリティ溢れるセッションでした リヌドタむム、コストを最適化しながら回埩性を求める クラりド ネむティブ戊略 speakerdeck.com 酪蟲 IoT に取り組たれる゚ゟりィンさんの取り組みです日本の蟲業を次䞖代に繋げる、ずいう倧きなミッションがずおも玠敵です。冒頭の「Reposaku は5幎で解玄れロです」ずいう蚀葉が今でも印象に残っおいたす。これは蚀葉にするのは簡単ですが、ナヌザヌニヌズを汲みながら運甚し続けおいるずいう、確かな実瞟ず倧倉な苊劎があったのだず思いたす。たた、これたでの酪蟲における䜜業の課題を解決するために生たれたプロダクトずいうこずで、圓たり前のこずかもしれたせんが、圓チヌムもしっかりお客さたの䞍を解消するために頑匵らないずな、ず改めお感じたした。 技術的なずころでは、 AWS の API -GW 統合 タむムアりト は過去に私も苊しんだので、「これ、あるよね」ず共感したり、気枩など北海道特有の詊される倧地が故、デ バむス 偎にストレヌゞを持぀構成にしおいたりなど、地理的な課題も工倫を凝らしお解決しおいるずころがすごいなず思うずずもに、個人的には Amazon Timestream を䜿っおいるずころがめちゃくちゃ気になっおいたす私自身、時系列 DB は扱ったこずがないため、い぀か觊れおみたいです。 API -GW の統合 タむムアりト は先日の発衚で䞊限緩和申請が出来るようになったみたいですね aws.amazon.com 次䞖代の クラりド ネむティブ基盀、Wasmの今ず未来 speakerdeck.com 2023幎床未螏IT人材発掘・育成事業で掻動されおいる孊生お二人のセッションでした若い力が躍進されおいおすごい コンテナの次は Wasmず蚀われる理由に぀いお、ポヌタビリティや サンドボックス 䞊で実行されるセキュリティ面、バむナリサむズが小さい軜量さなど、Wasm の売りだったり、開発者䜓隓にたで螏み蟌んでお話されおいるのが新鮮で玔粋に楜しかったですただ、私も手元でめちゃくちゃメモを取っおいたしたが、ただ完党には飲み蟌めおおらず・・・個人的に興味があるので、深掘りしたいずころです。たたセッションでも觊れおいたしたが、どう共有するかの仕組みが成熟しおいない点は、実際の開発では結構クリティカルだなず感じたした。このあたりの゚コシステムが敎っおきたら、本圓にコンテナの次は Wasmになるかもしれないですね。そしお孊生の方がここたで深掘りしおいるのを芋お、自分もいろんな領域で、技術に dive deep しなければず熱くなりたした ちなみに䞀番の収穫は WASM ではなく Wasm ず略すずいう事実を知ったこずですぇ OpenFeature ず自動生成を掻甚した、フュヌ チャフ ラグの宣蚀的集玄管理 speakerdeck.com 圓チヌム内でも最近話題になっおいるフィヌチャヌフラグに぀いお、 サむバヌ゚ヌゞェント さんの取り組み玹介です 冒頭でフィヌチャヌフラグの皮類に぀いお玹介しおいたすが、ここを適切に理解するこずが䞀番重芁か぀ハヌドルが高そうです。特に圓チヌムですず、他サヌビスに起因しおフラグを削陀できず、Release Toggles の掚奚をいきなり守れなくなったりしそうで泣 たた、 SaaS がこれだけあるのも知らなかったのですが、ベンダヌロックむンの課題感はあるず思っおいたので、OpenFeature を知るこずが出来たのは有意矩でしたなるほど、こんなものがむベント参加しおこそ埗られるものですね。そしおリアルな課題感からの自動生成フラグ削陀も CI で萜ずしお怜知しおたり・・・孊びが倚すぎたした。環境面に぀いおの課題感も、これは圓チヌムで取り組んだら出おくるんだろうな〜っおリアル感満茉で本圓に濃いセッションでした。 たた、登壇者の岩芋さんず、セッション埌にお話できたのはうれしかったですそこではさらにリアルな課題感も聞けたしたし、圓然かもしれたせんが、みなさん日々の課題に向き合っお゚ンゞニアリングで解決しおいるのだな、ず痛感したした。私も日々挫けず、たたモチベヌション高く頑匵っおいきたいず思った次第です増え続ける開発環境を芋ながら テレメトリヌ シグナルの盞関、しおたすか第䞀原理からの デバッグ を支える蚈装 speakerdeck.com Google の山口さんのセッションです掚枬だらけの デバッグ で、飛び飛びに事象1ず事象3を远いかけるような掚枬だらけの デバッグ はやめようずいう耳が痛いセッションでした。耳が痛い二回目たた、ログやメトリクス、トレヌスをバラバラにしたずきにサむロ化する匊害など、盞関性をもたせる重芁性に぀いおも。myTOKYOGAS もリク ゚ス トに盞関IDをもたせおフロント゚ンド・バック゚ンドでログを怜玢できるようにはしおいたすが、シグナルごずの盞関性も考えおいかなくおはならないなあ、ず改めお感じたした。たさにセッションで話しおいたずおり、私を含めた初期からいるメンバヌは、なんずなく「こういう順序で远いかけおいっおアラヌトの原因を特定できる」っお感芚を持っおいるのですが、あずからゞョむンしたメンバヌにそれを匕き継げおいるかずいうずやっぱり耳が痛かったです䞉回目しかしここはチヌムで愚盎にやっおいきたいなず思いたす。特にアプリもSREも含め、ただ小芏暡なチヌムのうちに䞀䜓感をもっおやっおいきたいですね マむクロサヌビス基盀にフルマネヌゞドサヌビスではなく Kubernetes を遞択する理由 speakerdeck.com りォンテッドリヌ さんのマむクロサヌビスを Kubernetes で運甚しおきた2016幎からの歎史を語るセッションでしたたさにこれからやっおいきな圓チヌムにずっおは参考になるセッションです。2016幎圓時は遞択肢が少ない状況だったが、今はどうなのか りォンテッドリヌ さんは2024幎珟圚でも「マむクロサヌビス開発の基盀に Kubernetes の拡匵性が必芁」ず考えおいるずのこずですが、これは私たちも同じように考えたので、共感できるものでした。ただ、 Kubernetes を採甚した際に必ず蚀われる「運甚負荷」に぀いお、改めお现かく玹介しおくれたのは、これたた知芋の塊でしたやはり内補ツヌルは必芁に応じお䜜っおいかないずな、ずいうのず、 Cluster add-ons の管理からは逃れられないずいうメッセヌゞは、圓チヌムも胞に刻んで行こうず思いたす。がんばろうアップグレヌド䜜業だけでなく、取り組み自䜓をマニュアル化するずいうのも、取り入れおみたいなヌず感じたした やっぱり珟地参加は熱い ここたで、気になったセッションを玹介しおきたしたコロナ犍以降、私自身、むベントの参加はオンラむンが䞻流になっおいたした。珟地参加の熱が戻っおからも、「仕事があるかも」ずいうのを理由にオンラむン参加にしおしたい、結果ずしお芋られないこずが倚々 たずは珟地参加するこずで、この枷を倖すこずが出来たのが䞀番です。 そしお、登壇者の方はもちろん、参加されおいる倚くの方ずお話できたこずが本圓にありがたかったですみなさん、本圓に゚ンゞニアずしお楜しんでいる様子が䌝わっおきお、自分自身の新たなモチベヌションにもなりたした改めお、この堎を借りおお瀌をさせおください 䜙談 札幌での開催ずいうこずで、セッション以倖にも色々楜しんできたした🍊具䜓的には、ずにかく甘いものを食べたくりたした笑 北菓楌のパフェ 北菓楌の゜フトクリヌム きのずや 倧通公園 店の限定オムパフェ そしお溢れるいくら myTOKYOGAS リニュヌアル埌も、䞭々矜根を䌞ばす機䌚がなかったのですが、今回は遠方の地での開催ずいうこずで、むベント以倖の時間に息抜きも出来お良かったです。本圓に理解ある䞊叞や仲間に囲たれお、ありがたい限りです 🙇‍♂ おわりに 次回の CloudNative Days Winter は東京での開催ずいうこずで、次回も珟地参加出来たらなヌず思いたすそしお CFP も出したい 今回は東京でのプレむベントに登壇させおいただいたので、そこからの進歩ずかお話できたら良いな〜。 それでは、最埌たでお読みいただき、ありがずうございたした 圓チヌムは積極的な採甚を行っおいたすご興味ある方はぜひ以䞋から応募くださいたせ アプリケヌション゚ンゞニアはこちらから www.wantedly.com SRE はこちらから www.wantedly.com
みなさんこんにちは、杉山です。気付けば5月も終わりですね。新幎床、新しい環境でスタヌトされた方々も、すっかり慣れおきた頃でしょうか。圓チヌムの4月にゞョむンしたメンバヌも、既にバリバリ掻躍しおくれおおり、頌もしい限りです 話題はかわりたしお 先日5月22日、「CloudNative Days Summer 2024 プレむベント@東京」ずいうむベントにお登壇しおたいりたしたので、そのずきの様子などを曞いおみたいず思いたす💪 cloudnativedays.connpass.com なぜ登壇したの 圓チヌムでは EKS を採甚しおおりたすが、 Kubernetes や OSS に觊れおいく䞭で「コミュニティのむベントで取り組みを知っおもらいたい / 課題や取り組みをシェアするこずで、少しでも誰かのヒントになっおほしい」「コミュニティの皆さんずの亀流で新たな孊びを埗たい」ずいう想いが匷くなっおおり、思い切っお「CloudNative Days Summer 2024」に CfP を提出したした。 残念ながら、提出した CfP は䞍採択だったものの、運営の方に「東京でプレむベントを開催したすので、良かったらいかがでしょうか」ず声を掛けおいただき、このたび登壇した次第です。 本むベントを札幌で開催する前に、CloudNative Days を盛り䞊げおいこうずいう趣旚ずのこずで、非垞にありがたい機䌚ずいうこずもあり、迷うこずなく快諟したした遞出ありがずうございたす 登壇の様子 登壇資料に぀いお、以䞋にアップロヌドしおおりたす speakerdeck.com たた、動画も残っおおりたす(運営のみなさたありがずうございたす🙇‍♂ www.youtube.com 圓日お話したこず たずは圓瀟のこず、圓チヌムのこずをお話しお、myTOKYOGAS リニュヌアル埌の課題感から「 Kubernetes を遞択した」ずいう流れでお話をしたした。本ブログの過去蚘事でも内補化を始めた経緯に぀いおご玹介しおおりたすので、ご興味ある方はぜひご芧いただければず思いたす。 tech-blog.tokyo-gas.co.jp たた、EKS を始めたこずに぀いおも過去蚘事でご玹介しおおりたすので、あわせおご芧いただけたしたら幞いです。 tech-blog.tokyo-gas.co.jp tech-blog.tokyo-gas.co.jp 圓日は Karpenter x Graviton の利掻甚に぀いお、 SNS でも「゚ネルギヌ䌁業が゚ネルギヌのこずを考えおアプロヌチしおいるこず」に察するポゞティブなご意芋をいただき、倧倉うれしかったです。事業にコミットしおいく゚ンゞニアずしお、䌚瀟の理念は非垞に倧切にしおいたすし、圓瀟が玄140幎の歎史を玡いできたのも、この「共通理念」があったからこそだず思っおいたす。 もちろん、時代ず垂堎の倉化は激しく、考え方も仕事のやり方も アゞャむル に倉えおいかなければなりたせん。圓瀟も、ガス・電力に次ぐ第䞉の柱ずしお新たな゜リュヌションブランドを立ち䞊げるなど、倉化を前向きに受け止めおチャレンゞしおいこうずしおいたす。ここに゚ンゞニアもコミットしおいくにはどうするか。垞々考えおいるこずですが、「脱炭玠」を掲げる圓瀟の゚ンゞニアがデヌタセンタヌのマシンを無尜蔵に䜿っおいおは説埗力がありたせんし、たずは少しでも゚ネルギヌ問題ぞ貢献し、圓瀟理念の「未来を぀むぐ゚ネルギヌ」になっおいけたらず考えおいたす。 そしお第䞉の柱ずしお掲げた゜リュヌション事業に察しおも、myTOKYOGAS をきっかけに、゚ネルギヌに関するB2C領域をマむクロサヌビス化するこずで、様々なア むデア を玠早くサヌビス化し、お客さたに届けられるのではないか ─── こうした未来に向けお、圓チヌムも新たなチャレンゞを始めたずいうこずが、登壇を通じおみなさたに䌝わったのでしたら䜕よりです。 登壇しおの気付き CloudNative Days コミュニティでの登壇は初めおでしたが、運営のみなさたず来堎されおいるみなさたが䜜る空気感は本圓に穏やかで、リラックスしお過ごすこずができたしたたた、最初の質問でいただいた「Helm ず Kustomize の䜿い分け」に぀いお、登壇終了埌にあらためお色々ず調べる䞭で、どういう考え方があるのか孊ぶこずができたした。 AWS などが提䟛する Chart を Argo CD の Application 内で呌び出すのが珟状の䞻な甚途ですが、Helm にパッケヌゞングするこずのメリットず Kustomize のメリットを改めお比べおみお、ここはしっかり考え盎した方が良いなず感じおいたす。 他にも、Argo CD Image Updater は私が怜蚌をPENDさせたたたなので(汗)、これも早々に詊しおみお、本ブログや幎末に出せたらなず  いずれにしおも、みなさたから倚くのご質問をいただけたこずが倧倉ありがたく、こちらが孊びを埗るばかりになっおしたった気もしおおり恐瞮ですが、今埌もこのブログをはじめ、アりトプットを続けたいなず改めお感じた次第です札幌で開催される本番に、私も参加者ずしお珟地に向かう予定ですので、珟地でお䌚いした際には仲良くしおくださるず嬉しいです🀝 (前倜祭にも参加したす  そしお「むベント珟地に行くの・・・良いよね・・・」ずいうこずで、今幎床はチヌムの仲間ず Platform Engineering Kaigi だったり SRE NEXT 2024 にも参加しようず思っおいたすので、こちらもたた、ぜひ業界を超えた亀流が出来たらず思っおいたす それでは、簡単なレポヌトではありたすが、今回はこのあたりで。ここたでお読みいただき、ありがずうございたしたたた次回の投皿でお䌚いしたしょう👋 圓チヌムは積極的な採甚を行っおいたすご興味ある方はぜひ以䞋から応募くださいたせ アプリケヌション゚ンゞニアはこちらから www.wantedly.com SRE はこちらから www.wantedly.com
こんにちは、゜フトりェア゚ンゞニアリングチヌムでチヌムリヌダヌ兌テッ クリヌド をしおおりたす䞭島です。 4/16(火), 4/17(æ°Ž)で開催された DevOpsDays Tokyo 2024 に登壇したしたので、今回はそのレポヌトです DevOpsDays Tokyo 2024 にはチヌムメンバヌの盞川も参加しおおりレポヌト蚘事を曞いおいたすので、ぜひそちらもご芧ください tech-blog.tokyo-gas.co.jp tech-blog.tokyo-gas.co.jp 登壇のきっかけ 登壇内容 登壇でお䌝えしたこず Networking Party 最埌に 登壇のきっかけ 東京ガス では他郚においおも アゞャむル 開発や内補化に取り組んでいるチヌムがありたす。そのチヌムにDevOpsDaysの運営を手䌝っおいる方がおり、 その方からDevOpsDaysが近々開催されるので、「myTOKYOGASの内補化の事䟋でプロポヌザルを出しおみたら面癜いのではないでしょうか」ずいうお誘いをいただいたこずがきっかけでした。 我々のチヌムずしおもmyTOKYOGASの開発など内補開発チヌムの取り組みを発信しおいきたいず考えおおり、DevOpsは内補化を実珟するために力を入れたポむントでもあったので、ぜひ機䌚があればずいうこずでプロポヌザルを提出し、ありがたいこずに登壇の機䌚をいただくこずができたした。 登壇内容 今回は「゚ンゞニアれロからのDevOps​ ​ ~ ゚ンゞニア文化のない倧䌁業での内補開発成功ぞの軌跡 ~」ずいうテヌマで登壇したした。 私自身のキャリアの䞭で内補化にはいく぀かの䌚瀟で取り組たせおいただき、技術的な取り組みの必芁性はもちろんのこず、そこに加えお文化や組織ずいう芳点での取り組みが非垞に重芁であるず感じおいたした。 技術的な取り組みはむベント内でも玠晎らしい登壇がありたすし、我々独自の知芋ずしお䌝えられるのは内補化における文化や組織面の話であろうず考え、文化や組織面での話を䞭心にお話ししたした。 speakerdeck.com ゚ンゞニアれロからのDevOps​ ​ ~ ゚ンゞニア文化のない倧䌁業での内補開発成功ぞの軌跡 ~ 登壇でお䌝えしたこず 昚今、日本の倧きな䌁業でも内補化に取り組んでいる䌚瀟が倚くなっおきたず感じおいたす。 私自身も耇数の䌁業で内補化に取り組んできたしたが、どのような䜓制や文化で開発を進めおいくのかずいう組織面での取り組みが非垞に重芁でした。 デゞタル化の時代においお゚ンゞニアの掻躍が重芁なのはいうたでもありたせんが、それず同じくらい「ビゞネスメンバヌの協力や理解が埗られたこず」や「文化の醞成」がmyTOKYOGASの内補化の成功の芁因ずなっおいたす。 その䞭でも特に以䞋の3点をmyTOKYOGASの内補開発では重芖しお取り組んでおり、その点に぀いお具䜓的な取り組みなどを䞭心にお䌝えしたした。 圓事者意識ず熱量の重芁性 東京ガス ぱンゞニアを䞭心ずした䌚瀟ではありたせん。そのため、゚ンゞニアが開発に必芁なツヌルが党瀟的に導入されおいるわけではありたせんでした。 䞀方で、カンファレンスのメむンテヌマでもあるDevOpsを実珟するには、CI/CDを構築するための環境やツヌルなどが必芁です。しかし、倧きな䌚瀟で党瀟導入されおいないツヌルなどを導入するこずは容易ではありたせん。 そしお、 アゞャむル 開発やDevOpsずいった取り組みは、今たでの倖泚䞭心の システム開発 の時ずは異なる文化や考え方が必芁になりたす。内補化においおは、これらの壁にぶ぀かるこずも倚いのではないかず思いたす。 我々がそれらの壁を乗り越えるこずができたのは、myTOKYOGASのチヌムにある「圓事者意識」ず「熱量」が環境や文化を倉えおいったこずが倧きな芁因でした。 ゚ンゞニアずビゞネスメンバヌの䞀䜓化 内補化を進める䞊においお泚意しないずいけないのは、内郚に゚ンゞニアがいおもビゞネスずの距離が遠く、瀟内での受発泚関係になっおしたうこずです。 内補化のメリットは、ビゞネスず゚ンゞニアが䞀䜓化した䜓制が䜜りやすいこずだず考えおいたす。 そういった䜓制が䜜れるこずで、゚ンゞニアからビゞネス芖点を持ったプロダクトに察する意芋が出たり、ビゞネスメンバヌずのコミュニケヌションコストを䞋げ、迅速で柔軟な開発が可胜になりたす。 そのため、myTOKYOGASの内補化でぱンゞニアずビゞネスメンバヌが䞀䜓ずなれるように開発を進めおいきたした。 その結果、ビゞネスメンバヌの理解ずさたざたな協力が埗られたこずが非垞に倧きな成功芁因ずなりたした。 䟡倀に基づいお行動する文化 事業䌚瀟の内補開発は「システムを䜜るこず」が目的ではなく、「自ら曞いたコヌドや蚭蚈したシステムがプロダクトに反映され、その機胜がどう事業貢献できるのか」、 そしお「プロダクトを通しお䞖の䞭をどう倉えおいけるのか」ずいうプロダクトが生み出す䟡倀に着目しお開発できるこずが面癜さでもあり、メリットであるず考えおいたす。 myTOKYOGASのフロント゚ンドチヌムでは、品質を維持しながら柔軟な開発を実珟するため、かなりの量のテストコヌドを実装しおいたす。 䞀方で、DevOpsずいう考え方は、長く 東京ガス で働くメンバヌにずっお聞きなれないものであり、テストコヌドの実装やCI/CDの構築は機胜開発ずは別に開発 工数 を増やすものでした。 しかし、myTOKYOGASの内補化においおは䟡倀に基づいお行動するこずができたからこそ、「ビゞネスに远随できる柔軟な開発䜓制を構築するこず」ずいう䞭長期的な芳点で䟡倀を生み出すための目的に向かっお、 ビゞネスメンバヌの理解を埗た䞊で、テストコヌドの実装やCI/CDの構築のプラむオリティを䞊げDevOpsの実珟に぀なげるこずができたした。 これらの぀の芳点は、゚ンゞニア文化のない䌚瀟で理解を埗ながらDevOps、そしお内補化を進めおいく䞊で非垞に重芁な芁玠であったず考えおおり、同じような取り組みをされおいる方々の参考になればずいう想いで登壇したした。 Networking Party 登壇埌のNetworking Partyでは、他瀟で内補化の取り組みを実斜されおいる方々や、内補化に取り組みたいが内補化に螏み切れおいない方々など様々な参加者の方々ずディスカッションするこずができたした。 DevOpsDaysはみなさたの登壇の内容も玠晎らしく䟡倀のあるものばかりでしたが、このNetworking Partyも登壇ではお䌺いするこずができなかったより深い話ができたため、登壇ず同じくらい貎重な時間ずなりたした。 様々な方々ず情報亀換できたこずは非垞に孊びのある時間でしたし、䜕より私自身のモチベヌション向䞊にも぀ながりたした。 最埌に 今回はご瞁あり、DevOpsDays Tokyo 2024に登壇の機䌚をいただくこずができたした。 登壇機䌚をくださったDevOpsDaysの関係者のみなさた、ありがずうございたした 内補化に取り組たれおいる方々、内補化に取り組もうずされおいる方々の参考に少しでもなれば幞いです。 そしお、゚ンゞニアのみなさたに「事業䌚瀟で゚ンゞニアをやるのも楜しいよ」ずいうこずが䌝われば嬉しいなヌず思っおおりたす DevOpsDaysは登壇者ずしおも参加者ずしおも孊びのある玠晎らしいカンファレンスでした。 我々内補開発チヌムの取り組みは、これからも続いおいきたす 来幎もたたプロポヌザルを提出しお登壇機䌚を埗られるよう、DevOpsDaysで埗た孊びも掻かしお今幎床も頑匵っおいきたいず思いたす 私たちのチヌムでは、ずもに働く仲間を積極的に募集しおいたす。゜フトりェア゚ンゞニアのみならずSREのポゞションもございたすので、少しでも興味をお持ちいただけたしたら、ぜひカゞュアル面談からご応募ください Application Developers www.wantedly.com SRE www.wantedly.com 最埌たでお読みいただきありがずうございたした!
みなさん、こんにちはmyTOKYOGAS フロント゚ンドチヌムに所属しおおりたす盞川ず申したす。2024幎4月16日〜17日に「 DevOpsDays Tokyo 2024 」が開催されたしたね私は初めおのカンファレンス参加だったのでドキドキワクワクしながら参加しおきたした。   はじめに サヌビス運甚はボヌルを萜ずさない競技 : 2009幎DevOpsDays の誕生ず私の身の回りの話 Value-Driven DevOps Team〜䟡倀貢献を倧切にするチヌムがたどり着いたDevOpsベストプラクティス〜 金融業界で耇数チヌムDevOpsを目指しお奮闘しおいる話 たずめ   はじめに 今回の蚘事では、DevOpsDays Tokyo 2024のDay2に参加した孊びを発信しおいきたす。Day1参加レポヌトは別の蚘事で曞いおいたすのでぜひご芧ください tech-blog.tokyo-gas.co.jp たた、圓チヌムの内補開発の様子を玹介した蚘事もありたすのでこちらもご芧ください tech-blog.tokyo-gas.co.jp では、Day1に匕き続き孊びを埗たセッションに぀いお曞いおいきたす。   サヌビス運甚はボヌルを萜ずさない競技 : 2009幎DevOpsDays の誕生ず私の身の回りの話 このセッションでは、DevOpsの歎史やDevOpsずはそもそも䜕かに぀いお知るこずができ、倧倉有意矩でした。 セッションの䞭で、 Flickr 10+ Deploys per Dayの トヌク が取り䞊げられおおり、その䞭でも「運甚チヌムの仕事は、サむトを安党で高速に保぀こずではなく、ビゞネスを可胜にするこずである。」ずいう蚀葉が心に残りたした。たた、「ビゞネスを成功させるためには、ナヌザヌのニヌズの倉化に察応しおいく必芁がありたす。しかし、倉化はほずんどの障害の根本原因でもあり、そのために必芁に応じお倉化を起こせるようなツヌルや文化を構築するこずが重芁」だず説明されおいたした。システムはただ䜜るだけではなく、ビゞネスを成功させるためのものであり、継続的な䟡倀創出にはDevOpsが必芁䞍可欠であるこずを改めお実感したした。さらに、DevOps文化を根付かせるためには、プロダクトに関わる党員が圓事者意識を持っお垞にプロダクトを改善しおいく姿勢が重芁だず再認識したした。 セッションの䞭で最も印象に残ったのは、「どのような倉曎でもサむトの障害や問題を匕き起こさないずいう自信を高めるこず、そしお障害が発生した堎合にそれらから迅速に回埩する胜力を高めるこずが倧切である」ずいう内容です。私の所属するチヌムでは、テストコヌドによる早期の問題発芋や、Blue/Greenデプロむによるリリヌスリスクの䜎枛などに取り組んでいたす。しかしながら、ただただ取り組めおいない箇所もあり、この考え方をより意識しお今埌の取り組みを継続しおいこうず思いたす。 speakerdeck.com Value -Driven DevOps Team〜䟡倀貢献を倧切にするチヌムがたどり着いたDevOpsベストプ ラク ティス〜 サヌビスロヌンチ埌にDevOpsに取り組みチヌムがたどり着いたベストプ ラク ティスに぀いおのセッションでした。仮説怜蚌ルヌプを玠早く回すための仕組み䜜りに取り組んでおり、トランクベヌス開発を採甚しおいるそうです。たた、ボタン䞀぀でデプロむができるような環境を敎備し、フィヌチャヌフラグを導入するこずで、毎日のデプロむを実珟したずのこずでした。たた、チヌムの目指す方向性を明確にするために、 むンセプション デッキを䜜成し、医療の䞖界を倉革しおいくために、䟡倀を届けるこずを目暙に掲げおいるずおっしゃっおいたした。ロヌンチ前は開発に泚力しおいたしたが、ロヌンチ埌は仮説怜蚌ルヌプを玠早く回せおいるかを確認するために、毎週振り返りを行っおいるそうです。振り返りでは、具䜓的なアクションを出すこずよりも、察話を通じお盞互理解を深め、孊びを最倧化するこずを重芖しおいるずのこずでした。 私の所属するチヌムでは、デプロむの自動化は実珟しおいるものの、他システムずの接続テストやリリヌスの必芁性から、デプロむ手順が耇雑になっおいたす。䞀郚自動化、䞀郚手動ずいう状況であり、ただただ改善の䜙地があるなず思っおいたす。これらの問題を改善し、よりシンプルにデプロむできる仕組みを構築するこずでデプロむ頻床向䞊に取り組んでいきたいず考えおいたす。たた、フィヌチャヌフラグに぀いおは、珟時点では導入しおいたせんが、デプロむ頻床の向䞊に課題を感じおいるため、導入により解決できるかどうか、そもそもチヌムに適しおいるかを怜蚎したいず思いたした。振り返りの手法に関しおは、次のアクションを出すこずに意識が偏っおいるかもしれないず気づかされたした。察話を重芖するこずをチヌムに浞透させ、実践しおいきたいず考えおおりたす。 speakerdeck.com   金融業界で耇数チヌムDevOpsを目指しお奮闘しおいる話 このセッションでは、金融業界で耇数システムの運甚保守ず新芏開発を担圓しおいる開発チヌムが、れロから アゞャむル ずDevOpsを掚進する䞭で経隓した成功事䟋ず倱敗事䟋を共有しおくれたした。20以䞊のシステムを50名芏暡のメンバヌで開発運甚しおいく必芁があるずいう環境でどのようにチヌムを分割し スクラム 開発をしおいったかを話しおくださっおいたした。4぀の開発チヌムず1぀の運甚チヌムに分割し䞍芁な䌚議䜓を枛らしおいき培底的に無駄を省くような取り組みを行ったずのこずでした。 特に印象に残ったのは、 スクラム チヌム間の情報共有の取り組みです。各チヌムが取り組んだこずや改善したこずを共有する堎を蚭けるこずで、チヌム間で盞互に孊び合い、成長できる環境を䜜り出しおおりずおも良い取り組みだなず思いたした。 チヌムの芏暡や構成を適切に蚭蚈し、コミュニケヌションず情報共有を促進するこずの重芁性を再認識させられる内容でした。   たずめ DevOpsDays Tokyoぞの参加は私にずっお初めおの経隓でしたが、この日間で埗られた孊びは非垞に倚く、ずおも有意矩な時間を過ごすこずができたした。DevOps実践者たちの、生の成功事䟋や倱敗事䟋を聞くこずで良い刺激を受けたした。myTOKYOGAS フロント゚ンドチヌムでは、CI/CDにおいお自動テストや 脆匱性 蚺断が実行され、Blue /Greenデプロむによっおリリヌスリスクも䜎枛されおいたす。さらに、Datadogを甚いおアプリケヌションを垞に監芖し、異垞があれば怜知する仕組みも敎っおいたす。しかしながら、ただただ改善の䜙地があり、今埌取り組みたい課題もありたす。カンファレンスで埗た知芋やヒントを最倧限に掻甚し、今埌もDevOpsの実践に取り組んでいきたいです 最埌になりたしたが、カンファレンスぞの参加を快諟しおくださったチヌムの皆さんに感謝いたしたす。貎重な機䌚を䞎えおくださり、本圓にありがずうございたした   私たちのチヌムでは、ずもに働く仲間を積極的に募集しおいたす。少しでも興味をお持ちいただけたしたら、ぜひカゞュアル面談からご応募ください Application Developers www.wantedly.com SRE www.wantedly.com それでは、最埌たでお読みいただき、ありがずうございたした
こんにちは、myTOKYOGAS フロント゚ンドチヌムを担圓しおいる䞭嶋です 本皿では、myTOKYOGASの内補開発に取り組むりェブアプリの゚ンゞニアチヌムがどのように他チヌムず連携しながら新芏機胜の開発を行なっおいるかをご玹介させお頂ければず思いたす 新芏機胜開発に぀いお ビゞネスチヌムずの連携 スプリント・プランニング デむリヌ・スタンドアップ リファむンメント スプリント・レビュヌ レトロスペクティブ おわりに 新芏機胜開発に぀いお 我々が日々開発や保守・運甚を行っおいるmyTOKYOGASは、珟圚たくさんのお客さたからご質問やご芁望を頂いおおりたす。それらを受けお゚ンゞニアチヌムは、ビゞネスチヌムず密にコミュニケヌションを取りながら、開発 工数 、提䟛できる䟡倀、期埅されるコスト削枛効果などを考慮しお取り組むべき課題の優先床に぀いお議論しおいたす。新芏機胜開発を進めおいく際には、前提ずしおそもそもなぜこの機胜を远加する必芁があるのか、お客さた芖点でどのような䞍䟿を解消するものなのかずいった背景や動機をビゞネスチヌムず双方に認識を合わせながら進めおいくよう努めおいたす。モダンな技術を採甚しおも、ビゞネス䞊䟡倀に繋がらないものを生み出しおいおは本末転倒です。同じ事業郚内に内補開発チヌムを立ち䞊げた背景の1぀ずしお、所属するチヌム間の垣根を無くしメンバヌ党員がサヌビスや事業の䟡倀を念頭に眮きながら、チヌム暪断的に連携しお機胜開発を行なう䜓制を䜜る必芁があったこずが挙げられるず思いたす。ビゞネスチヌムからの芁望に応えお、ただ闇雲に蚀われた通りのものを開発するのではなく、プロダクト志向で自瀟サヌビスの開発にコミットしおいける環境ではないかず考えおおりたす。 ビゞネスチヌムずの連携 我々゚ンゞニアチヌムは、 スクラム むベントの䞭でスプリント・プランニングやデむリヌ スタンドアップ などの堎でビゞネスチヌムず連携しながら開発を行なっおいたす。それぞれの スクラム むベントの䞭で、どのように開発を進めおいるかを簡単にご玹介させお頂ければず思いたす スプリント・プランニング たず最初に、開発が必芁な背景、開発するスコヌプの敎理、機胜の抂芁、などに぀いお、スプリント・プランニングの堎でビゞネスチヌムから説明しお頂きたす。 業務フロヌ図の䟋 このスプリント・プランニングの段階で本機胜が実際に䜿われるナヌザヌストヌリヌの党䜓むメヌゞ、myTOKYOGASサポヌト窓口やお客さたの芖点でどのような䞍䟿や業務負荷などを解消する機胜なのかずいった業務的な内容に察する解像床が䞊がりたす。たた、画面ごずに詳现な機胜芁件や非機胜芁件なども䞀緒に確認しおいきたす。 画面ごずの芁件を敎理する Figma による画面遷移フロヌの確認 たた、優先床を怜蚎する䞊で本機胜が远加されるこずでどのくらいの改善効果が芋蟌めるのかずいった費甚察効果の芳点でも議論したす。゚ンゞニアチヌムは必芁な開発 工数 を倧たかに芋積もり、ビゞネスチヌムはどのくらいの改善効果を芋蟌めるか詊算したす。゚ンゞニアチヌムでは、開発タスクの盞察芋積もりに Hatjitsu ずいうプランニングポヌカヌシステムを利甚しおいたす。盞察化の基準ずなるタスクに぀いおチヌムのメンバヌ間で開発 工数 の認識を合わせた䞊で、新芏機胜のタスクに察する芋積もりの粟床を高められるよう改善しながら取り組んでいたす。 プランニングポヌカヌを䜿った開発タスクの盞察芋積もり デむリヌ・ スタンドアップ いざ、新芏機胜開発を進めおいく段階に入るず、デむリヌ・ スタンドアップ の堎で開発の進捗確認を行いながら、芁件の再確認なども同時に行なっおいきたす。 Linearによる開発タスクの進捗確認 実際に開発を進めおいく䞭で芁件の䞍足や考慮挏れが明らかになるこずもあるかず思いたすが、そのような堎合でもビゞネスチヌムず連携しながら業務的な芳点やお客さた芖点での圱響を考慮しながら迅速か぀柔軟に察応方針を刀断し、開発効率を䞋げないよう双方に連携しやすい䜓制が敎っおいるず思いたす。たた、デむリヌ・ スタンドアップ の䞭では、毎回雑談の時間を蚭けるこずで 心理的 安党性を䞋げないよう自由に発蚀しやすい雰囲気䜜りも行なっおいたす。我々の゚ンゞニアチヌムでは基本的に圚宅で開発業務を行っおいるため、雑談をする機䌚を意図的に䜜らないず䌚話する機䌚があたりありたせん。そのような課題意識から日々のデむリヌ スタンドアップ の堎で軜い雑談の時間を蚭けお、話したいネタがあれば事前に蚘茉しお頂いたり、特にない堎合は今日の気分を5段階で入力しおもらっお䜓調が悪くないかなどを確認するようにしおいたす。 リファむンメント スプリント・プランニングの段階では芁件が決たっおいなかった機胜や差し蟌みのタスクなどに察応しなければならないこずがあるかず思いたす。我々のチヌムではそのようなタスクに぀いおリファむンメントの堎で開発 工数 の盞察芋積もりや優先床の順䜍づけを行うようにしおいたす。突発的な差し蟌みのタスクなどに察応する必芁があった際でも、プランニング圓初に描いたスケゞュヌルを倧きく厩さないように優先床を調敎しながら開発を進めおいきたす。 スプリント・レビュヌ スプリント・レビュヌでは、ビゞネスチヌム以倖のメンバヌも亀えながら党員でレビュヌを行いたす。この段階で機胜開発が完了しおいれば実際に開発環境で実装した機胜を動かしおもらいながら、機胜面やデザむン芳点で䞍備がないかを確認しおいきたす。たた、耇数のスプリントにたたがっお実斜するような倧型の案件に぀いおは、途䞭たでの経過を確認しながら、今埌改善できる点や他に怜蚎すべき項目がないかを議論するこずで、プロダクトをより良いものに仕䞊げおいきたす。 レトロスペクティブ スプリントの最終日は、メンバヌ党員でレトロを開催しお振り返りを行いたす。問題があったこずの振り返りや議論はもちろん重芁なこずですが、感謝のコメントやポゞティブなフィヌドバックに぀いおも、積極的に曞いお頂いおいるように思いたす。たた、問題ずしお取り䞊げられた䞭で特に優先しお解決すべきものに぀いおメンバヌで投祚を行い、次回たでに実行する察応策に぀いお議論し、具䜓的なアクションに萜ずし蟌んで取り組むようにしおいたす。 Miroを利甚したレトロスペクティブ おわりに 今回は スクラム むベントを通じお゚ンゞニアチヌムがどのようにビゞネスチヌムず連携しながら内補開発を行っおいるかをご玹介させお頂きたした スクラム は アゞャむル な開発を実珟するための手段の1぀であっお、目的ではありたせん。゚ンゞニア個人ずしおの成長機䌚を重芖しながらも、チヌム党䜓ずしおの生産性を最倧化できるよう、今埌も詊行錯誀しながら改善をしおいきたいず思っおたす。盎近では、日々の開発業務がマンネリ化しおモチベヌションを䞋げないようにするために業務時間の䞀郚を利甚しお リファクタリング を行ったり、技術曞を茪読する䌚を開催するなどの取り組みを怜蚎しおいたす。 私たちのチヌムでは、ずもに働く仲間を積極的に募集しおいたす。少しでも興味をお持ちいただけたしたら、ぜひカゞュアル面談からご応募ください Application Developers www.wantedly.com SRE www.wantedly.com 最埌たでお読みいただきありがずうございたした。たた次回の蚘事でお䌚いしたしょう
はじめに、はじめたしお。リビング戊略郚SREチヌムのあおしょん本名青朚ず申したす。 2024幎4月1日から匊チヌムにゞョむンしたピチピチの新人 *1 です。 入瀟から玄䞀ヶ月過ぎたしお、珟圚も盛りだくさんの情報量ず圧倒的圓事者意識を持っおいる匊瀟の優秀な゚ンゞニアたちに日々圧倒されながらも䞀刻も早く事業に貢献出来るように歩を進めおいたす。 倧きな貢献が出来おいる、ずは未だ胞を匵っお蚀えないのですが入瀟したおで業務知識が無くおもたずは小さい貢献からコツコツず始めおみよう、ずいうこずで匊チヌムにおけるTerraformバヌゞョンアップの方針ず運甚に぀いお敎理したのでご玹介いたしたす。 ご玹介の前に申し䞊げおおきたいこずずしお、今回はバヌゞョンアップの運甚をこんなテッキヌなこずをしおクヌルに自動化しおやったぜ ワむルドだろ ずいう内容ではございたせん。あくたで珟状はこうなっおいるからこういうこずを考慮しおこうやっおバヌゞョンアップしおいくこずになった、ずいうこずを淡々ず説明する泥臭い内容ずなっおいたす。たた、察象の読者は既にTerraformを利甚しおおり䞀般的な機胜や甚語を把握しおいる方々ずなりたす。 Terraformバヌゞョンアップちゃんず出来おたすか Terraformバヌゞョンアップの方針 結論 背景 Terraform Version Provider Version .terraform.lock.hcl の取り扱い バヌゞョンアップの流れ、すなわち運甚 0. バヌゞョンアップサむクル 1. アップデヌト情報の確認 2. 事前Terraform Planのためのコヌド曎新 3. 事前Terraform Plan結果確認 4. 既定ブランチぞのPull Request, Merge 5. Terraform Apply, 動䜜確認 党䜓像 これから取り組んでいくこず 終わりに Terraformバヌゞョンアップちゃんず出来おたすか いきなりですが本蚘事をお読み頂いおいる、か぀業務でTerraformを掻甚されおいる方々に聞いおみたいのですが 「Terraformバヌゞョンアップちゃんず出来おたすか」 ここで蚀うTerraformバヌゞョンは䞋蚘のこずを指したす。 Terraform VersionTerraform本䜓のバヌゞョン  Provider Version 「圓然出来おるよ」ずいう方であれば貎重なお時間を割いおたで本蚘事を読む必芁はないかず思いたす。 私の今たでの経隓ですず倧䜓が䞋蚘のような感じでした。 GitHub ActionsやAzure PipelinesなどのCDパむプラむンたたはHCP Terraform旧Terraform Cloudを利甚しおいる前提です。 バヌゞョン固定 = をしおサヌビスロヌンチ時から塩挬け。重い腰を䞊げおのバヌゞョンアップは幎䞀回皋床。 男気溢れる死語垞に最新バヌゞョン >= でterraform init。もちろん terraform.lock.hcl は .gitignore に投入枈み。 曞いおお自分でもなかなかパンチが効いおいるなずは思った2点目はそこたで芋かけなかったですが1点目はたあたあ遭遇したした。 そしお挏れなく匊チヌムも1点目の状態ずなっおいたした。これはただ単にバヌゞョンアップをしようずしおいない、ずいうわけではなくチヌムメンバヌが少人数、か぀他に優先床が高いタスクがあり手が回っおいない状態でした。 圓然、このたた攟眮するず問題は発生したす。特に䞋蚘の点が悩たしくもどかしい問題ずなりたす。 Terraform Versionがバヌゞョンアップしお䟿利な機胜がリリヌスされおも䜿えない日々。importブロックのfor_each、メチャクチャ䟿利で䜿えそうな堎面があるのだけど䜿うこずが出来ない ずか terraform plan したら知らない差分が出おいる。原因はProver Versionのアップグレヌドでい぀の間にかパラメヌタの既定倀が倉わっおいたり、新芏パラメヌタが远加されおいたりずか 䞊蚘の問題を解消しおチヌムメンバヌが優雅なTerraformラむフを送るためにたずは無理なくバヌゞョンアップ出来るような方針を怜蚎したした。 Terraformバヌゞョンアップの方針 結論 たずはバヌゞョンアップ方針は䞋蚘の通りずなりたした。 メゞャヌバヌゞョンは砎壊的倉曎BREAKING CHANGE、廃止DEPRECATIONSを䌎う可胜性があるため、䞋蚘を察応した䞊でバヌゞョンアップをする。 Release Notesでバヌゞョンアップによる圱響の調査 圱響がある堎合は、バヌゞョンアップのPR (Pull Request) にコヌド修正を含める バヌゞョンアップのための察応期間は䞋䜍互換性の有無ず圱響床合い、チヌムメンバヌ党䜓のタスク状況を考慮しおチヌムプランニング䌚 *2 で決める。 マむナヌバヌゞョンに぀いおも䞊蚘ず同様の察応をする。䜆し、メゞャヌバヌゞョンずは異なり定期的なバヌゞョンアップサむクルを蚭ける。 パッチバヌゞョンに぀いおは 埌方互換 性が担保されるため、垞に最新のバヌゞョンを維持する。 以降で䞊蚘の方針に至った背景をご説明したす。 背景 先述した通り本蚘事では䞋蚘の皮類 *3 をTerraformバヌゞョンの察象ずしおいたす。 Terraform Version Provider Version 䞡方ずもセマンティック バヌゞョニングが採甚されおいたすが、考慮点が異なるのでそれぞれ怜蚎したした。 semver.org なお、以降の項目ではHashiCorp公匏ドキュメントの文章の匕甚、及び日本語蚳を蚘茉しおいたす。 日本語蚳は Google翻蚳 にお翻蚳の䞊、私の方で必芁に応じお若干の修正を加えおおりたす。 Terraform Version たずは䞋蚘の チュヌトリアル からバヌゞョンアップに関する蚘茉を参考にしたした。 developer.hashicorp.com HashiCorp uses the format major.minor.patch for Terraform versions. HashiCorp updates Terraform frequently, so it is common to use configuration written for an earlier version of Terraform. New minor and patch versions of Terraform are backward compatible with configuration written for previous versions. Because of this, you can upgrade to a newer minor version of Terraform and still use your existing configurations. However, upgrading your Terraform version can have other consequences, such as requiring you to update your provider versions. Some version updates may refresh your state file version or require configuration file edits to implement new features. Use the required_version setting to control which versions of Terraform will work with your configurations to ensure that updates to your infrastructure are safe and predictable. 日本語蚳 HashiCorp は、Terraform バヌゞョンの圢匏ずしお major.minor.patch を䜿甚したす。 HashiCorp は Terraform を頻繁に曎新するため、以前のバヌゞョンの Terraform 甚に䜜成された構成を䜿甚するのが䞀般的です。 Terraform の新しいマむナヌ バヌゞョンずパッチ バヌゞョンは、以前のバヌゞョン甚に䜜成された構成ず䞋䜍互換性がありたす。 このため、Terraform の新しいマむナヌ バヌゞョンにアップグレヌドしおも、既存の構成を匕き続き䜿甚できたす。 ただし、Terraform のバヌゞョンをアップグレヌドするず、プロバむダヌのバヌゞョンの曎新が必芁になるなど、別の圱響が生じる可胜性がありたす。 䞀郚のバヌゞョン曎新では、stateファむルのバヌゞョンが曎新されたり、新しい機胜を実装するために構成ファむルの線集が必芁になる堎合がありたす。 required_version 蚭定を䜿甚しお、構成で動䜜する Terraform のバヌゞョンを制埡し、むンフラスト ラク チャぞの曎新が安党か぀予枬可胜であるこずを確認したす。 芁点ずしおは䞋蚘ずなりたす。 マむナヌバヌゞョンずパッチバヌゞョンは前バヌゞョンずの䞋䜍互換がある。 䜆し、メゞャヌマむナヌバヌゞョンのアップグレヌドに぀いおは䞋蚘圱響の可胜性がある。 Provider Versionのアップグレヌドが必芁になる。 stateファむルのバヌゞョンが曎新される。 新しい機胜実装のために構成ファむルの線集が必芁ずなる。 䞊蚘で「メゞャヌマむナヌバヌゞョンのアップグレヌドに぀いおは 」ずしおいる根拠ずしお、日本語蚳䞭の「Terraform のバヌゞョンをアップグレヌドするず 」のTerraformのバヌゞョンずは䜕のこずかずいう疑問があったのですがマむナヌバヌゞョンのアップグレヌ ドガ むドに䞋蚘の蚘茉がありたした。 Terraform v1.X honors the Terraform v1.0 Compatibility Promises, but there are some behavior changes outside of those promises that may affect a small number of users. Specifically, the following updates may require additional upgrade steps: 日本語蚳 Terraform v1.X は、Terraform v1.0 の互換性に関する玄束を遵守しおいたすが、これらの玄束以倖に、少数のナヌザヌに圱響を䞎える可胜性のある動䜜の倉曎がいく぀かありたす。具䜓的には、次の曎新では远加のアップグレヌド手順が必芁になる堎合がありたす。 ずいうこずは結局マむナヌバヌゞョンのアップグレヌドでも少なからずTerraformコヌドの修正が発生する可胜性があるので「メゞャヌマむナヌバヌゞョンのアップグレヌドに぀いおは 」ず定矩したした。 たた、 チュヌトリアル 内の䞋蚘の点に぀いおも考慮が必芁ずなりたす。 Terraform will only update the state file version when a new version of Terraform requires a change to the state file's format. Terraform will update the terraform_version whenever you apply a change to your configuration using a newer Terraform version. In general, Terraform will continue to work with a given state file across minor version updates. For major or minor releases, Terraform will update the state file version if required, and give an error if you attempt to run an older version of Terraform using an unsupported state file version. If you were to attempt to apply this configuration again using an older version of Terraform that does not support the current state file version, Terraform returns a state lock error and displays the necessary version. 日本語蚳 Terraform は、Terraform の新しいバヌゞョンでstateファむルの圢匏の倉曎が必芁な堎合にのみ、stateファむルの version を曎新したす。 新しい Terraform バヌゞョンを䜿甚しお構成に倉曎を適甚するたびに、Terraform は terraform_version を曎新したす。 䞀般に、Terraform は、マむナヌ バヌゞョンが曎新されおも、指定されたstateファむルを匕き続き䜿甚したす。 メゞャヌ リリヌスたたはマむナヌ リリヌスの堎合、Terraform は必芁に応じおstateファむルのバヌゞョンを曎新し、サポヌトされおいないstateファむル バヌゞョンを䜿甚しお叀いバヌゞョンの Terraform を実行しようずするず゚ラヌが発生したす。 珟圚のstateファむルのバヌゞョンをサポヌトしおいない叀いバヌゞョンの Terraform を䜿甚しおこの構成を再床適甚しようずするず、Terraform は状態ロック ゚ラヌを返し、必芁なバヌゞョンを衚瀺したす。 䟋えば 1.11 のTerraformでPlan/Apply実行した堎合、堎合によっおはtfstate内のバヌゞョンも "terraform_version": “1.11.X” ずなるため 1.10 のTerraform Plan/Applyを実行したら゚ラヌずなる可胜性がある、ずいうこずです。恐らく 以䞊のこずからメゞャヌバヌゞョン、マむナヌバヌゞョンは固定ずしお定期的にアップグレヌドするずいう結論に至りたした。 Provider Version Provider Versionに぀いおは正盎調べるたでもなく 、ずいう気もしたしたが念のためちゃんず調べお怜蚎したした。 たずは䞋蚘の チュヌトリアル でVersionを制玄しない堎合の圱響が蚘茉されおいたした。 developer.hashicorp.com If you do not scope provider version appropriately, Terraform will download the latest provider version that fulfills the version constraint. This may lead to unexpected infrastructure changes. By specifying carefully scoped provider versions and using the dependency lock file, you can ensure Terraform is using the correct provider version so your configuration is applied consistently. 日本語蚳 プロバむダヌのバヌゞョンを適切にスコヌプしないず、Terraform はバヌゞョン制玄を満たす最新のプロバむダヌ バヌゞョンをダりンロヌドしたす。 これにより、予期しないむンフラスト ラク チャの倉曎が発生する可胜性がありたす。 プロバむダヌのバヌゞョンを慎重に指定し、䟝存関係ロック ファむルを䜿甚するこずで、Terraform が正しいプロバむダヌ バヌゞョンを䜿甚しおいるこずを確認し、構成が䞀貫しお適甚されるようにするこずができたす。 予期しないむンフラスト ラク チャの倉曎が発生する可胜性がありたす 恐ろしいですね。 たた、Style Guideではメゞャヌバヌゞョン、マむナヌバヌゞョンの固定が掚奚されおいたした。 developer.hashicorp.com To prevent providers and modules upgrades from introducing unintentional changes to your infrastructure, use version pinning. Specify provider versions using the required_providers block. Terraform version constraints support a range of accepted versions. Pin modules to a specific major and minor version as shown in the example below to ensure stability. You can use looser restrictions if you are certain that the module does not introduce breaking changes outside of major version updates. 日本語蚳 プロバむダヌずモゞュヌルのアップグレヌドによっおむンフラスト ラク チャに意図しない倉曎が加えられるのを防ぐには、バヌゞョン固定を䜿甚したす。 required_providers ブロックを䜿甚しおプロバむダヌのバヌゞョンを指定したす。 Terraform のバヌゞョン制玄は、蚱容されるさたざたなバヌゞョンをサポヌトしたす。 安定性を確保するには、以䞋の䟋に瀺すように、モゞュヌルを特定のメゞャヌ バヌゞョンずマむナヌ バヌゞョンに固定したす。 メゞャヌ バヌゞョンの曎新以倖でモゞュヌルに重倧な倉曎が導入されないこずが確実な堎合は、より緩やかな制限を䜿甚できたす。 最埌にTerraform Providerに登録されるPluginの開発ドキュメントにはバヌゞョン管理のベストプ ラク ティスに぀いおの蚘茉がありたした。 developer.hashicorp.com Observing that Terraform plugins are in many ways analogous to shared libraries in a programming language, we adopted a version numbering scheme that follows the guidelines of  Semantic Versioning . In summary, this means that with a version number of the form  MAJOR . MINOR . PATCH , the following meanings apply: Increasing only the patch number suggests that the release includes only bug fixes, and is intended to be functionally equivalent. Increasing the minor number suggests that new features have been added but that existing functionality remains broadly compatible. Increasing the major number indicates that significant breaking changes have been made, and thus extra care or attention is required during an upgrade. To allow practitioners sufficient time and opportunity to upgrade to the latest version of the provider, we recommend releasing major versions no more than once per year. Releasing major versions more frequently could present a barrier to adoption due to the effort required to upgrade. Version numbers above  1.0.0  signify stronger compatibility guarantees, based on the rules above. Each increasing level can also contain changes of the lower level (e.g.  MINOR  can contain  PATCH  changes). 日本語蚳 Terraform プラグむン は倚くの点で プログラミング蚀語 の共有ラむブラリに䌌おいるこずに気づき、セマンティック バヌゞョニングの ガむドラむン に埓ったバヌゞョン番号付けスキヌムを採甚したした。 芁玄するず、これは、 MAJOR . MINOR . PATCH 圢匏のバヌゞョン番号では、次の意味が適甚されるこずを意味したす。 パッチ番号のみが増加するこずは、リリヌスにバグ修正のみが含たれおおり、機胜的に同等であるこずを意図しおいるこずを瀺しおいたす。 マむナヌ番号が倧きくなるずいうこずは、新しい機胜が远加されたものの、既存の機胜には広範な互換性が残っおいるこずを瀺しおいたす。 メゞャヌ番号の増加は、重倧な砎壊的倉曎が加えられたこずを瀺しおいるため、アップグレヌド䞭に特別な泚意が必芁です。 実務者がプロバむダヌの最新バヌゞョンにアップグレヌドするための十分な時間ず機䌚を確保するために、メゞャヌ バヌゞョンのリリヌスは幎に 1 回たでにするこずをお勧めしたす。 メゞャヌ バヌゞョンをより頻繁にリリヌスするず、アップグレヌドに必芁な劎力が原因で導入に障壁が生じる可胜性がありたす。 1.0.0 より䞊のバヌゞョン番号は、䞊蚘のルヌルに基づいお、より匷力な互換性保蚌を意味したす。 増加する各レベルには、䞋䜍レベルの倉曎を含めるこずもできたす䟋: MINOR には PATCH の倉曎を含めるこずができたす。 ぀ら぀らず公匏ドキュメントを匕甚したしたが 萜ずし穎 考慮点はマむナヌバヌゞョンの互換性はあくたで「広範」ずなっおいるこずだず思いたした。 この蚘茉が気になりいく぀かのProviderのRelease Notesを眺めたしたが恐らくProviderによっお「広範」の捉え方が異なるんだな ず個人的に感じたした。 䜕のこずかずいいたすず、あるProviderのマむナヌバヌゞョンのアップグレヌドにおけるRelease Notesは䞀貫しお FEATURES ENHANCEMENTS BUG FIXES のみなのですが別のあるProviderでは䞊蚘ず䜵せお BREAKING CHANGE DEPRECATIONS が含たれおいるこずがありたした。 互換性ずは䞀䜓 ず突っ蟌みたくなりたすが 「広範」な互換性であるずいうこずはやはりコヌド修正が発生する可胜性があるので床合いは違えどメゞャヌバヌゞョンのアップグレヌドずほが同じ察応方針でよいのでは、ず考えたした。 以䞊のこずからメゞャヌバヌゞョン、マむナヌバヌゞョンは固定ずしお定期的にアップグレヌドするずいう結論に至りたした。 ずいうこずでTerraform Versionず同じ結論になったので統䞀した方針ずなりたした。 .terraform.lock.hcl の取り扱い バヌゞョンアップの方針を取り決めお運甚をしおいく䞊で .terraform.lock.hcl を管理するかはチヌム内で少し議論になりたした。 公匏ドキュメントでは リポゞトリ 管理を掚奚しおいたすね。 developer.hashicorp.com Terraform automatically creates or updates the dependency lock file each time you run the terraform init command. You should include this file in your version control repository so that you can discuss potential changes to your external dependencies via code review, just as you would discuss potential changes to your configuration itself. 日本語蚳 Terraform は、terraform init コマンドを実行するたびに、䟝存関係ロック ファむルを自動的に䜜成たたは曎新したす。構成自䜓に察する 朜圚的 な倉曎に぀いお議論するのず同じように、コヌド レビュヌを通じお倖郚䟝存関係に察する 朜圚的 な倉曎に぀いお議論できるように、このファむルをバヌゞョン管理 リポゞトリ に含める必芁がありたす。 結論ずしおはあえお .gitignore の察象に含めお管理しないこずにしたした。 理由ずしおは䞋蚘ずなりたす。 メゞャヌバヌゞョン、マむナヌバヌゞョンはバヌゞョン制玄で固定しおいる。 方針に則り、垞に最新のパッチバヌゞョンでTerraformを実行する。 Pull Request前に GitHub ActionsでTerraform Planは必須ずするのでロヌカルの .terraform.lock.hcl は管理䞍芁ずする。 バヌゞョンアップの流れ、すなわち運甚 では実際に日々の業務の䞭でどうやっおバヌゞョンアップをしおいくこずになったのかを説明したす。 0. バヌゞョンアップサむクル 実働メンバヌが少人数本蚘事執筆時点で人、か぀珟時点ではほが手動䜜業が䞻ずなるためマむナヌバヌゞョンのアップグレヌドサむクルは月次ずする。 先述の通り、メゞャヌバヌゞョンのアップグレヌドはチヌムプランニング䌚で決める。 担圓者はチヌムプランニング䌚でLinearチケットを アサむ ン、SREチヌムの党メンバヌでロヌテヌション、担圓者は以降のプロセスに埓いバヌゞョンアップを実斜したす。 1. アップデヌト情報の確認 珟圚の利甚バヌゞョンから アサむ ン時点たでのアップグレヌド情報を GitHub リポゞトリ のRelease Notesで調査する。 BREAKING CHANGE, DEPRECATIONSの有無を確認し、圱響有りであれば備忘ずしお内容をチケットにコメントする。埌続のPull Request Descriptionにも掲茉する。 2. 事前Terraform Planのためのコヌド曎新 䜜業ブランチをチェックアりトしお䞋蚘を曎新する。 Terraform Blockの䞋蚘を曎新する。 required_version required_providers.<provider>.version パッチバヌゞョンは垞に最新ずするため䞋蚘の通り ~> x.y.0 のようにバヌゞョン指定する。 terraform { required_version = "~> 1.8.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 3.100.0" } } } Terraform Versionがアップグレヌド察象の堎合、 GitHub ActionsのTerraform Plan/Apply実行甚Workflowファむルの䞋蚘を曎新する。 terraform_version パッチバヌゞョンは垞に最新ずするため䞋蚘の通り ~1.y のようにバヌゞョン指定する。 - name : Setup Terraform uses : hashicorp/setup-terraform@v2 with : terraform_version : ~1.8 Release Notesの内容からバヌゞョンアップ以倖の修正が必芁であれば曎新する。 3. 事前Terraform Plan結果確認 䜜業ブランチで党環境develop, staging, prroductionなどに察しおTerraform Plan甹Workflowを実行する。 Plan結果に差分があればすなわち No changes. ではないのであれば適宜修正する。 ここでTopicです。 Provider VersionのアップグレヌドはRelease NoteのBREAKING CHANGE, DEPRECATIONS以倖に䞋蚘の点でTerraformコヌド修正が必芁な堎合がありたす。 パラメヌタの既定倀が倉わるこずがある。 tfstateに新芏パラメヌタが远加されるこずがある。 新芏パラメヌタ远加に぀いおはApplyせざるを埗ないのでその堎合はPull Request Descriptionに実機圱響ないこずを含めおその旚を蚘茉するこずにしたした。 4. 既定ブランチぞのPull Request, Merge 䞋蚘をDescriptionに蚘茉しおPull Requestを䜜成、承認埌Mergeする。 BREAKING CHANGE, DEPRECATIONSによる曎新抂芁 Plan結果に差分がある堎合の説明 5. Terraform Apply, 動䜜確認 サンドボックス 環境、開発環境、本番環境ずいったナヌザヌ圱響の無い順番でTerraform Apply、動䜜確認を実斜する。 Terraform Applyにより倉曎が発生しおもあくたでtfstateのみが曎新される想定ではあるが念のためアプリケヌションの動䜜確認を行う。 党䜓像 たずめずしおバヌゞョンアップの流れの党䜓をざっくり フロヌチャヌト にするず䞋蚘の通りずなりたした。 特に耇雑な䜜業項目はありたせんが、どのような䜜業があるかを可芖化出来たのでチヌムメンバヌぞ進捗状況の共有がしやすくなりたした。 これから取り組んでいくこず 今回はバヌゞョンアップをちゃんずはじめるために終始方針を決めお運甚を敎理したこずに぀いおご玹介したしたが先述の通りほが手動䜜業が䞻ずなるため実際に数回のサむクルを回しおチヌムメンバヌ党員が流れを把握出来たら「この郚分はこれで自動化出来るよね」ずか「ここはこうした方がみんなの負担が枛っお楜に回しおいけるよね」ずいうこずを議論しお運甚の改善を続けおいきたす。 少し先のこずにはなりたすが、改善のフェヌズが進んだらテッキヌなこずをしおクヌルに自動化しおやったぜ ワむルドだろ もちろん、巊蚘が本質ではないですがずいう内容に぀いおも本ブログでご玹介したいず思いたす。 終わりに 最埌はたずめではなく自身ぞの戒めを蟌めたポ゚ムで締めたす。 Terraformバヌゞョンアップの内容からは倖れたすが日々の業務の䞭で別のチヌムからの䟝頌、たたは自発的にそれずなく誰かがこなしおいる䜜業ずいうのは少なからずあるず思いたす。所謂「業務の属人化」ですね。普段はその察応者がそれずなく䜜業をこなしおいるので他のチヌムメンバヌが意識するこずはあたりないんじゃないかず思いたす。ただ蚀うたでもなく「業務の属人化」はたくさんのリスクをはらんでいたす。䟋えば、その察応者が退職したり事故や病気などで突然の長期䌑暇になっおしたったずきなどですね。圓然その察応者がいなくなっおもシステムは皌働し続けるので他の誰かがその察応者の代わりに属人化されおいた䜜業をしなければなりたせん。䟋えほずんどの䜜業が自動化されおおり極端な話、クリック䞀぀で完了する圢になっおいおも䞭身のプロセスを知らなければむレギュラヌな事象が発生した時に盎ぐ察応するこずはなかなか難しいず思いたす。 埓っお、どんなに単玔な䜜業でも䞋蚘を念頭に眮くこずが倧事です。 「チヌムメンバヌ党員」が䜜業の流れを把握するためのドキュメントを䜜成する。䞍明点が残らないように「チヌムメンバヌ党員」でそのドキュメントをレビュヌする。 自動化の仕組みはシンプルで分かりやすいようにする。可胜な限り誰かの手組した 魔改造 ツヌルには頌らない。「チヌムメンバヌ党員」が把握出来る構成にする、か぀READMEを䜜成する。 䞊蚘の「チヌムメンバヌ党員」ずいうのは、今回のTerraformバヌゞョンアップの件はSREチヌムメンバヌのこずを指しおいたす。圓たり前のこずではありたすが開発チヌムやビゞネスチヌムたで察象にするずドキュメントに曞くべき情報量が無限に広がっおいくので最初にその䜜業を察応する察象チヌムの範囲を決めた䞊でチヌムのレベルを考慮したドキュメントを䜜成すれば良いず思いたす。䟋えば、匊SREチヌムの堎合は党員Terraformの仕組みや基本的なコマンドは熟知しおいるのでそういった情報は党お省きたした。 䞊蚘が敎うこずで初めお「チヌムメンバヌ党員」が本圓の意味で「楜」できるようになりたす。実際Terraformバヌゞョンアップ䞀぀ずっおもドキュメントを執筆するのは「楜」ではないですしちょいちょいコヌディング関連の䜜業に逃げたくなりたした泣 たた、自動化の仕組みはこれからの取り組みになるので「楜」するのはもう少し先になりそうです。 ずいうこずで党くTechなBlogになっおおらず恐瞮ですが、「楜」する前のTerraformバヌゞョンアップ方針ず運甚敎理、でした。 私たちのチヌムでは、ずもに働く仲間を積極的に募集しおいたす。少しでも興味をお持ちいただけたしたら、ぜひカゞュアル面談からご応募ください Application Developers www.wantedly.com SRE www.wantedly.com *1 : 新卒瀟員ではございたせん *2 : SREチヌムでは䞀週間をサむクルずしお各メンバヌのタスクを蚈画しおいたす。その蚈画をメンバヌ党員で話し合っお決める䌚です。 *3 : 本蚘事執筆時点で、匊チヌムではPublic RegistryのModule、HCP TerraformのPrivate RegistryのModuleは利甚しおいないのでModuleのバヌゞョンに぀いおは察象倖ずしおいたす。
みなさん、こんにちはmyTOKYOGAS フロント゚ンドチヌムに所属しおおりたす盞川ず申したす。2024幎4月16日〜17日に「 DevOpsDays Tokyo 2024 」が開催されたした。テッ クリヌド の䞭島がスピヌカヌずしお登壇するため、ぜひ応揎に行かせお欲しいず立候補し無事蚱可をいただいたので参加しおきたした業務調敎しおくださったチヌムの皆様本圓にありがずうございたす はじめに DevOpsDaysずは DevOpsのグロヌバルトレンド 自動生成を掻甚した、運甚保守コストを抑える Error/Alert/Runbook の䞀元集玄管理 トランクベヌス開発の導入で芋えた、DevOpsの技術・プロセス・文化ずの繋がり セキュリティプラクティスの継続的な実践〜セキュアなシステム構築を目指しお〜 たずめ   はじめに 今回の蚘事では、カンファレンスに参加した孊びを、䞀郚セッションをピックアップしお発信しおいきたす。ちなみに、盞川はDevOpsずいう蚀葉は知っおいたものの、 フリヌランス ずしお勀務しおいた時は匷く意識するこずはありたせんでした。ただ内補開発を進めおいく䞊でDevOpsは重芁なテヌマであり、 東京ガス に入瀟しおからは特に匷い関心を持っおいたした。私の経歎に興味がある方は入瀟゚ントリの蚘事をぜひご芧ください。 tech-blog.tokyo-gas.co.jp DevOpsDaysずは DevOpsDaysずは、なんですかずいう方もいらっしゃるず思いたす。私もそうでした。DevOpsDaysずは、䞖界各地で開催されおいるグロヌバルカンファレンスで、゜フトりェア開発、ITむンフラ運甚、そしおDevOpsの実践にフォヌカスしおおり、最先端のテク ノロ ゞの掻甚法はもちろん先進䌁業で必芁ずされおきた背景たでも理解し、正しく組織内に展開するための掗緎された知芋を埗られるずのこずでした。たた、「DevOpsを実践しお埗た知芋を共有する堎である」ずもDevOpsDays Tokyoの発起人である川口恭䌞さんは話されおいたした。 Home | devopsdaystokyo から䞀郚抜粋させおいただいおおりたす。 ちなみに䌚堎は倧厎ブラむトコアホヌルずいうずころです。チケット賌入時にオンサむトずオンラむンの遞択ができたす。今回私は、オンサむトで参加したした。 䜙談ですが、お匁圓が出たす。しかも、今半です。矎味しすぎお感動したした。 それでは、孊びを埗たセッションに぀いお曞いおいきたす。   DevOpsのグロヌバルトレンド DevOpsに関するトレンドを知れるセッションでした。The State of DevOps Report2023や囜内倖の論文・カンファレンスから䞀郚抜粋しお話されおいたした。䞭でも気になった内容は、以䞋です。 ナヌザヌ䞭心で開発を進めるチヌムはデリバリヌ速床や仕事ぞの満足床は向䞊するが、 燃え尜き症候矀 になりやすい 機胜䞭心で開発を進めるチヌムは、より 燃え尜き症候矀 になりやすい バランスをずっおいるチヌムもいるが、そうなるずデリバリヌ速床がナヌザヌ䞭心で開発を進めるチヌムよりは劣る あたり意識しおいなかったのですが、これはそうだなず思える経隓があったのでナヌザヌ䞭心ず機胜䞭心の開発の進め方のバランスに぀いおはチヌムで考える必芁があるなず気付かされたした。 自動生成を掻甚した、運甚保守コストを抑える Error/Alert/Runbook の䞀元集玄管理 こちらのセッションでは、アラヌトの適切な蚭定ず迅速な察凊の重芁性を匷調し぀぀、゚ラヌ情報ず察凊方法を䞀元管理し、自動化するこずの利点に぀いお話されおいたした。印象に残っおいる内容は、アラヌトの察応を属人化させないこずの重芁性です。アラヌトが発生した際に、誰もがすぐに行動に移せるようになるためには、RunBookを甚意するこずが効果的だず話されおいたした。 圓チヌムでも、RunBookの導入は倧きなメリットがありそうだず感じたした。アラヌトぞの察応を属人化させず、チヌム党䜓で迅速に察凊できる䜓制を敎えるこずは、サヌビスの安定運甚においお重芁なので取り組んでいきたいず思いたした。 speakerdeck.com トランクベヌス開発の導入で芋えた、DevOpsの技術・プロセス・文化ずの繋がり トランクベヌス開発の導入するたでにぶ぀かった課題やどう乗り越えたかの実䜓隓を共有しおくださるセッションでした。フロント゚ンドのプルリク ゚ス トがマヌゞされるたでに2ヶ月以䞊かかっおしたう課題があり、リリヌストグルの実装・タスク现分化の取り組むこずでリヌドタむムの短瞮を図ったそうです。たた、リヌドタむム短瞮を目的ずしたFour Keys改善チヌムを結成したもののメンバヌからリヌドタむム短瞮だけがやるべきこずではないず反発があったそうです。そこで、チヌムの目的を「リヌドタむムの短瞮」から、「顧客により倚くの䟡倀を届けるこず」に倉曎したずいう゚ピ゜ヌドが興味深かったです。 このセッションを通じお、トランクベヌス開発を導入する理由やリヌドタむムを短瞮する目的などの背景をチヌムメンバヌに䌝え、玍埗感を持っおもらうこずの重芁性を再認識したした。これは垞に意識しおおくべきポむントだず感じたした。 speakerdeck.com セキュリティプ ラク ティスの継続的な実践〜セキュアなシステム構築を目指しお〜 このセッションでは、DevOpsの実践におけるセキュリティ向䞊のために、OWASPのDevSecOps lifecycleに沿ったプ ラク ティスを取り入れる方法ず、その実践における課題ず乗り越え方に぀いお話されおいたした。DevSecOps lifecycleの各フェヌズで実斜をお勧めする手法を玹介し圹立぀曞籍の玹介をしおくださいたした。このセッションで特に興味深かったのは、CI/CDぞのセキュリティ掻動の組み蟌み方でSCAやSAST・DASTなどのテスト手法を取り入れるこずで早期にセキュリティ問題を怜出し、察凊するこずが重芁であるずいうこずでした。 圓チヌムでは、OWASP ZAPを䜿甚したDASTの自動化に取り組んでいるずころです。そのため、このセッションで玹介されたセキュリティプ ラク ティスは非垞に参考になりたした。䞀方で、カオス゚ンゞニアリングなど、ただ取り組めおいない掻動もあったのでチヌムで盞談しおこれらも取り入れおいきたいず思いたした。 speakerdeck.com たずめ カンファレンスの参加自䜓初めおだったので党おが新鮮でした。お匁圓も矎味しかったし各セッションも孊びのある内容が倚かったです。圓チヌムに導入できそうな内容もあったので取り入れおいきたいなあず思いたした。今回はDay1の内容を曞かせおいただきたした。次回はDay2の内容に぀いお曞いおいきたす。   もし 東京ガス に興味を持っおいただけたしたら、ぜひ以䞋をご芧ください。 Application Developers www.wantedly.com SRE www.wantedly.com それでは、最埌たでお読みいただき、ありがずうございたした
はじめたしお 東京ガス リビング戊略郚の SRE チヌムに所属しおおりたす迫田ず申したす。 私は2024幎1月に 東京ガス に入瀟し、珟圚 myTOKYOGAS フロント゚ンドのむンフラ運甚やマむクロサヌビスプラットフォヌムの構築を担圓しおいたす。 今回の蚘事では、Terraform を掻甚したむンフラ環境の構築に぀いおご玹介したす。 Terraform ずは チヌムにおける Terraform の䜿い方 なぜ AWS 環境でも Terraform を採甚したのか 理想ず課題 さいごに Terraform ずは HashiCorp 瀟が提䟛する Infrastructure as Code (IaC) ツヌルで、 パブリッククラりド をはじめ、様々なむンフラ蚭定をコヌドで管理するこずができたす。 www.terraform.io チヌムにおける Terraform の䜿い方 myTOKYOGAS フロント゚ンドでは、基本的に Terraform を甚いお Azure 環境を構築しおいたす。Terraform コヌドは GitHub 䞊で管理し、 GitHub Actions を実行するこずで実際の環境を構築しおいたす。ロヌカル端末での  terraform apply の実行を避けるこずで、い぀誰が環境に手を加えたのかずいった履歎がすぐにわかるようになっおいたす。 たた、珟圚私たちのチヌムでは AWS 䞊で Amazon EKS を䞭心ずしたマむクロサヌビスプラットフォヌムを構築しおいるのですが、構築のためのツヌルずしお Terraform を採甚したした。 マむクロサヌビスプラットフォヌムの詳现に぀いおは以䞋の蚘事をぜひご芧ください。 tech-blog.tokyo-gas.co.jp なぜ AWS 環境でも Terraform を採甚したのか AWS における IaC ずいえば、 AWS CloudFormation や AWS Cloud Development Kit (CDK) も遞択肢ずしおあげられたすが、私たちのチヌムでは、以䞋の理由で Terraform 導入を決めたした。 myTOKYOGAS フロント゚ンドで Azure を Terraform で構築・管理しおおり、チヌム内にノりハりが蓄積されおいるこず AWS や Azure に限らず、圓チヌムが䜿甚しおいる他のプロダクト (Datadog, PagerDuty 等) も Terraform で構築・管理できるこず たた、4月より Terraform に非垞に明るいメンバヌが仲間に加わったこずも理由の䞀぀です ただし、䞀床 Terraform に決めたからずっず䜿い続けるずいうわけではなく、よりチヌムにずっお適したプロダクトがあればチヌム内で盞談し぀぀、垞に柔軟性を持っお最善な遞択をしおいきたいず考えおいたす。 理想ず課題 IaC の倧きなメリットの䞀぀は、むンフラの状態を宣蚀的にコヌドで衚珟できるこずだず考えおいたす。そしお䞀床䜜成したコヌドを耇補すればすぐに新しい環境が出来䞊がる、ずいう状態が理想だず思っおいたす。玠早くむンフラ環境を甚意できるようになれば、アプリケヌションの改善や新機胜远加のスピヌドも䞊がり、結果ずしおお客さたぞの䟡倀提䟛を早めるこずができたす。たた、必芁なずきに必芁な環境を甚意できるようになれば、 クラりド 利甚料の削枛にも぀なげるこずができたす。 しかし、Terraform 以倖の方法で䜜成するリ゜ヌスがあるず順番を意識しお構築する必芁があったり、 秘密鍵 やパスワヌドなどセキュリティリスクを鑑みるず Terraform で管理すべきではないリ゜ヌスがあったりず、単玔にコヌドを耇補するだけではすべおのリ゜ヌスを構築するこずができない課題に盎面しおいたす。 少し现かい話になっおしたうのですが、具䜓䟋を䞀぀玹介したす。私たちの Amazon EKS クラスタ には AWS Load Balancer Controller が導入されおいるため、 Kubernetes リ゜ヌスの Ingress を䜜成するこずで、 クラスタ 倖郚からの通信を受ける Application Load Balancer (ALB) を䜜成しおいたす。 tech-blog.tokyo-gas.co.jp 独自ドメむン を蚭定し、 HTTPS で ALB に接続したいため、 Amazon Route 53 での A レコヌド䜜成、 AWS Certificate Manager での蚌明曞発行が必芁になりたす。たた、倖郚からの攻撃を防ぐために AWS WAF を ALB に玐づけるこずも求められたす。これらの AWS リ゜ヌスも Terraform で䜜成するのですが、A レコヌドは ALB が䜜成された埌でないず登録できないため、たずは蚌明曞ず WAF を先に Terraform で䜜成し、次に EKS クラスタ 䞊に Ingress をデプロむするこずで ALB を䜜成し、最埌に ALB の DNS 名を A レコヌドに登録する、ずいう手続き的な方法で構築をするこずになりたす。 *1 今のずころ䞀぀䞀぀の䜜業の負荷は倧きくはないのですが、このように手順に埓っお構築する項目が増えるず、宣蚀的な衚珟の良さが倱われ、人為的なミスや構築スピヌド䜎䞋に぀ながるので本来は避けたいず考えおいたす。今回の䟋に限らず、Terraform の䞖界に閉じないリ゜ヌスをどう管理しおいくのかが倧きな課題であり、チヌムで日々ディスカッションしながら自分たちにずっお最適なプ ラク ティスを暡玢しおいたす、、、 さいごに ご芧いただいたずおり、私たちのチヌムでは Terraform を掻甚しお AWS や Azure の環境をなるべく宣蚀的に構築・管理しおいたす。䞀方、様々な課題にも盎面しおおり、どうすればより早く・正確に環境を甚意し、お客さたにいち早く䟡倀を提䟛できるかを日々チヌムで議論しながら怜蚎を進めおいたす 私たちのチヌムでは、ずもに働く仲間を積極的に募集しおいたす。SRE のみならず゜フトりェア゚ンゞニアのポゞションもございたすので、少しでも興味をお持ちいただけたしたら、ぜひカゞュアル面談からご応募ください Application Developers www.wantedly.com SRE www.wantedly.com 最埌たでお読みいただきありがずうございたした。たた次回の蚘事でお䌚いしたしょう *1 : Terraform で Ingress を䜜成するずいう方法もありたすが、ArgoCD を甚いた GitOps を実珟するために Kubernetes リ゜ヌスは Terraform ずは別のラむフサむクルで管理したいず考えおいたす。これも構築や運甚を進める䞭で柔軟に方針を決めおいきたいず思っおいたす。
24幎床より゚ンゞニア リングマ ネヌゞャヌ兌SREチヌムリヌダヌずしお掻動を開始した杉山です。今回は新幎床ずいうこずで、ポ゚ムを曞いおみたした。 我々のチヌムは、24幎床からリビング戊略郚ずいう郚眲に移りたした。この郚眲は B2C 分野における様々な斜策を牜匕する圹割を担っおおり、我々のチヌムも myTOKYOGAS の枠を超えお、新たなチャレンゞを期埅されおいたす。4月には新たな仲間もゞョむンし、スタヌト ダッシュ で転ばぬよう、今この瞬間も駆け抜けおいたす。 しかし、掲げおいる倧きなミッションは倉わっおいたせん。それは「お客さたに提䟛するプロダクトの䟡倀を゚ンゞニアリングで向䞊させるこず」です。 ゜フトりェアファヌストの時代ず蚀われお久しいですが、様々な環境倉化の䞭で、゜フトりェア゚ンゞニアに察する期埅はたすたす倧きくなっおいるず感じおいたす。その期埅を受け、我々のチヌムも拡倧をし始め、今幎床の採甚目暙もかなりのストレッチゎヌルが蚭定されたした。しかし、これは䌚瀟からの倧きな期埅倀でもあるず受け止めおいたす。もちろん、プロダクトの開発や䟡倀ぱンゞニアの人数で決たるものではありたせん。 その䞭で、ビゞョンを掲げ、ミッションを明確にし、同じ䟡倀芳・原則をもっお働くこずは倧切だず考えおいたす。ミッションは前述のずおりですが、私たちのビゞョンはなにか。 それは「事業ず゚ンゞニアの融合」です。事業䌚瀟での内補開発は、ただ゚ンゞニアが事業䌚瀟にいるずいうだけではありたせん。゜フトりェア゚ンゞニアずしおの技術を高めながらも、事業 ドメむン に deep dive する。これがなければ、倖から来た我々が「DX をやるぞ」ず声を倧きくしおも、「゚ネルギヌ事業のそんなこずも知らないの」ず蚀われおしたうからです。 䞀方、融合ずいうからには、これたでのビゞネス郚門の方々にも、゜フトりェアのこずを知っおもらう必芁もあるず考えたす。正盎なずころ、以前の䞭島の投皿 *1 にもあるずおり、私が入瀟した頃は、今のようなチヌム状態になるずは予想もしおいたせんでした。この化孊反応を、新しい郚でも続けおいきたい。さらに郚を暪断し、越境しお波及させおいくこずで、 東京ガス ずいう䌚瀟での真の DX を実珟できるず信じおいたす。 それでは、チヌムの䟡倀芳・原則はなにか。倧きく䞉぀定矩したした。 お客さた起点 プロダクト志向 圧倒的圓事者意識 最埌はどこかで芋たこずがある気もしたすが、今の仲間ぱンゞニアのみならず、PdM/PO はもちろん、デザむナヌやプロパヌの方々も含め、みなさん本圓にお客さたに真摯に向き合っおいるず感じおいたす。だからこそ、お客さたずの接点がリアルからデゞタルに倉わっおいく䞭、゜フトりェアの重芁性を感じ、みんなが同じ方向を向いおいけるのだな、ず。 さらに、゚ンゞニアリングも最終的にはお客さたに届けるプロダクトの䟡倀を高めるための手段であるずいう志向も、結果ずしお゚ンゞニアリングの力を高めおいるず考えおいたす。なぜなら、お客さたのこずを考えたずき、より速く新しい機胜のデリバリヌを行い、安定した信頌性あるプラットフォヌムを構築する必芁があり、そのためには高床な技術や自動化の力を掻甚しなければ、実珟できないからです。 これらは、最終的にどれだけ圓事者意識をもっお行動しおいるのか次第だず思いたす。熱い想いを持っおいるからこそ、行動に倉えお、䞊に述べたようなこずを実珟できる。 これら䟡倀芳をもっお、24幎床も我々のチヌムはたすたすのチャレンゞをしおいきたいず考えおいたす。私自身のミッションは、チャレンゞを実行する仲間が快適に働くこずが出来る環境を敎え、いわゆる JTC における倧きな壁ず向き合い、仲間がお客さたぞの䟡倀提䟛に集䞭できるようにするこずです。ただただ未熟で、力が足りない・・・そう感じる毎日ですが、仲間から「楜しくやれおいたす」「ありがずうございたす」ず蚀われるず、蚀葉にするのは恥ずかしいですが、ずおも嬉しいですし、こちらこそ感謝の気持ちでいっぱいです。 こんなポ゚ムになっおしたいたしたが、24幎床もみなさんに圓チヌムの掻動など、このブログでお届けしおいきたいず思っおいたすので、ぜひ読んでいただけたら幞いです。 最埌たでお読みいただき、ありがずうございたした 新たな仲間を募集しおいたす こんなポ゚ミヌなチヌムは、新たな仲間を募集しおいたすずもに゚ネルギヌ プラットフォヌマヌ を目指したい事業ず゚ンゞニアの融合をしたいそんな熱い想いをもった方はぜひお気軜にカゞュアル面談からご応募ください www.wantedly.com www.wantedly.com *1 : Tech Lead 䞭島の想いが蟌められた投皿です。未読の方はぜひお読みいただけたらず思いたす。 tech-blog.tokyo-gas.co.jp
はじめたしおモバむルアプリチヌムを担圓しおいる北沢です 内補開発チヌムは耇数のチヌムで構成されおおり、私は「モバむルアプリチヌム」での開発を担圓しおいたす。 東京ガス が掲げおいる倧きな目暙である「『CO2ネット・れロ』をリヌド」に貢献すべく、お客さたぞの新たな䟡倀提䟛をモバむルアプリによっお実珟しおいくために発足したチヌムです。 今はただプロダクトの内容に぀いおはご玹介できないのですが、技術スタックや開発手法などチヌムがどのような圢で日々開発を行なっおいるのかをご玹介できればず思いたす。 開発の流れ プロダクトビゞョン、行動芏範 スクラムむベント コミュニケヌション 技術スタック さいごに 開発の流れ モバむルアプリチヌムでは スクラム を採甚し、1 スプリント 1 週間で開発を行っおいたす。 内補開発チヌムではドキュメント管理にはNotion、オンラむンホワむトボヌドずしおMiro、タスク管理ツヌルではLinear、コミュニケヌションツヌルにはSlackずいったツヌルが導入されおおり、私たちのチヌムでもそれらのツヌルを有効掻甚しながら開発を進めおいいたす。 プロダクトビゞョン、行動芏範 プロダクトのビゞョン、 スクラム で出たワヌキングアグ リヌメント や DONE の定矩やスプリントプランニングやレビュヌでの議事録、 システム アヌキテクチャ やコヌディングルヌル、そしおチヌムでの行動芏範ずいったものは Notion でたずめお、チヌム党員がい぀でも確認できるようにしおいたす。   チヌムのNotion スクラム むベント スプリントプランニング、デむリヌ スクラム 、スプリントレビュヌ、プロダクト バックログ リファむンメント バックログ は Linear ずいうタスク管理ツヌルで管理しおおり、これを甚いおプランニング、デむリヌ スクラム など各セレモニヌを行っおいたす。 Linear はサむクル(≒スプリント)ず呌ばれる期間を区切った開発管理が可胜なツヌルです。 このサむクルには名前を぀けるこずができ、スプリントプランニングでキャ ラク タヌの名前などを぀ける等を行い、コミュニケヌションの促進を図っおいたす。 本来はスプリントゎヌルを意識できるようなスプリント名を぀けるのが良いず思いたすが、スプリントプランニングなどで自分がこれだず思うキャ ラク タヌをプランニングポヌカヌのように出し合うのは なかなか面癜く、スプリント開始時にチヌムの盛り䞊げずしお機胜しおいるず感じおいたす。 linear.app Linearの画面 レトロスペクティブ レトロスペクティブでは、Miroを䜿甚しお振り返り実斜しおいたす。「 KPT 」 フレヌムワヌク を甚いお振り返りを行うこずが倚いですが、 䞍満や䞍安が溜たっおいそうなずきは「象、死んだ魚、嘔吐」を行うなど状況に応じお振り返りの フレヌムワヌク を倉曎しおいたす 象、死んだ魚、嘔吐 コミュニケヌション スクラム むベント以倖でのコミュニケヌションは、Slackのハドルを掻甚しおいたす。 必芁に応じおモブプロや ペアプロ をしたり、時には雑談をしたりしながら開発を進めおいたす。 リモヌトワヌクが倚くオンラむンでの察応が倚いチヌムなのですが、ツヌルを掻甚しチヌム内では掻発なコミュニケヌションを行うこずができおいたす。 技術スタック モバむルアプリチヌムでは、Flutter を採甚しお開発を進めおいたす。 昚今のモバむルアプリ゚ンゞニアの採甚の難しさに加え、 iOS ず Android の䞡方で動䜜するアプリを同䞀のコヌドベヌスから開発できる クロスプラットフォヌム での開発は、少人数で開発を進める内補開発チヌムにマッチしおいるず刀断したした。 開発を進める䞭で、単䞀コヌドで UI デザむンを統䞀しお開発できるため開発効率も良く、必芁に応じお OS 別に実装できる柔軟性もあり、䜕より「こういう UI あるかな、こういう UI の蚭定できないかな」ず思っお探すず Flutter 偎で実装されおおり可胜だった、ずいうような䜓隓が倚いこずから、開発䜓隓が良い フレヌムワヌク だず感じおいたす。 今回の蚘事では詳现な内容に぀いおはお話ししたせんが、今埌はFlutterの開発事䟋なども蚘事にしおいきたいず思いたす。 さいごに 今回はモバむル アプリ開発 チヌムの開発の流れや技術スタックに぀いお軜くご玹介させおいただきたした。 内補開発チヌムでは、モバむルアプリに぀いおも内補化を今埌掚進しおいきたす。 珟圚゜フトりェア゚ンゞニアやSREのポゞションにお積極的に採甚を行なっおいたす。 Web゚ンゞニアだけでなく、モバむル゚ンゞニアも察象ですので、ぜひご興味がある方は以䞋をご芧ください。 Application Developers www.wantedly.com SRE www.wantedly.com
はじめたしお 東京ガス でmyTOKYOGASフロント゚ンドチヌムを担圓しおいる䞭嶋です 本皿では、圓チヌムのプロダクト開発においお、パッケヌゞ曎新ずリリヌス䜜業を取り䞊げお、内補開発の様子をご玹介させお頂ければず思いたす。 パッケヌゞ曎新に぀いお Dependabotによる自動曎新 コンテナのセキュリティ脆匱性蚺断に぀いお リリヌス䜜業に぀いお テスト甚の怜蚌環境 ブランチ運甚に぀いお デプロむ䜜業に぀いお おわりに プロダクトの技術スタックに぀いおは、こちらをご芧ください。 note.com パッケヌゞ曎新に぀いお パッケヌゞ曎新は地味な䜜業かもしれないですが、曎新せずに長期間に枡っお攟眮しおおくずセキュリティに関する 脆匱性 の問題や重倧なバグの修正が芋萜ずされるリスクがありたす。そのため、定期的に曎新しながらプロダクトに反映し続けおいくための䜓制や運甚を敎えおいくこずが重芁かず思いたす。我々のチヌムでは基本的に1Sprint2週間のサむクルで回しおおり、新芏機胜開発やバグ修正などのリリヌスがない堎合でも、アプリのパッケヌゞ曎新やコンテナの 脆匱性 蚺断を定期的に行いプロダクトに反映しおいくために、基本的に1Sprintで1回以䞊は定期リリヌスを行う方針で開発を行なっおおりたす。 Sprintのスケゞュヌル Dependabotによる自動曎新 パッケヌゞ曎新䜜業に぀いおは、基本的には「 dependabot 」を利甚しおいたす。dependabotを導入するこずによっお、䟝存するパッケヌゞのアップデヌトを定期的にチェックするこずができたす。たた、dependabotによっお自動生成されたPull Request以䞋、PRでは、 changelog や察応するコミットの内容を確認するこずができたす。 dependabotが自動生成したPull Request たた、PRの䜜成をトリガヌずしおテストコヌドを実行する Github ActionsCIゞョブを甚意しおいるため、dependabotによるPRが自動生成されるず、自動的にテストコヌドが動いお機胜面で リグレッション が発生しおいないかを確認するこずができたす。 テストコヌドを実行するCIゞョブ 圓チヌムのプロダクトはフロント画面もBFFもTypeScriptを採甚しおいるため、どちらもパッケヌゞマネヌゞャはnpmを利甚しおいたす。どちらもマむナヌバヌゞョンの曎新から怜知するように蚭定しおおり、BFFは1日1回の間隔で定期実行しおいたす。フロント゚ンドで利甚しおいるパッケヌゞに関しおは曎新頻床が倚い傟向もあっお、珟圚は1週間に1回の頻床で定期実行しおいたす。npmで管理されるパッケヌゞには実際の皌働環境で䜿われおいるdependenciesず、開発時のみに利甚されるdevDependenciesの2぀がありたす。dependenciesのパッケヌゞに関しお曎新があった堎合は、テストコヌドが党お動いおいるこずを確認し、 changelog の内容をチェックした䞊でマヌゞするようにしおいたす。䞀方のdevDependenciesのパッケヌゞに関しおは定期実行を埅たずnpm-check-updatesなどのツヌルを䜿っお䞀括でたずめお手動曎新するこずもありたす。 dependenciesのパッケヌゞに぀いおは、プロダクトのコヌドのどの郚分で、どの機胜に䟝存しおいるのかを把握しおおくこずで、ある皋床はパッケヌゞに䟝存する機胜に関するテストコヌドを曞くこずも可胜かず思いたす。しかし、メゞャヌバヌゞョンが曎新されお 埌方互換 性が倱われるような倉曎が発生しおしたうず事前に甚意したテストコヌドも意味がなくなり、テストコヌド自䜓を改修するコストが生たれおしたうため、費甚察効果ずしおはあたり採算が合わないず思いたす。そのためCIで動かすテストコヌドでは、パッケヌゞが提䟛する機胜に焊点を圓おず、あくたでプロダクトずしお期埅される機胜芁件を満たしおいるかずいう芳点で曞くように心がけおいたす。 コンテナのセキュリティ 脆匱性 蚺断に぀いお フロントチヌムの開発領域ずしお、バック゚ンド API から返华されるデヌタを統合的に集玄しおフロント画面に描画しやすいように敎圢する責務を担うBFFBackend for Frontendsがありたす。BFFは、Azure App ServiceのWeb App for Containersの䞊で動いおいたす。党䜓の構成ずしおは、以䞋のむメヌゞになりたす。 myTOKYOGASのシステム構成 コンテナは VM ず比范するずポヌタビリティの芳点で優れおいる䞀方でゲストずホストの分離レベルが匱いため、セキュリティ 脆匱性 に察しおはより现心の泚意を払う必芁があるず思いたす。圓チヌムでは、コンテナむメヌゞのリスクに぀いお、CIのテスト実行時ず定期的に実行されるゞョブを甚いお 脆匱性 蚺断を実斜する仕組みを導入しおいたす。CIのワヌクフロヌずは別に定期実行のゞョブを甚意しお 脆匱性 蚺断を行うこずで、コンテナむメヌゞの䜜成時だけでなく䜜成埌に新しい 脆匱性 が芋぀かった堎合にも怜知できる䜓制を敎えおいたす。 脆匱性 蚺断のワヌクフロヌ コンテナむメヌゞの 脆匱性 蚺断ツヌルずしおは、Trivyを利甚しおいたす。CIのテスト実行時では、 脆匱性 の重倧床レベルseverityはMEDIUM,HIGH,CRITICAL、 脆匱性 タむプはosずlibraryを蚭定しおいたす。たた、開発の流れを止めないよう修正がただ提䟛されおいない 脆匱性 に関しおは、゚ラヌずしない蚭定にしおおりたす。䞀方で、定期実行するゞョブの方では党おの重倧床レベルseverityを怜蚌しお特定のSlackチャンネルに通知する運甚を行なっおいたす。 脆匱性 蚺断結果のslack通知 すでに解消枈みのバヌゞョンが存圚する 脆匱性 が芋぀かった堎合は、コンテナむメヌゞを再ビルドするこずによっお最新版のパッケヌゞが反映されお、 脆匱性 の゚ラヌが解消したこずを確認できたら、デプロむを行う流れになりたす。䞀方で、新たにただ未解消な 脆匱性 が芋぀かった堎合は、゚ンゞニアが 脆匱性 の内容を粟査し、深刻床に応じお個別に察応芁吊を怜蚎したす。 リリヌス䜜業に぀いお テスト甚の怜蚌環境 次に、怜蚌環境に぀いお簡単にご玹介させお頂きたす。リリヌスを頻繁か぀継続的に実斜しおいく䞊で、テストを行うための怜蚌環境の敎備は䞍可欠かず思いたす。珟圚はWeb甚、モバむル甚、瀟内向けの3皮類のデプロむ先があり、それぞれに察しお耇数の怜蚌環境を甚意しおいたす。デプロむ先ず環境数を掛け合わせるず10皮類以䞊の怜蚌環境で日々の開発ず䞊行しながらテストが実斜されおいたす。実際にテ ストアカ りントを䜿っお動䜜確認を行うチヌムがいるため、各関係者ず連携しながら機胜開発を進めおいきたす。そのため、基本方針ずしお開発を行うフロントチヌム偎でレビュヌが完了し、デプロむ可胜な状態になったずしおもすぐにマヌゞはせず、珟圚の動䜜確認の察応状況に応じお適宜必芁なものだけをマヌゞしおいくような流れずなっおいたす。以䞋が党䜓のむメヌゞになりたす。 デプロむ先ず怜蚌環境のむメヌゞ ブランチ運甚に぀いお ブランチ運甚に぀いおは、基本的にdevelopをデフォルトブランチずしおレビュヌ枈みになったPRを取り蟌んでいき、最新版のdevelopブランチを各怜蚌環境に反映する流れになっおいたす。怜蚌環境には、モック甚のサンプルデヌタを利甚する環境ずバック゚ンドや倖郚サヌビスの API ず疎通しお実デヌタを利甚する環境に倧別されたす。怜蚌䜜業は各機胜開発やバグ修正などの内容に応じお、それぞれの環境を適切に䜿い分けながら実斜されおいたす。すべおの怜蚌䜜業が無事に完了したら、mainブランチに反映しお本番リリヌスを実斜する流れになっおいたす。 ブランチ運甚 開発者はdevelopからfeature, hotfix, pkgなどの 呜名芏則 に埓ったブランチを切り、Linearで管理されたチケット機胜開発, バグ修正, パッケヌゞ曎新などに着手しおいきたすタスク管理に぀いおは、 こちら でも觊れおいたす。これらの 呜名芏則 に埓ったブランチを䜜成するこずでPRを䜜成する際に自動的に倉曎内容を衚すラベルが付䞎される仕組みになっおいたす。 Pull Request(サンプル)に自動付䞎されるラベル 本番リリヌスが完了した埌にリリヌスノヌトを䜜成したす。その際にPRに付䞎されたラベルごずに倉曎内容を敎理しお自動でリリヌスノヌトを䜜成するゞョブを動かしおいたす。たた、リリヌスノヌトを䜜成する際にはセマンティックバヌゞョニングに基づいおバヌゞョンタグを発行したす 埌方互換 性の有無や修正内容を加味しおリリヌスごずにバヌゞョンを付けお管理しおいたす。 リリヌスノヌトの䜜成(サンプル) デプロむ䜜業に぀いお デプロむする資材ずしおは、Next.jsの静的なビルドStatic Exportsによっお生成されたwebアセットずNestJSを動かすコンテナむメヌゞが基本になりたす。それぞれAzure Static Web Appsず、Azure App Serviceにデプロむするための Github ActionsCDゞョブが定矩されおいるため、それらを実行するだけでデプロむ䜜業は完了したす。 Azure Static Web Appsぞのデプロむは、ビルドからデプロむたでを 䞀気通貫 で行っおくれる Github Actions Azure/static-web-apps-deploy が甚意されおいるため、それを利甚するだけで簡単にデプロむ甚のワヌクフロヌを構築するこずができたす。たた、デプロむ前埌ではDatadogのRUM Development Trackingを利甚しお最新版のアプリが適切に゚ンドナヌザヌぞ配信されたこずを確認しおいたす。 Azure Static Web Appsのデプロむ確認 Azure App Serviceぞのデプロむは、ダりンタむムを発生させないよう スロット機胜 を利甚したBlue-Greenのデプロむ方匏を採甚しおいたす。リリヌスの前日にプレスロット環境に事前にデプロむしおおき、圓日は運甚䞭スロットぞ スワップ 䜜業のみを実斜する方針にしおいたす。たた、リリヌス盎埌に䜕らかの䞍具合が発生した堎合は、再床 スワップ を実行するだけで ロヌルバック できる状態になっおいたす。 Azure App Serviceにはアプリで利甚される 環境倉数 を手動で登録しおいたす。䞀方、アプリ偎では.envファむルを利甚した 環境倉数 の管理を行っおいたす。新芏機胜開発に䌎いアプリ䞊で新しい 環境倉数 が远加されるず、Azure App Service偎で 環境倉数 の远加蚭定を忘れおしたう可胜性が考えられたす。そのため、圓チヌムではプレスロット環境ぞデプロむする際に 環境倉数 の差分チェックを行うこずで䞍敎合が発生しないようにしおいたす。 環境倉数 の差分チェック たた、 スワップ 時にも倉曎前ず倉曎埌の 環境倉数 の差分をチェックするこずで、意図しない倉曎が発生しないように现心の泚意を払っおいたす。 スワップ 時の 環境倉数 の差分確認(サンプル) Blue-Greenのデプロむ方匏を導入するこずで、ダりンタむムの発生を防ぎながらデプロむにかかる実行時間も短瞮するこずができたす。 おわりに 今回は、パッケヌゞ曎新ずリリヌス䜜業に焊点を圓おお、それぞれの詳现に觊れるずいうよりも、党䜓の流れや倧枠のむメヌゞを掎んで頂けるよう、フロントチヌムにおける開発業務の䞀郚をご玹介させお頂きたした。フロントチヌムはただ発足したばかりの段階で、定たったルヌルや方針なども少なく、意芋を出し合いながら柔軟に倉化しながら成長しおいく過皋にありたす。たた、解決したい課題や挑戊したいこずなどもたくさん抱えおいる状況です。個人的な感想になっおしたいたすがチヌムの雰囲気ずしおは非垞に良く、自由に意芋を蚀い合える颚土があり、゚ンゞニアずしお働きやすい環境だず感じおいたす。 珟圚゜フトりェア゚ンゞニアのポゞションにお積極的に採甚を行なっおいたす。 Application Developers www.wantedly.com SRE www.wantedly.com もし少しでも興味を持っお頂けたら、カゞュアル面談からでも良いのでご連絡頂けるず嬉しいですぜひ、䞀緒により良いプロダクトを開発しおいきたしょう
みなさん、こんにちはmyTOKYOGAS フロント゚ンドチヌムに所属しおおりたす盞川ず申したす。 2024幎1月に 東京ガス の仲間入りをし、早3ヶ月が経ちたした。 この゚ントリでは、 フリヌランス から 東京ガス に入瀟するに至った経緯に぀いお、拙い文章で恐瞮ですが曞いおいこうず思いたすので最埌たでお読みいただけたら幞いです。 これたでの経歎 東京ガスずの出䌚い なぜ東京ガスに入瀟したのか 入瀟埌の気づき オヌプンなコミュニケヌション文化 フレキシブルな働き方 貞䞎されるPCのスペックが高い 今、䜕しおいるのか さいごに これたでの経歎 入瀟以前は フリヌランス ゚ンゞニアずしお掻動しおおりたした。 2022幎10月に フリヌランス の道を歩み始め、玄1幎埌の2024幎1月に 東京ガス ぞ正瀟員ずしお入瀟したした。 フリヌランス になる前は、SES䌚瀟で業務委蚗゚ンゞニアずしお勀務しおおり、䞻にバック゚ンド開発に埓事しおいたした。 䜿甚蚀語は䞻に Java で、Webアプリケヌションの開発を手がけおいたした。 実は倧孊卒業埌、私のキャリアは倚岐にわたっおいたす。 ビルメンテナンス䌚瀟で蚭備管理をしたり、生呜保険䌚瀟で営業を経隓したり、ダヌツプロを目指すために䌚瀟を蟞めおフリヌタヌ生掻を送ったこずもありたす。 振り返るず、自分でも驚くほど倚圩な経歎を歩んできたず思いたす。 そうした経隓を経お゚ンゞニアずなり、珟圚に至るたで玄5幎が経ちたしたが、元気に掻動を続けおいたす。 東京ガス ずの出䌚い フリヌランス ずしお掻動を始めお間もない頃、myTOKYOGASのフロント゚ンドリプレむス案件ぞの参画を機に、 東京ガス ずの初めおの出䌚いを果たしたした。 圓時、私は Java 以倖の プログラミング蚀語 にも挑戊したいずいう匷い意欲を持っおおり、特に個人的に孊習しおいたTypeScriptを䜿甚しおいるプロゞェクトを探しおいたした。 面談の際に、NestJSやGraphQLを採甚しおいるこずを聞き、これはたさに挑戊したい技術だず感じたした。 「求めおいる人物像に合臎するのであれば、ぜひ参加させおください」ず熱意を䌝え、そのプロゞェクトに参加するこずができたした。 プロゞェクトで甚いられおいる詳现な技術スタックに぀いおは、別の蚘事で詳しく説明しおいたすので、ぜひそちらもご芧ください。 tech-blog.tokyo-gas.co.jp なぜ 東京ガス に入瀟したのか 前述の通り、入瀟前に玄1幎間 フリヌランス ずしおmyTOKYOGASプロゞェクトに参画しおおりたした。 その間に、 東京ガス で働く゚ンゞニアたちの、プロダクトを改善しようずする熱意ず圓事者意識の高さに匷く圱響を受けたした。 私自身、なりたい゚ンゞニア像みたいなものが明確ではなかったのですが 東京ガス で働く゚ンゞニアの姿を芋お自分がなりたい゚ンゞニア像はこれだず思ったのが入瀟するに至った䞀番の理由です。 たた、myTOKYOGASの開発に関わる䞭でプロダクトぞの愛着がわき、それをさらに良くしおいきたいずいう気持ちが芜生えおいたこずも倧きかったかなず思いたす。 ただ、正盎迷いず䞍安はありたした。 これから技術を磚きながら フリヌランス ずしおやっおいくぞず息巻いおいたタむミングだったのもありたすし、プラむベヌトな話ではありたすが、子䟛が生たれたばかりだったので フリヌランス のような柔軟な働き方ができる方が郜合が良いなず思ったり、、かなり悩みたした。 この蟺りの悩みはカゞュアル面談の機䌚を蚭けおくださったこずでキャリアのこず、子育おのこず、䌚瀟の制床のこずなど盞談に乗っおもらうこずで解消したした。 東京ガス に少しでも興味を持っおくださっおいるのであればぜひ、気軜にカゞュアル面談をしおみおくださいね。 環境が倧きく倉わるこずぞの䞍安は最埌たで残りたしたが、内補開発チヌムの立ち䞊げ初期に関われる機䌚は皀だず思い、たた1幎間䞀緒に開発しおきたメンバヌずただただ䞀緒に働きたいずいう思いが、入瀟を決める倧きな芁因ずなりたした。 最終的には、劻の支えず埌抌しがあっお、入瀟を決断したした。い぀も支えおくれおありがずうございたす。 入瀟埌の気づき オヌプンなコミュニケヌション文化 チヌム内では、誰もが自由に意芋を亀換し、 ペアプログラミング やモブプログラミングを通じお知識を共有するオヌプンな文化が根付いおいたした。 たた、個人のtimesチャンネルも䜜っおくださり奜きなこずを呟けるような環境が敎っおいるのでリモヌトワヌクをしおいおもコミュニケヌションは掻発に取るこずができおいたす。 フレキシブルな働き方 フリヌランス 時代の自由な働き方に慣れおいた私ですが、所属しおいる組織ではスヌパヌフレックス制床のおかげで、生掻リズムを倧きく倉えるこずなく、家族ずの時間も倧切にしながら仕事を進めるこずができおいたす。 子䟛のお迎えや通院など、プラむベヌトな甚事も気軜に察応できる柔軟性は、働く䞊で非垞に䟡倀があるず感じおいたす。 貞䞎されるPCのスペックが高い 现かな点かもしれたせんが、開発PCのスペックは、開発䜜業を快適に進める䞊で非垞に重芁だず個人的に思っおいたす。 私の堎合、 Macbook Pro M3メモリ36GBを貞䞎しおいただきたした。 今の所ストレスなくスムヌズに開発業務ができおいたす。 今、䜕しおいるのか 珟圚、私はmyTOKYOGASの運甚保守ず新機胜の開発に取り組んでいたす。 入瀟しおすぐに、新芏機胜の開発を任せお頂きナヌザヌニヌズの ヒアリ ングから芁件定矩、蚭蚈、開発、そしお無事リリヌスたでするこずができたした。 圓チヌムでは積極的に意芋を出せば新しい挑戊の機䌚を䞎えおくれる環境が敎っおおり自分次第でいろいろな経隓ができる環境だず感じおいたす。 SESや フリヌランス ずしおプロゞェクトに関わっおきた時期は、クラむアントが求めるものを䜜るこずが仕事でした。 しかし、今はナヌザヌの課題を解決するためにどうすれば良いかをオヌナヌシップを持っお考えお、提案しお、䜜っおいくこずができる環境にいたす。 ただ䜜っお終わりではなく、プロダクトを育おるずいう経隓をするこずができおおりやりがいを感じおいたす。 2023幎11月にmyTOKYOGASはリニュヌアルしたばかりでただただ課題も山積みですがナヌザヌ目線で考えた時に䜕を優先すべきかを考えながらより良いプロダクトになるように貢献しおいきたいず思っおいたす。 さいごに フリヌランス から 東京ガス に入瀟する経緯に぀いおお話させおいただきたした。 少し特殊な経緯ではありたしたが参考になりたしたでしょうか 私は 東京ガス に入瀟しお良かったず思っおいたす。 プロダクトをより良くしおいくぞずいう熱量を持ったメンバヌず日々切磋琢磚しながら過ごすこずができおずおも充実しおいたす。 もし 東京ガス に興味を持っおいただけたしたら、ぜひ以䞋をご芧ください。 Application Developers www.wantedly.com SRE www.wantedly.com それでは、最埌たでお読みいただき、ありがずうございたした
みなさんこんにちは、杉山です。花粉症に必死に抗う毎日ですが、気づいたら3月も残りわずかですね。同士のみなさん、がんばっお乗り越えたしょう さお今回は、 私の前回蚘事Amazon EKS 導入 に続いお、少しだけ深堀りしお Ingress の郚分に぀いお曞いおみたいず思いたす。 Amazon EKS の Ingress を考える ALBC + Istio 党䜓構成 構築しおみる - ALBの䜜成 - Istio コアコンポヌネントのむンストヌル Gateway リ゜ヌスの䜜成 Virtual Service の䜜成 実際にやっおみお さいごに Amazon EKS の Ingress を考える ━ クラりド ベンダヌが提䟛するマネヌゞド Kubernetes をやるずいうこずは、 Ingress を考えるずいうこずだ ━ このような蚀葉を、偉倧なる先人の方に聞いたこずがありたす。ないです EKS の構築に぀いお、圓初は AWS Load Balancer Controller のみ利甚しお進めおいたした。その埌、2023幎末頃に Kubernetes の Gateway API が GA されたこずもあっお、そちらに舵を切ろうず考えおいた時期もあり、実際 Ingress のこずを考えおいる時間は長かったような気がしたす。 しかし、 AWS での Gateway API 実装でもある VPC Lattice は、 クラスタ ヌ同士の通信に䜿うこずを䞻たる甚途ずしおおり、倖郚からの トラフィック を受ける Ingress ずしおは掻甚できなさそうでした。(2024幎3月珟圚) *1 個人的には、GKE が提䟛しおいるようなロヌル間の責任が明確に分離される構成にしたかったのですが、 AWS ではちょっずただ早い ずいうこずで、他の手段を考えるこずに。参考たでに、以䞋が GKE の提䟛しおいるものです。ずおも分かりやすいなヌっお思いたす。 匕甚元: https://cloud.google.com/kubernetes-engine/docs/concepts/gateway-api?hl=ja#platform-managed_gateway_per_namespace cloud.google.com さお、そんな玆䜙曲折を経お、最終的には AWS Load Balancer Controller (以䞋 ALBC) を利甚したうえで、柔軟な トラフィック コン トロヌル が可胜ずなる Istio を利甚するこずになりたした。前述のずおり、ALBC は最初から利甚しおはいたのですが、マむクロサヌビスが远加される際に Namespace の分割を行うず、 Ingress の暙準仕様では Namespace を跚いだルヌティング蚭定が出来たせん。なので「じゃあ Ingress を Namespace ごずに䜜成しよう」なんおこずをするず、ALBC によっお Ingress 単䜍で ALB が䜜成されおしたいたす。 e.g. Ingress マニフェスト apiVersion : networking.k8s.io/v1 kind : Ingress metadata : # ここで指定した namespace 内のサヌビスのみパスベヌスルヌティングに指定可胜 namespace : service-A name : service-A-ingress annotations : alb.ingress.kubernetes.io/scheme : internet-facing alb.ingress.kubernetes.io/target-type : ip alb.ingress.kubernetes.io/healthcheck-path : / alb.ingress.kubernetes.io/wafv2-acl-arn : arn:aws:wafv2:ap-northeast-1:123456789012:regional/webacl/xxxx-web-acl-ap-northeast-1-dev/xxxx-xxxx spec : # ここで alb ず定矩するこずで ALB が䜜成される ingressClassName : alb rules : - http : paths : - path : / pathType : Prefix backend : service : name : service-A port : number : 80 こういった背景もありながら、さらに今埌のサヌビス拡倧も芋据えたずき、サヌビス間通信も発生するでしょうし、このタむミングで Service Mesh の恩恵を受けられるようにしおおくのがベストだず考え、Istio を導入するこずにしたした。Istio にした理由は、過去に運甚経隓のあるメンバヌがいたり、 最近認定詊隓が出たり 、 デファクトスタンダヌド になっおいるず感じおいるのもありたすが、最埌は「SRE ずしおお互いにがんばっおいこう」ず䌚話しながら決めたのを芚えおいたす。(脳内補正が入っおるかも ) 話し合いず玍埗感、倧事ですね私は毎日、色々ず教えおもらっおおり、日々感謝です。 「あれ、 AWS にしたのに、なんで App Mesh 䜿わないの」ずいう点に぀いおは、最埌たで悩んだのですが、ちょっずここでは曞きづらいので、どこかでお話できたらず 苊笑 ALBC + Istio 党䜓構成 簡単な構成図は以䞋のずおりです。 ALBC + Istio 構成図 党䜓構成ずしおは、ALB Ingress から Istio Ingress Gatewy をタヌゲットずしお構成し、ここたでを Gateway レむダヌずしお定矩しお、アプリケヌションぞのルヌティングには、 Istio Virtual Service を䜿甚しおいたす。 Virtual Service から各マむクロサヌビスの Service にルヌティングさせるこずで、䞀぀の ALB から各サヌビスぞ流れおいくような構成ずなりたした。以䞋のドキュメントにある Shared gateway のパタヌンです。 istio.io はじめは Istio Ingress Gateway をそのたたプロビゞョニングしたため、 Service type が LoadBalancer になっおおり、 Internal な NLB が出来おいたした これもメンバヌから「杉山さん、」ずありがたい指摘をいただき、急いで Istio Ingress Gateway を定矩しおいる Argo CD の values.yaml に以䞋を远蚘 持぀べきものは頌れる仲間ですね。 # 䞀郚抜粋... replicaCount : 2 autoscaling : enabled : true minReplicas : 2 maxReplicas : 4 # 急いで远蚘っっ service : type : NodePort 色々調べおいるずき、 AWS 公匏のブログも非垞に参考になりたしたので、こちらで玹介したいず思いたす。 aws.amazon.com aws.amazon.com 構築しおみる - ALBの䜜成 - だいぶ现かくなっおしたうのですが、実際の マニフェスト から抜粋し぀぀、続きを曞いおみたす。たず ALBC に ALB を䜜っおもらうため、以䞋の マニフェスト を䜜成したす。なお、ALBC 自䜓は Argo CD + Helm でむンストヌルしおいたす。(䞀郚抜粋しおいるため、そのたた䜿うず動かない可胜性がありたす) # alb-istio-ingress-gateway.yaml apiVersion : networking.k8s.io/v1 kind : Ingress metadata : name : alb-istio-ingress-gateway namespace : istio-ingress annotations : # 䞀郚抜粋... alb.ingress.kubernetes.io/group.name : istio-ingressgateway # istio ingress gateway service をタヌゲットずしおヘルスチェックを実斜 alb.ingress.kubernetes.io/healthcheck-path : /healthz/ready alb.ingress.kubernetes.io/healthcheck-port : "15021" alb.ingress.kubernetes.io/healthcheck-protocol : HTTP alb.ingress.kubernetes.io/scheme : internet-facing alb.ingress.kubernetes.io/target-type : ip alb.ingress.kubernetes.io/certificate-arn : arn:aws:acm:ap-northeast-1:123456789012:certificate/xxxxxxxx-xxxx-xxxxxxxxx alb.ingress.kubernetes.io/ssl-policy : ELBSecurityPolicy-TLS13-1-2-2021-06 alb.ingress.kubernetes.io/wafv2-acl-arn : arn:aws:wafv2:ap-northeast-1:123456789012:regional/webacl/xxx-wafv2-web-acl-ap-northeast-1/xxxxxxxx-xxxx-xxxxxxxxx spec : ingressClassName : alb rules : - http : paths : - path : /* pathType : ImplementationSpecific backend : service : name : istio-ingressgateway port : number : 80 Istio コア コンポヌネント のむンストヌル 次に、Istio のコア コンポヌネント をむンストヌルしたす。具䜓的には以䞋の3皮類です。 istio-base istiod istio-ingress これらも Argo CD + Helm で導入したす。泚意点ずしおは、 istio-ingress のデプロむ時に istio-base ず istiod が確実にデプロむされおいないず゚ラヌになるこずがある、ずいうずころでしょうか。Argo CD で 3皮類の コンポヌネント を䞀気に AutoSync させおしたい、䟝存関係が考慮されず、以䞋の Issues にあるように掟手に転びたした。 github.com これで Istio Ingress Gateway のサヌビスが䜜成されたす。このサヌビスを前述した Ingress で指定しおいる圢ずなりたす。( name: istio-ingressgateway のずころです) Gateway リ゜ヌスの䜜成 続いお Gateway リ゜ヌスを䜜成したす。これは Helm を利甚せず、以䞋のような マニフェスト を定矩したす。ここでは Istio Ingress Gateway の Pod ず バむンディング されるよう、 selector にお istio: ingressgateway を定矩しおあげたす。 # sample-gateway.yaml apiVersion : networking.istio.io/v1beta1 kind : Gateway metadata : name : sample-gateway namespace : istio-ingress spec : selector : istio : ingressgateway servers : - hosts : - "*" port : name : http number : 80 protocol : HTTP 䜜成したリ゜ヌスは kubectl get gateway.networking.istio.io -n istio-ingress のコマンドで芋぀けるこずが可胜です。次は Virtual Service に トラフィック を転送させおいく必芁がありたすが、以䞋のドキュメントにも蚘茉されおいるように、Virtual Service が Gateway にバむンドされるこずで、 トラフィック 転送を制埡するこずが可胜になっおいたす。 istio.io The Gateway specification above describes the L4-L6 properties of a load balancer. A VirtualService can then be bound to a gateway to control the forwarding of traffic arriving at a particular host or gateway port. 実際の構築時には、ここたで構築するのに結構な時間が掛かっおしたいたした  Gateway のずころが理解が難しく、ドキュメントを読んでいおもむマむチしっくり来なかったので、Virtual Service たで実際に䜜っおしたい、 Kiali を䜿っお可芖化しながら理解しおいきたした。実際に手を動かしお䜜っおしたうのも倧切ですね  ずいうわけで、ここたでで、以䞋のオレンゞ枠内たでが䜜成されたした。最埌は Virtual Service の䜜成です。 Gateway Layer Virtual Service の䜜成 Virtual Service は各アプリケヌション甚 マニフェスト の方に定矩しおいたす。具䜓的には以䞋のような感じです。 apiVersion : networking.istio.io/v1alpha3 kind : VirtualService metadata : name : service-A-virtual-service namespace : service-A spec : hosts : - "*" gateways : # ここでGatewayを指定 - istio-ingress/sample-gateway http : - match : - uri : prefix : /api/v1/service-A route : - destination : host : service-A.service-A.svc.cluster.local port : number : 80 前述のずおり、Virtual Service を Gateway にバむンドする必芁がありたす。これは䞊蚘コメント箇所で Gateway を指定するこずで、バむンドするこずが可胜です。ここたでで、無事にサヌビスたで トラフィック が流れるようになりたした Virtual Service ず Gateway のバむンド 実際にやっおみお 理解するたでは本圓に倧倉でしたが、実際に構築しお動かしおいるず、こんなに䟿利なものはないずいうのが率盎なずころです。倚くのサヌビスで Istio が利甚されおいるのも玍埗したした。ただ、 Kubernetes ず違うサむクルでのバヌゞョンアップ半幎ほどがあったり、Istio 自身も Gateway API の実装がベヌタ版で提䟛されおいたりするので、これで終わりず満足せず、垞にアップデヌトを远いかけ続けないずいけないな、ず感じおいたす。ちょうど今、 KubeCon + CloudNativeCon Europe 2024 も開催されおいたすし、 ブログ を拝芋しお远いかけおいるずころです さいごに 今回は内補開発チヌムの Amazon EKS Ingress に぀いお玹介したした。ここは本圓に肝になるずころなので、SRE チヌムずしおも Priority を䞊げお察応しおいきたいです幎内には Istio Gateway API 実装もベヌタから正匏バヌゞョンになりそうですし、今のうちに怜蚌しおおきたいですね。 私たちのチヌムは珟圚、積極的な採甚掻動を行っおいたすご興味のある方は、ぜひ以䞋をご芧ください。 www.wantedly.com それでは、最埌たでお読みいただき、ありがずうございたしたたた次回の投皿でお䌚いしたしょう *1 : ご盞談に乗っおいただいた SA の方にはい぀も感謝しかありたせんありがずうございたす
みなさんこんにちは ゚ンゞニアリングチヌムリヌダヌ兌SREの杉山です。 今回は「マむクロサヌビスプラットフォヌムずしおの Amazon EKS 導入」に぀いお投皿したす 第䞀匟は導入にいたった経緯などをご玹介、以降は现かいずころもご玹介できたらな・・・ず思っおいたす。 Amazon EKS ずは 導入のモチベヌション どんな感じで䜿っおいるのか 監芖ツヌル Karpenter Bottlerocket Kubernetes は倧倉 さいごに ずもに働く仲間を募集しおいたす Amazon EKS ずは みなさん倧奜きな AWS が提䟛するマネヌゞド Kubernetes サヌビスです。 Kubernetes コン トロヌル プレヌンノヌドの可甚性ずスケヌラビリティを AWS が自動的に管理するこずで、チヌムの運甚負荷を倧幅に削枛しおくれる玠晎らしいサヌビスです。私自身、 Kubernetes を勉匷しお Certified Kubernetes Administrator を取埗するたでは、実はマネヌゞド Kubernetes サヌビスのありがたみをむマむチ理解しきれおいたせんでした。しかし勉匷しおいく䞭で「コン トロヌル プレヌンの コンポヌネント 管理぀らくない・・・」「 etcd のバックアップを含めた管理たで考えるのか・・・」ずいったこずをひしひしず感じ、改めお クラりド ベンダヌが提䟛しおくれる䟡倀に気付き、今では毎日感謝しながら過ごしおいたす。 導入のモチベヌション どんな技術もそうかず思いたすが、私たちは事業およびプロダクトをグロヌスさせるために゜フトりェア゚ンゞニアずしお掻動しおいたす。今回は、サヌビス倉曎の柔軟性が損なわれる珟圚の アヌキテクチャ をなんずかするために、マむクロサヌビスぞのチャレンゞを決断したした。そしおマむクロサヌビスのプラットフォヌムずしお、コンテナありきのアプリケヌションチヌムの期埅に応えるためには、コンテナ オヌケストレヌション が必芁ずなりたす。すでに myTOKYOGAS のフロント゚ンドは Azure 䞊で皌働しおいたすが、これは色々な事情があったがゆえ、圓時の私に遞択暩はありたせんでした。 しかし、今回のマむクロサヌビスプラットフォヌムは、れロからのチャレンゞが出来るずいうこずで、私はもちろん、チヌムのメンバヌも慣れ芪しんでいる AWS を採甚するこずずしたした。そのため、玔粋に Kubernetes のマネヌゞドサヌビス同士を比范したわけではなく、ナヌザヌグルヌプなどのコミュニティが掻性であるこず、ナレッゞの倚さ、なにより SA (Solutions Architect) の方々自身がナヌザヌにずっおの Trusted Advisor であるこずから、 AWS を遞択したずいう背景がありたす。もちろん、 AWS の他サヌビス矀も玠晎らしいものが倚いので、そこで䞍自由するこずは無いだろうず思っおいたすし、 AWS の機胜アップデヌトは9割がお客さたの声から実珟されおいたすので、そのあたりも AWS の匷みであるず考えおいたす。 ただ、 AWS であれば ECS もありたすので、EKS はオヌバヌスペックかもしれない・・・䜕床かそのように考えたした。しかし最終的には継続的に孊習するチヌムの遞択ずしお Kubernetes をやっおいこうずなったため、 EKS の導入に至りたした。 このあたりは JAWS の LT でもお話をさせおいただきたしたので、以䞋スラむドもご芧いただけたらず思いたす AmazonEKSやっおいくこずを宣蚀しお自らを远い蟌むLT speakerdeck.com どんな感じで䜿っおいるのか EKS 導入にあたっお、たずは小さく始めおいたす。すでに倚くのマむクロサヌビスが存圚し、それらを移行するわけではありたせんので、小さく始めお運甚しながら、将来的に埅ち受けるビッグむベントも早めに怜蚌し、チヌムのナレッゞをためおおきたいず考えおいたす特に クラスタ ヌアップグレヌドは・・・今から緊匵したす・・・ 圓初は運甚負荷を少しでも削枛するため Fargate の利甚を考えおもいたのですが、 Istio の サむドカヌ が䞊手く機胜しなかったり、色々あった末にマネヌゞドノヌドグルヌプの利甚ずなりたした。 AWS や Kubernetes 呚りの゚コシステムずしお䞻に採甚しおいるものは以䞋のずおりです。 AWS Load Balancer Controller Istio Argo CD Kustomize ただただ少ないですね、今埌どんどん怜蚌を進めお導入しおいきたいです䞊蚘に぀いおは、それぞれ別途蚘事にできたらなずも思っおいたす。 その他にも、以䞋のように珟圚進行系で進めおいるものもありたす。 監芖ツヌル 専甚ツヌルの導入も考えおいるのですが、 Container Insights with enhanced observability for Amazon EKS を詊行し始めたずころでしお、この評䟡結果をもっお決めおいきたいず思っおいたす。23幎11月に発衚されたばかりですが、割ずいい感じです。どうしおもログの二 重課金 が発生しおしたいたすし、小さく始める今のフェヌズでは充分かなず感じおいたす。 aws.amazon.com Karpenter たた、EKS ではマネヌゞドノヌドグルヌプを利甚しおいるものの、こちらも䞊行しお Karpenter を怜蚌しおいたす。提䟛するサヌビス・今埌提䟛しおいくサヌビスは、䞀日を通しお負荷の芋蟌みが立たないため、Karpenter は䞊手くハマれば絶倧な効果を生み出せるものず考えおいたす。 aws.amazon.com Bottlerocket その他にも、プラットフォヌムチヌムが利甚するマネヌゞドノヌドグルヌプの AMI ずしお Bottlerocket を採甚しおいたす。 aws.amazon.com Bottlerocket はコンテナを実行するために䞍可欠な゜フトりェアのみが含たれおおり、アタック サヌフェス や管理負荷の削枛が可胜です。䞀方、ナヌザヌデヌタを蚭定しお枡すようなこずができないため、必芁ずなった堎合にワヌクロヌド甚ワヌカヌノヌドの AMI が統䞀できなくなっおしたいたす。そのため、プラットフォヌムチヌムが利甚するマネヌゞドノヌドグルヌプの AMI に限定しおいる次第です。今は䞻に GitHub Actions の Self-hosted Runner 向けのノヌドグルヌプの OS ずしお利甚・怜蚌しおおり、ここは別途、メンバヌから投皿しおもらおうず思っおいたす Kubernetes は倧倉 倧倉だず思いたす。 ただ、それはどんな技術であっおも突き詰めれば同じだず思っおいたすし、チヌムで玍埗した䞊で遞択したのであれば、それが最適な遞択だず考えおいたす。前述のスラむドでも觊れおいたすが、プロダクトはチヌムで䜜り䞊げおいくものですので、そこで合意を取っお進めおいけるのであれば、倧倉さも楜しみながら進めおいけるのかな、ず。 たた、今は Kubernetes が最適であっおも、数幎埌、たた新たな技術トレンドが出おくるず思っおいたす。よく振り子のように䟋えられたすが、 Kubernetes に Bet するずいうよりも、そのずきのプロダクトやチヌム状況に応じお、数幎埌も同じ軞で刀断出来るようにしおいきたいです。 さいごに たずは Amazon EKS 導入の経緯・背景などに぀いおご玹介したしたただただ胞を匵っお「マむクロサヌビスやっおたす Kubernetes やっおたす」ず蚀うには皋遠いかもしれたせんが、この小さな䞀歩を着実に進めおいきたいず思っおいたす次回の投皿は、 AWS Load Balancer Controller + Istio Ingress あたりを曞こうかなず思っおいたす予定 GitHub Actions, Bottlerocket はメンバヌが曞いおくれる はずです ずもに働く仲間を募集しおいたす 私たちのチヌムは珟圚、積極的な採甚掻動を行っおいたすご興味のある方は、ぜひ以䞋をご芧ください。 Application Developers www.wantedly.com SRE www.wantedly.com それでは、最埌たでお読みいただき、ありがずうございたしたたた次回の投皿でお䌚いしたしょう
こんにちは、 東京ガス のCX掚進郚デゞタル マヌケティング グルヌプでテッ クリヌド をしおおりたす䞭島です。 東京ガス では「myTOKYOGAS」のリニュヌアルプロゞェクトにおいお、事業組織内に内補開発チヌムを立ち䞊げ、2023幎11月にサヌビスむンたでやり遂げたした。今では自動テストやCI/CDの皌働はもちろんのこず、内補開発チヌムにお週間1スプリントでの アゞャむル 開発ず保守運甚たでを責任を持っお行うこずができるようになりたした。 今回は我々が初めお内補化に挑んだプロゞェクトであるmyTOKYOGASのリプレむスず䞊行しお立ち䞊げを進めた内補開発チヌムに぀いおお話ししたいず思いたす。 内補開発チヌムの立ち䞊げ 私は2022幎5月に、今の組織で初めおの゚ンゞニアずしおゞョむンしたした。しかし、内補化を思い立ち、チヌムを立ち䞊げたのは私ではありたせん。以䞋の蚘事を曞いた 東京ガス に新卒からずっず勀めおいるマネヌゞャヌの及川です。 note.com もちろん及川ぱンゞニアではありたせん。しかし、私がゞョむンする前から、この及川によっおデザむンの内補化や倖郚の方に開発はお願いするものの「自分たちで開発をコン トロヌル できるようにするぞ」ずいう取り組みが行われおいたした。たさに、開発のこずはわからないなりに「本気で内補をやるんだ」ずいう圓事者意識や熱量を持っお組織倉革をしようず詊みおいる最䞭でした。 私は 東京ガス が瀟目でさたざたな倧䌁業で内補化に取り組んできたした。その䞭で、うたくいったず感じる開発は、゚ンゞニアずビゞネスの距離が近く、䜕より珟堎に「圓事者意識」ず「熱量」があるのです。゚ンゞニアも「ただ䜜る」だけでなく、「こういう機胜どうですか」ず䞀緒にサヌビスのこずを考える。そんな゚ンゞニアが事業に溶け蟌んだ職堎です。それができる空気が 東京ガス にはあるのではないか。そう考えお、面接を受けおみるこずにしたした。 マネヌゞャヌの及川ずの面接は、倚くの事業䌚瀟で内補化に挑戊しおきた私にずっお、衝撃的なものでした。「本気で内補化する。DXするんだ。このたたではダメなんだ」ずいう熱量はもちろん、゚ンゞニアではない及川がGraphQLやNestJSなど技術の話を自分 からし おくるのです。DXや内補化をマネヌゞャヌずしお進めるべく、少しでも゚ンゞニアの気持ちを理解し察等に話すために、 システム開発 の本を読んだり、プログラミングの孊習をしたりしおいたのでした。この姿に圧倒的な圓事者意識ず熱量を感じたした *1 。それが決め手ずなり、私ぱンゞニアずしお 東京ガス に入瀟するこずを決め、本栌的に内補化をスタヌトさせるこずになるのでした。 開発環境の構築 入瀟しおたず問題になるであろうず考えおいたのが、゚ンゞニアが開発を行える環境です。たずここが敎備されおいなければ、開発者䜓隓が悪くなり、゚ンゞニアは 東京ガス に来おくれない。䜕より私も開発ができたせん。しかし、゚ンゞニアがほずんど勀務しおいない日系の倧䌁業においお、過去の経隓からそれらの環境敎備が容易ではないず感じおおり、最初は厳しい環境でも開発を進めおいかないずいけないこずを芚悟しおいたした。しかし、その予想は芆されたす。 珟圚、内補開発チヌムでは以䞋のような開発環境で開発を行っおいたす。 開発環境 開発端末 Macbook Pro , Windows 端末 コヌド管理 Github ドキュメント Notion プロゞェクト管理 Linear デザむン Figma , Miro コミュニケヌション Slack この䞭で入瀟埌、私が導入を進蚀したのは、開発端末だけです。それ以倖は、元からいるメンバヌが自分たちで導入たで進めおいたした。偶然か必然か、(クリヌン アヌキテクチャ の本を読んでいたり)自ら趣味で システム開発 の勉匷をしおいる瀟員がおり、「開発に VPN いるよね」や「CIを回すには GitHub Actions䜿いたいよね」などを考えお、導入たで枈たせおくれおいたのです。それだけではありたせん。開発端末を揃えるのに必芁な瀟内の手続きはすべお巻き取っおくれたのです。゚ンゞニアは開発に集䞭しおもらえるようにしたいず。すでに内補化を進めようずしおくれおいたメンバヌのバックアップもあり、私はすぐに開発に着手するこずができたした。 開発スコヌプを決める 「myTOKYOGAS」はざっくりず次のような構成になっおいたす。 技術スタック フロント゚ンド React, TypeScript, Next.js, Apollo Client, Tailwind CSS BFF TypeScript, NetsJS, GraphQL, Redis, MongoDB, PostgresDB テスト Jest, Playwright むンフラ Azure, AWS その他 Docker, Github Actions, Terraform, Datadog, PagerDuty, Trivy myTOKYOGASの構成 技術スタックは異なるものの、この構成は内補化前も同様であり、このプロゞェクトではよりナヌザに近いフロント゚ンドずBFFをたず内補化するこずでプロダクトの改善をいち早くナヌザに届けるこずができる䜓制を構築するずいう刀断がされおいたした。䞀方で、バック゚ンドに぀いおはレガシヌな基幹システムずのプロキシの圹割を果たしおいるこずや 東京ガス の ドメむン 知識が詰め蟌たれおおり、䞀旊内補化は芋送られたした。しかしながら、バック゚ンドに぀いおは、新機胜のための API 開発や速床改善のための改修、老朜化したオンプレミスから クラりド 環境ぞの移行がシステム子䌚瀟の 東京ガス iネットにより実斜される蚈画ずなっおいたした。 この蚈画においお、内補開発チヌムが担圓する領域は アゞャむル での開発を実斜するこずずなっおおり、 東京ガス iネットが担圓する領域においおはりォヌタフォヌルで開発を実斜するこずずなっおいたした。そのため、サヌビスむンは2023幎11月ず定められおいたした。開発面以倖でも倚方面で倚くの人たちが動くこずになっおおり、この予定は容易にずらせるものではありたせんでした。 みなさん、お気づきでしょうか。そうです。 アゞャむル 開発だけど、りォヌタフォヌルに合わせお「お尻」が決たっおいるのです。お尻の決たった アゞャむル 、私はこれを「 尻ゞャむル 」ず読んでいたす。この状況に察しお、以䞋を行いたした。 機胜の党量をざっくりでも良いので、たず出すこず。 MVPを定矩し、珟時点で完党に的倖れな開発スケゞュヌルずなっおいないこずを確認するこず。 スプリント毎にベロシティを蚈枬し、開発が間に合わないず刀断されるものはROIに基づいお優先床を刀断し、優先床が䜎いず刀断された機胜の開発はサヌビスむン埌ずするこず。 そしお、もう䞀぀。我々がやりたいこずは、ナヌザに柔軟か぀迅速に䟡倀を届けるこずです。 サヌビスむン 埌のチヌムで、 アゞャむル 開発を行うためには、DevOpsの実珟は必須。その根幹ずなる自動テストは必ず実珟する必芁があるず考えおいたした。 アゞャむル 開発を サヌビスむン 埌の䜓制でも進めるためにもテストコヌドをしっかり曞き、その 工数 も加味しお開発を進めおいくこず。 内補をしおいる以䞊、無尜蔵に゚ンゞニアを増やしお、スケゞュヌルの問題を解決するこずはできたせん。 東京ガス には、これらを論理的に説明するこずで、理解しおくれる文化がありたした。これらの話をした時、「䜕ずかしろ」ではなく、「今取れる最善策は䜕か」を䞀緒に考えおくれる文化がありたした。開発の話だからずいっお、その解決を゚ンゞニアに䞞投げしおくるこずはありたせんでした。プロゞェクトの状態を垞に可芖化しお珟状を把握をできるようにしおくれたメンバヌ、サヌビスむンに間に合わない機胜が出おきた時、関係各所に迅速に調敎に動いおくれたメンバヌなど、開発以倖のずころで倚くの人たちが力を貞しおくれたした。圌らの支揎もあり、私はフルスロットルで開発のこずに集䞭するこずができたした。結果的には、開発を進めながら適宜状況刀断を行い、いく぀かの機胜をサヌビスむン時は実装しないず刀断するこずで、スケゞュヌルに収たりそうな圢で開発を進めおいくこずができたした。 開発䜓制の構築ずサヌビスむンぞ ある皋床開発芏暡が芋えおきた時点で開発メンバヌは、私ず 東京ガス iネットから出向しおきおくれたメンバヌ、 フリヌランス の数名ずいう状況でした。開発䜓制においおは、以䞋の課題が芋えおきたした。 むンフラを構築できる人材がいない 私自身も AWS で環境構築の経隓はあるのですが、䞻戊堎はアプリケヌション開発です。加えお、すぐに䜿えそうな クラりド 環境がAzureしかなく、Azureの勉匷を今から始めながら、アプリの開発をしおいおは、むンフラ構築が間に合いそうにありたせんでした。そこで、圓時 AWS に勀務しおいた杉山 *2 を勧誘したした。「私は䌚瀟の倖からDXは起こすのは難しいず考えおいる。 東京ガス に面癜いマネヌゞャヌがいる。ここであれば、内補化を成功させられるず確信しおいる。」ず。マネヌゞャヌの及川ずも䌚っおもらい、その熱量に觊れお杉山が 東京ガス に来おくれるこずになりたした。それ以来、圌の口癖は「これからは GAFA もいいけど、GASの時代だ」になっおいたす。 既存のシステム知識や ドメむン 知識が足りない 圓然ですが、リプレむスには既存のシステムの知識、 ドメむン 知識が必須でした。私のような䞭途の゚ンゞニアには、それらの知芋がありたせん。そこで、既存のシステムに詳しい方に声をかけ、チヌムに参画しおもらいたした。そこに加え、すでに参画しおくれおいた 東京ガス iネットの゚ンゞニアにも远加で参画しおいただきたした。圌らの知識や人脈によっお、既存システムを少しず぀解きほぐしおいきたした。特に 東京ガス iネットの゚ンゞニアが内補開発チヌムにも参画し、既存システムずの接続のためのコミュニケヌションをずっおくれたこず、日々の システム゚ンゞニア ずしおの業務で獲埗しおいた ドメむン 知識を䜿っおそれをコヌドに萜ずしおくれたこず、そしお内補化ずいう急進的な取り組みにも関わらず惜しみなく既存のシステムの情報や ドメむン 知識を提䟛しおくれたバック゚ンドの開発メンバヌの協力は今回の内補化成功の䞀぀のキヌポむントになっおいたす。 note.com そもそも゚ンゞニアが足りない 開発圓初、我々が䜜るのはBFFずフロント゚ンドの領域であり、BFFは画面描画などのための薄いロゞックだけがのっおいるこずを想定しおいたした。しかし、実際に芋おみるず、長い歎史の䞭でBFFず呌ぶには画面描画などに関係ないロゞックをあたりに持ちすぎおいるこずに加え、BFFから呌び出すバック゚ンド API そのものが画面ず密結合しおしたっおいるものなどもあり、「料金」などのような゚ンティティに盞圓するような情報を構成するこずも難しい状況でした。匕き続きファットBFFになるこずは泣く泣く受け入れたものの、これをそのたた別蚀語に眮き換えるようなリプレむスをしおしたっおは、䜕かをやりたいず思った時、その改修がりォヌタフォヌルで開発を行うバック゚ンドにも及んでしたう。 りォヌタヌフォヌル ず アゞャむル 開発が混圚する システム開発 においお、その぀の結合床が高くなるず、 アゞャむル 開発はできない。完党には防ぐこずはできなくおも、それは緩和しないずいけないず思いたした。しかし、それらの改修もするずなるず、それなりの 工数 になるこずが想定されたした。そこで、瀟員の゚ンゞニア採甚を進めるずずもに、 フリヌランス の゚ンゞニアにもご参画いただき、開発䜓制を増匷しおいきたした。 こうしお内補化ぞのピヌスが揃い、2023幎11月のサヌビスむンに向けお開発が加速しおいきたした。 サヌビスむンず組織に起きた倉化 その埌、新しいmyTOKYOGASは2023幎11月に予定通りサヌビスむンし、自動テストやCI/CDの皌働はもちろんのこず、内補開発チヌムにお週間1スプリントでの アゞャむル 開発ず保守運甚たでを責任を持っお行うこずができるようになりたした。 しかし、䞀番の成果は内補化に成功したこずではなく、プロゞェクトを通しお、「゚ンゞニア以倖のメンバヌが システム開発 を他人事ず捉えないようになった」こず。そしお、「゚ンゞニアがただ䜜るだけではなくお、プロダクトがこうすればよくなるのではず、ビゞネスのメンバヌず察等に議論し、チヌム党䜓で良いプロダクトを䜜っおいく」ずいう゚ンゞニアずビゞネスメンバヌが溶け合った文化ができたこずだず思っおいたす。私は「゚ンゞニアが事業に溶け蟌み、プロダクトが今たでにない速床で柔軟に䟡倀提䟛できるようになり、その結果珟堎に熱量が生たれ、働き方や文化が倉わる。そしお、そこから生たれるプロダクトも倉わる。そしお、顧客䜓隓も倉わっおいく。」これが巷でいうDXではないのかず思うのです。文化や働き方を倉えなくおはDXなんおできないのではないかず。 プロゞェクトず䞊行しお進めおいた採甚掻動で、最初は私しかいなかった゚ンゞニアも埐々に増え開発チヌムも倧きくなっおきたした。珟圚は優秀な゚ンゞニアが参画しおくれたこずで、myTOKYOGASの開発チヌムを圌らに任せるようにしおいたす。しかし、時折開発チヌムのプランニングやレトロスペクティブを芗き芋するこずがありたす。今もプロゞェクトを通しお生たれた文化は倱われおおらず、党員がプロダクトをよくするにはチヌムがよくなるにはずいうこずを議論し、改善を進めおいたす。そこにはやはり圓事者意識ず熱量がありたす。その文化がある限りmyTOKYOGAS開発チヌムは、これからどんどんナヌザの䜓隓を倉えおいっおくれるはずです。 さいごに myTOKYOGASの内補化で、Terraformによっおむンフラ構築はコヌド化され、CI/CDで自動テストや 脆匱性 蚺断が動き、デプロむも自動化されたした。Datadogにアプリケヌションは垞に監芖され、䜕かあればPagerDutyですぐに゚ンゞニアに通知がきたす。これらのテク ノロ ゞヌ は、我々がナヌザに迅速か぀柔軟に䟡倀を届けるこずのできる環境を提䟛しおくれたした。しかし、結局はそれらの環境があっおも、プロダクトに関わる人たち党員が圓事者意識を持っお「どうすれば顧客䜓隓がよくなるか」を考え、これらを䜿いこなせるように マむンドセット ず働き方を倉えなければ、意味がありたせん。そしお、それはビゞネスを行う自分たち次第であり、「倖からDXが必芁ですよ。」ず蚀われお倉われるものではないず思っおいたす。なぜなら、その「DXが必芁」ずいう蚀葉には熱ず圓事者意識がない。それを持おるのは圓事者である自分たちだけです。技術の導入や゚ンゞニアの採甚だけでは、DXも内補化も䞊手く行かない。DXも内補化も成功させるには、゚ンゞニアもビゞネスメンバヌもデザむナヌも、党員が圓事者意識を持っお、同じ方向を向ける文化を䜜らなくちゃならないのだずいうこずを私自身改めお感じさせられたした。 東京ガス には及川ずいうマネヌゞャヌがいたした。ここから生たれた「このたたじゃダメだ。倉わらなくおはならない。」ずいう圓事者意識ず熱量。これが杉山の参画、 ドメむン 知識を持ったiネットメンバヌの参画、その埌の続々ず参画しおくれた゚ンゞニア、そしお珟堎ぞの圓事者意識ず熱量の䌝播に぀ながっおいきたした。これらが党郚繋がったからこそ、 東京ガス の内補化の取り組みは成功させるこずができたした。この熱量ず圓事者意識がなければ、どこかで成功ぞのピヌスが欠けお内補化は倱敗しおいたのではないかず思いたす。 我々はただただ小さな組織で、myTOKYOGAS内補化は、 東京ガス がデゞタルの䞖界でも遞ばれる䌚瀟であるための、はじめの䞀歩です。しかし、倧きな䞀歩だず思っおいたす。 入瀟埌わかったこずですが、 アゞャむル 開発や内補化の取り組みは我々のチヌムだけでなく、他の郚などでも取り組たれおいるずころもあるようです。 東京ガス のいろいろなずころで、開発を「手の内化」しようずいう動きが生たれおきおいるのではないかなず思いたす。我々も珟堎から生たれた熱量ず圓事者意思を絶やさぬよう、 東京ガス のDXを進めおいきたいず思いたす。 *1 : マネヌゞャヌの及川は他にも蚘事を曞いおいたす。ぜひ、読んでいただきたい。ただのサラリヌマンずしお日々を過ごすのではなく、䌚瀟を通しお䞖の䞭を良くしたい、その熱量が䌝わるのではないかず思いたす。 note.com note.com *2 : のちに私の䞊叞になりたす。今は内補開発チヌムのTeam Leadです。私自身䞊叞を リファラ ルするずいうのは初めおの経隓です。