GitHub

ギットハブ

GitHub - ユーザー事例 - KDDI株式会社様

KDDI株式会社 様
KDDI株式会社 様
KDDI株式会社 様

KDDI株式会社
移動通信・固定通信の両方を併せ持つ総合通信事業者。固定・モバイル双方にコンテンツアプリケーションを提供する「マルチユース」、固定系とWi-Fiを有機的に組み合わせる「マルチネットワーク」、スマートデバイス・PC・TVでコンテンツサービスを利用できる「マルチデバイス」による「3M戦略」で生活革命を目指すとともに、通信のみならずコマースや金融、電気事業といった分野を含めた総合的なライフデザインの提供、国内で培った通信事業のノウハウを海外市場でのICT環境の整備に活かし、各国の経済成長・国民生活の向上や企業活動に貢献する「グローバル戦略」の2つの成長戦略を基軸に改革を進める。

Before
  • 市場変化への迅速な対応が難しく、開発スピードとアジリティが不足
  • サードパーティツールとの連携が不十分かつ不安定
  • 部門・プロジェクトを超えた横の繋がりがなく“車輪の再発明”が蔓延
矢印:横
矢印:縦
After
  • 「auでんきアプリ」をわずか4か月で開発、リードタイムの短縮を実現
  • 連携プラグインが豊富なため、CI/CDとインフラの構成管理の自動化を実現
  • 開発ノウハウの継承やコードの再利用が容易となり開発コストの削減に期待

小売電気事業に参入したKDDI 専用アプリで他社との差別化に成功

KDDI 株式会社(以下、KDDI)は、高品質の通信サービスや新しい社会的価値を持ったサービスを提供し、豊かなコミュニケーション社会の実現に貢献してきた。特に、個人顧客向けには「au」ブランドのもと、移動体通信(au 携帯電話)事業と固定通信(ブロードバンド・インターネット、固定電話)事業を展開しているが、その一環で新たな分野にチャレンジしたのが、2016 年4月からの電力全面自由化に合わせて提供を開始した「auでんき」だ。

KDDI が小売電気事業者として一般家庭向けを含む全ての需要家に電気の販売を行うauでんきは、au のケータイやスマートフォンと合わせて利用することで毎月の利用料金に応じたキャッシュバックが実施されるなど、電力自由化市場でも高い関心をもって迎えられている。特に、電気をより効率的に使うための情報を入手できる業界初のスマートデバイス向け専用アプリ「auでんきアプリ」で他社との差別化に成功している。

auでんきアプリは、世帯別の電気使用量を日次・週次・月次・年次で細かく可視化できるほか、来月以降の使用予測量もkwと金額で表示し、最適なサービスプランの選択や電気料金の節約の判断に活用できるようになっている。他にも、契約者世帯とよく似た家庭の電気使用量との比較や、注目の省エネ商品の紹介など、アプリのプッシュ通知で便利な情報を提供する点も特徴だ。

「auでんきアプリでは、au ID で前日までの使用量を簡単に確認できるため、節電へのモチベーションを高め、電気料金を大幅に抑制する可能性があると考えています。電力全面自由化後、電力卸売り事業に数百社が参入していますが、完成度を高めたスマホ向けアプリを提供したのはKDDI が初めてと自負しており、その手軽さや独自性がお客様にも好評です」と語るのは、KDDI プラットフォーム開発本部クラウドサービス開発部 フレームワークグループ課長補佐の大橋衛氏だ。

ウォーターフォール型の外部委託を見直しアジャイル型開発を実現できる開発環境に移行

このauでんきアプリは、サービス開始前のわずか4ヶ月間で開発された。それを可能にしたのが、分散型バージョン管理システム「Git」をベースにした企業向けソフトウェア開発プラットフォーム「GitHubEnterprise」を活用したアジャイル型開発への移行だった。

大橋氏は、「従来、当社は開発を外部ベンダーに依頼することが一般的でした。一部社内開発もしていましたが、ソフトウェア開発環境はプロジェクト毎にばらばらで横のつながりもなかったため、同様のものを重複して作る“車輪の再発明” が蔓延していたのです」と打ち明ける。昨今はエンタープライズ向けのアプリケーション開発をわずか数人で実施するベンチャー企業も登場し、自社の開発にスピードとアジリティが不足していることに大きな危機感を持っていたという。

「流動性が高くスピードも速いコンシューマ系市場において、ユーザのニーズを敏感にキャッチできるようになるには、従来のような外部委託に頼りきる開発体制を見直す必要がありました。開発部門が企画部門や運用部門と密に連携できる開発基盤を整備し、DevOps を取り入れたアジャイル型開発に移行しなければなりませんでした」(大橋氏)

ただ、社内開発を普及させるにはソースコード管理が一層重要となる。そこでGitを利用することにした。当初はオープンソースの「GitLab」を使用することとなったが、GitLab は運用や脆弱性のリスクを自前で担保しなければならず、大規模開発では致命的な課題があったほか、GitLab にはサードパーティのツールとのプラグインが少なく、拡張性や機能性にも不足があったという。また、ドキュメント管理が十分にできないことも大きな課題だった。

そこで同社は、GitLab から海外でも大手企業の社内開発現場で導入事例が多いGitHubEnterprise に置き換える決断を行った。KDDIプラットフォーム開発本部 クラウドサービス開発部 フレームワークグループ 主任の吉田祐樹氏は、その理由について、「GitHub Enterprise は脆弱性対応をはじめとするサポートがしっかりしており、かつエンタープライズレベルの大規模開発にも実績があり安心感がありました。ソースコード以外にも設計書やドキュメントについてもマークダウン記法を利用して、テキストベースで作成できるため、開発情報をGitHub Enterprise 上で一元管理することができます。社内開発を進める上では、また開発者と運用者とのコミュニケーション不足の解消も重要課題の一つであり、その対応策としてもGitHub Enterprise への置き換えが望ましいと考えました」と説明する。

また、開発者にとっての使いやすさ、連携できるサービスの多さや安定性を指摘するのは、KDDI 運用本部 クラウドオペレーションセンタークラウド技術グループ 主任の廣田翼氏だ。「auでんきアプリの開発プロジェクトでは2 週間ごとのスプリントでアジャイル開発を回していますが、プラグインの良し悪しによって作業効率が大きく影響されます。GitHub.comと同様の豊富なプラグインを活用でき、開発スピードの向上を実現するには、GitHub Enterpriseが最適解でした」

開発者同士でのコードレビューが日常のワークフローとして定着

CI/CDの自動化やIaC(Infrastructure as Code)を実現しコードの再利用率と開発効率が向上

GitHub Enterprise に連携するサードパーティツールとしては、継続的インテグレーション(CI)ツール「Jenkins」やチャットツール「Slack」などが用いられたという。

ソフトウェアのビルド・単体テストをソースコードのコミット毎に実行するCIと、ソースコードを変更する度にサーバにソフトウェアを適用する継続的デプロイメント(CD)を自動化する仕組みを、GitHub Enterprise とそのサードパーティツールを連携させて作ることにした。ソースコードの更新をトリガーにJenkins のジョブが走り、変更を加えたアプリケーションをサーバにデプロイメントするといった開発工程を全て自動化することが可能となり、手作業による工数の軽減とリードタイムの削減も実現した。

また、廣田氏は、「今まで手動で行ってきたインフラの開発や構成管理も、GitHub Enterpriseを使うことで、アプリケーションのコード管理のように構成管理も動的に変更可能になり、自動的にインフラ構成へと反映される“Infrastructureas Code”(IaC)が実現しました」と強調する。

それを受け大橋氏も、「CI やCD の自動化、そしてIaC も実現できたことで、次の新しい開発プロジェクトが立ち上がってもGitHub Enterprise上に蓄積されたauでんきアプリ開発の全ての知見を参照することが可能となるため、他プロジェクトへの展開が容易になると思います。コードの社内公開によってアプリケーションがさらに改善され、コードの再利用率が高まることで開発効率も高まり、コスト削減と開発スピードの加速につながることを期待しています」と話す。

今後は、GitHub Enterprise 導入により実現したアジャイル開発の文化を活かし、auでんきアプリがユーザにとってより使いやすいアプリケーションになるよう開発を重ね、auでんきアプリと、クレジット・プリペイドカードサービスの「au WALLET」やショッピングサービスの「au WALLET Market」など他サービスとのシナジーを高めることで、WALLET ポイントを使った省エネ家電の販売につなげるなど、キャリアならではのアプリケーション活用を検討していく計画だという。

今回のプロジェクトを経て、吉田氏は「auでんきアプリの内製化成功にGitHub Enterpriseが大きく貢献しました。今後は縦割り組織の中でも開発者が柔軟にコラボレーションできるように、GitHub Enterpriseが皆でひとつの方向を向くための基盤になればいいと考えています」と話す。廣田氏も「GitHub Enterprise は今後のKDDI の開発文化を象徴するツールになるでしょう」と述べる。

そして、大橋氏は、「アプリケーションに限らず、インフラ構成管理の自動化も必要になる中、これまで以上にソースコードの重要性が高まっており、その鍵を握るのもGitHub Enterprise だと考えています。今後はソースコード管理の一元化を進めていくことで、車輪の再発明を無くし、効率的な開発を実現するツールとしてGitHubEnterpriseを社内に広めていくつもりです」と語る。

このような現場の思いに応えるため、GitHubEnterprise の導入を国内でサポートするマクニカとしても勉強会やトレーニングの開催、開発環境に関する最新情報の提供などを通じてKDDI エンジニアの新たなチャレンジを応援し続けていく考えだ。

GitHub Enterpriseに関してのお問い合わせはお気軽に

webでのお問い合わせ

電話でのお問い合わせ

045-476-2010

受付:月曜日~金曜日 8:45~17:15

お問い合わせ・資料請求

株式会社マクニカ  GitHub 担当

月~金 8:45~17:30