Contenu connexe Similaire à AWS Summit 2016 「新規事業 "auでんき”をクラウドスピードでサービスイン」 (20) AWS Summit 2016 「新規事業 "auでんき”をクラウドスピードでサービスイン」1. Copyright © 2016 KDDI Corporation. All Rights Reserved
新規事業 "auでんき”を
クラウドスピードでサービスイン 2016年6月2日
AWS Summit 2016
- IT Transformation Track -
2. 自己紹介
Copyright © 2016 KDDI Corporation. All Rights Reserved
技術統括本部
プラットフォーム開発本部
クラウドサービス開発部
平岡 庸博
HIRAOKA Tsunehiro
大橋 衛
OHASHI Mamoru^
au系の商品・サービス開発を担当
フレームワークグループ
グループリーダー
フレームワークグループ
課長補佐
1
3. Agenda
Copyright © 2016 KDDI Corporation. All Rights Reserved
1. KDDIについて
2. 電力自由化
3. 開発部門のチャレンジ
4. ”auでんき”へのAWS適用
5. まとめ
2
5. 事業内容
Copyright © 2016 KDDI Corporation. All Rights Reserved
パーソナル
バリュー
ビジネス
グローバル
個人向け通信サービスの提供
個人向けコンテンツ・決済サービス
などの提供
企業向け通信・ソリューション/
クラウド型サービスの提供
海外での企業・個人向け通信、
ソリューション/クラウド型サービスの提供
セグメント
4
9. 電力自由化
Copyright © 2016 KDDI Corporation. All Rights Reserved
過去に自由化されていた市場
工場 ビル
2016年4月から自由化された市場
商店 家庭
高圧・特別高圧 低圧
8
10. 市場規模
Copyright © 2016 KDDI Corporation. All Rights Reserved
市場規模
(単位:億円)
契約数(単位:万件)
一般家庭
部門
商店、
事務所等
合計
北海道 3,393 363 40 403
東北 7,310 694 81 775
東京 28,275 2,723 198 2,922
中部 10,162 959 106 1,065
北陸 1,903 189 22 212
関西 12,779 1,262 101 1,364
中国 4,686 482 45 527
四国 2,557 253 34 286
九州 7,670 787 84 871
沖縄 1,453 83 6 89
10社計 80,187 7,795 718 8,513
8兆円の
市場が
自由化
9
(出典)経済産業省 資源エネルギー庁 「電力の小売全面自由化の概要」より抜粋
12. auでんきの特長
Copyright © 2016 KDDI Corporation. All Rights Reserved
● 全国で提供
● わかりやすい料金
● みんな、おトクに
● アプリで電気が身近に
11
ICTの利活用によって
“より効率的”
”より利便性”
の高いエネルギーサービスを提供し
お客さまの新たなライフスタイル創造に貢献
16. AWSが起こした”パラダイム・シフト”
Copyright © 2016 KDDI Corporation. All Rights Reserved
ベンチャー企業による大規模システムが
容易に実現可能に
ITは真にお客さまニーズを追求すること
ができる世界へ
実現スピードとスケーラビリティが
システムに求められる絶対条件
15
遡ること3年前?!
18. Copyright © 2016 KDDI Corporation. All Rights Reserved
危機感
「アジリティ」を高めることが唯一?!の突破口
19. プレッシャーとの戦い!
Copyright © 2016 KDDI Corporation. All Rights Reserved
とにかく短い準備期間
☞ 新規事業立ち上げ期間を貰えない!
5,000万世帯、どれくらい動くのか?
☞ 読めない需要予測
開発部門には殆どいない電力事業経験者
18
そんな中、舞い込んだ
auでんき案件
20. プレッシャーとの戦い!
Copyright © 2016 KDDI Corporation. All Rights Reserved
とにかく短い準備期間
☞ 新規事業立ち上げ期間を貰えない!
5,000万世帯、どれくらい動くのか?
☞ 読めない需要予測
開発部門には殆どいない電力事業経験者
19
22. 脱・請負型開発
Copyright © 2016 KDDI Corporation. All Rights Reserved
自分たちで設計する
パートナー様と一緒に作る
“アジャイルな継続的開発”の実践
「長納期」「低機敏性」
へのアンチテーゼ
21
26. AWS利用状況の推移 25
Copyright © 2016 KDDI Corporation. All Rights Reserved
0
30
60
90
120
150
180
Scaled 150+ usage!
※2016年5月時点
※2013年10月〜12月分のAWS利用費の平均を1とした場合の月毎の利用費との比率
27. システム設計のテーマ 26
Copyright © 2016 KDDI Corporation. All Rights Reserved
スピード
俊敏性
柔軟性
クラウド前提
作らず"使う"
スケーラブル
Agility Cloud Native
30. Infrastructure as Code
29
Copyright © 2016 KDDI Corporation. All Rights Reserved
『インフラの構築&構成管理を
プログラムコードで行う』
インフラ仮想化の進化により実現可能に
インフラをconfigコードとAPI呼出しで構築
アプリもインフラも同じSCM[1]ツールで構成管理可能
[1] Software Configuration Management ソフトウェア構成管理
31. Provisioning Toolchain
30
Copyright © 2016 KDDI Corporation. All Rights Reserved
出典:Provisioning Toolchain Introduction for Velocity Online Conference (March 2010)
http://www.slideshare.net/dev2ops/velocity-online-provisioningtoolchainkey
32. Provisioning Toolchain on AWS
31
Copyright © 2016 KDDI Corporation. All Rights Reserved
Enterprise
notify
Packer
template
Terraform
template
Base AMI Customized
AMIPacker Terraform
Provision
succeeded!
failed...
34. “auでんき"の環境構成 33
Copyright © 2016 KDDI Corporation. All Rights Reserved
オンプレミスとの違い
商用環境と完全に同一なステージング環境
生成後のインフラには"2度と"手を加えない
開発
ステージ
ング
商用
36. ”auでんき”のデプロイフロー 35
Copyright © 2016 KDDI Corporation. All Rights Reserved
Blue-Green
Deployment
ap
p
ap
p
Auto Scaling group
Blue(Current)
①Provision
③Switch
Auto Scaling group
Green(New)
ap
p
ap
p
ap
p
ap
p
②Deploy
37. 継続的デプロイの実現 36
Copyright © 2016 KDDI Corporation. All Rights Reserved
どこからでも 1Click で!
インフラ
プロビ
インフラ
試験
アプリ
ビルド
アプリ
デプロイ
アプリ
試験
システム
リリース
38. アーキテクチャのキーポイント 37
Copyright © 2016 KDDI Corporation. All Rights Reserved
Infrastructure as Code
Immutable Infrastructure
Operations & Monitoring
39. 運用監視における最大の障害 38
Copyright © 2016 KDDI Corporation. All Rights Reserved
人による定型作業を自動化すれば多くの障害を排除できる
『人間の存在』
コスト(人件費)
24/365保守なら
最低3人/システム
人件費圧縮は急務
ヒューマンエラー
思い込み
疲れ
失念 etc...
作業量限界
人間の記憶力
手順書依存体質
複数案件兼務
41. 監視対象の自動管理とデータ保全 40
Copyright © 2016 KDDI Corporation. All Rights Reserved
インスタンス追加時に
ホスト側から通知して登録
InstanceIDがキー
(絶対に重複しない)
サーバからのディスカバリ
は使わない
scale out scale in
インスタンスが消えても
監視データが失われない
フォレンジックス
(forensics)
リソースが固定化できない
クラウド対応の監視方法
zabbix server
Local network
42. 障害エスカレーションの自動化 41
Copyright © 2016 KDDI Corporation. All Rights Reserved
Amazon
CloudWatch Logs
HIGHLOWSUCCESS
電話メール
連携ジョブ監視
CI/CDジョブ監視
サービス監視
リソース監視
プロセス監視
syslog監視
アプリログ監視
バッチログ監視
44. “auでんき”で実現したかったこと 43
Copyright © 2016 KDDI Corporation. All Rights Reserved
Infrastructure as Code
Immutable Infrastructure
Operations & Monitoring
Agility Cloud Native
48. 劇的なワークロード改善
Copyright © 2016 KDDI Corporation. All Rights Reserved
AWS的な観点で言うと
毎スプリント毎に
インフラ構成を変更
… 試験で急遽、シンガポール
で立ち上げたり
プロジェクト期間
パートナー様▲
へのお声がけ
(5ヶ月前)
開発期間
新規事業の場合8ヶ月以上
(チームビルドからローンチまで)
6ヶ月
4ヶ月
(正味3ヶ月)
事業計画から業務準備
他の新規事業の場合1年以上
47
49. コストダウン
Copyright © 2016 KDDI Corporation. All Rights Reserved
当初の想定見積 結果
インフラ
アプリ
開発費
アプリ開発費
AWS利用料
2/3
Down!
※インフラ、アプリ開発に関わる費用比較
48
50. 高アジリティの実現
Copyright © 2016 KDDI Corporation. All Rights Reserved
アジリティを高める阻害要素の排除
• キャパシティプランニングとチューニング
作らない開発の実践
• 社内外あるものを組み合わせて利用 (OSSやAWS)
• そのとき必要なモノだけ作る
☞実現した要件は、プロジェクトスタート時の半分、
ただしスタート時になかった要件も1/4追加
49
51. 進化続けます!
Copyright © 2016 KDDI Corporation. All Rights Reserved
ICTの利活用によって
“より効率的”
”より利便性”
の高いエネルギーサービスを提供し
お客さまの新たな
ライフスタイル創造に貢献
auでんき
Big
Data
IoT
au?
AI
50
Notes de l'éditeur 本日、2名でご説明させていただきたいと思います。
他社とどう差別化するか、通信会社なので
ICTの利活用することが肝で、それをもってお客さまの新たなライフスタイル創造に貢献することだろう!
とするとお客さまのご利用実態からビックデータを活用し、例えば節電を促すとか、そのようなアプリが必要となりまして、
それがauでんきの軸になりました。
事業者の観点から言うと使っていただくことが良いのですが、痛し痒しで、ライフデザインというとやはり節電となった次第です。
実はでんきのサービス以前に開発部門では色々と思うところがあったのです。
3年前からAWS Summitに参加させて貰ったり、他社さんの事例なんかを見ていると、感じたんすが、 ✓ 例えば、当社に関わるところで言うと、ソ○コムさん。 アリがゾウを駆逐することが可能なんですよ
✓ 何社も言われていたこと、インフラがアマゾンさんに任せれるとすると、インフラの難しいこと考える必要がなくなり、
商品とかサービスとか本業に集中できるようになった
✓ 某社さん、数ヶ月で世の中のアリモノの組合せで殆どプログラムレスで新たな事業を立ち上げられた。
ショックなのはそのビジネスのスピード感
とにかくアタマをハンマーでかち割られた気分です!
何じゃこれ〜!と!
出血多量で死ぬかと思いました。
で産まれたのは、危機感
良いのか、通信会社という危機感なんですよね
柔軟なシステム構造、仕掛けと効率的な開発手法、プロセス無くしては語れない世界になってきている、
というか、そうしないと…。
それを解く公式は、「アジリティを高めること」、これしかない、結論に至りました
そしてAWS利用をはじめとする「アジリティ」を高めるため、実践案件でのスタディを始めました。 そうこうしているときたんです。Auでんきの機能作ってくれんかと。
でも
何せとにかく準備期間が短い
新規事業立ち上げの場合、申込みから請求まで一気通貫のプロセスをつくらなアカンし、
当社ではライフデザインと言うとかっこいいけど、結局社内の色々なアセット連携をしないとアカンのですよ
普通1年以上かかるのに、全貌が分かってきたのは半年前くらいです、そこでPJスタート
日本では5,000万世帯があると言われています、まさか全世帯が動くわけはないのですが、何十%なのか何%なのか、どのくらい動き、
そのうちどれくらいのお客さまが当社をご選択頂けるのか、全く想像がつきません。
恐らくどの事業者様も戦々恐々であったのではないでしょうか(勝手な想像ですが)
マーケット部隊は当然ビジネスプランを立てますが、当たるか当たらないか、神のみぞ知る、、、
✓ あとウチは通信会社なんで通信事業のプロは多いんですけど、電気事業のプロは少ないんです、開発部門なんて殆ど居ません!
もうプレッシャーとの戦いですわ もうこうなると、私たちのグループでは行き着いたところは、これっきゃない!と思ったんですよ
脱・請負とAWS利用!の実践しかない!
を本気で実現してやる!と
ただ、AWSは自社製品とカニバル所はあるんですけどね、良いものは使う!使い分けの時代だ!と言い切って進めました。
まあ、少なくとも当社のソリューション部隊は、AWSさんのパートナーでもあるし、クビにはされんやろうと思って、,,
そして2つのチャレンジ(ジャンプ)をする決意をしたわけです。
脱・請負型開発とAWSのセット利用
何故、高アジリティの解き方が、脱・請負開発か?
お分かり頂ける方が多いとは思いますが、
仕様書を固めて発注では到底時間が足らない
ましてや事務処理時間もバカにならない、自分たちでやるしかないと思ったわけです。
更には、電力事業に関してそんなプロがいるわけ出ないので試行錯誤もあるだろうし、そう考えると
アジャイルな開発手法でやるしかない!と思って訳です。
これだけで1時間くらい話させて貰いたいネタではあるのですが、本日はAWSさんのところなのでさらっとさせて貰って。
AWSの必然性、実は、これって脱・請負開発の障壁を下げることからでした。
正直怖いんです!プレッシャー欄にもありましたが。
✓ 検討の選択と集中(キャパシティプランニングからの解放)
✓ アリモノの組合せ
✓ そしてそれらがいとも簡単に変更できること
これってアジリティの究極ですよね! でもプロダクトの責任部門からは言われたんですワ。
ホンマに大丈夫か?
最初の1,2ヶ月、大変でした、理解をして貰うのも。
じゃあ、言うけど、他にこの期間でやる方法があるのか?と言い返してやりました。ウチらは思いつかんと!
半ば強引にウンと言っと行って貰って進めることにしました。
みなさんこんにちわ。
ただいまご紹介にあずかりました 大 橋 と申します。
よろしくお願いいたします。
ーーーー
さて、これからauでんき見える化アプリにおける、AWSへの適用事例をご説明させていただくわけですが、
その前に、弊社がAWSをどように利用していったのか、少しだけお話させていただきます。
我々ももちろんAWSについての予備知識がまったくなかったので、
2013年の8月、3年前のAWSサミット明けから検証をスタートしました。
具体的な数字をお伝えできないのですが、このグラフは、
2013年に本格的にPoCをスタートして迎えた最初の四半期で発生した
利用費の平均を1とした場合の、月毎の利用費との比率推移を折れ線
グラフで表したものです。
2016年4月末時点で、当時との比較で実に 1 5 0 倍 以 上 の利用量増加となっています。
もちろんauでんきもこの中に含まれております。
実は、ここまでくるまでの3年間の間には、ほんとーーーーーに色んなことががありました。
技術的な課題はもちろんなのですが、エンタープライズ企業ならではの課題がいくつも、
いくつもいくつも登場し、そのたびに1つずつ着実にクリアしていきました。
話そうと思えば、このネタだけで1晩くらい飲めそうな勢いですが、、、
お時間の都合から残念ながら今回は割愛させて頂きたいと思います。
さて、先ほど平岡が、我々開発陣に求められているのは「アジリティだ」とご説明いたしましたが、
我々開発部門ではアジリティに加えてもうひとつテーマを加えた → クラウドネイティブ
これまでの経験、クラウドにはクラウドの世界の理がある。
オンプレミスの世界観やルールとは一線を画していることを知っている。
「郷に入っては郷に従え」ではないですが、クラウドでシステムを作るのであれば、
クラウドの世界における「あたりまえ」を徹底的に取り入れようと心がけました。
「クラウドで作る」ということを大前提、ものは作らず、あるものを組合せて使う、
そしてリソースの増減の要望に迅速に対応できるシステムです。
「ソフトウェアやWebサービスなどの製品選定」 と 「システム設計」
製品選定においても、クラウドネイティブに行こう!と誓いまして、
クラウドへの親和性と、流行っている、つまりユーザーが多いことをベースに
いろいろ、調べつくした結果、たどりついたのが、こちらです。
全部ではない
おなじみのものもいくつかあると思いますが、半分くらいは見かけないものが
ありませんか?
実は、これらの製品はWebやクラウドの世界では、選択肢のひとつとして
当然入っているべきものだったりします。
ここだけを見ても、クラウドとオンプレミスでは導入すべき製品からして違う、
ということがわかると思います。
このなかからいくつかの製品を後ほど適用例としてご紹介させて頂きます。
auでんきのシステム設計は、クラウドネイティブを推進していける
アーキテクチャになった、と自負していますが、
このアーキテクチャには3つの重要なキーポイントが存在します。
これらを、順を追って説明して行きたいと思います。
まず1つめ、Infrastructure as Codeです。
Infra.. as codeとは、文字通りインフラの構成をプログラムコードで取り扱うという概念で
インフラ仮想化の進化により実現できるようになったものです。
具体的には、インフラの構成をJSONやYAMLなどのコンフィグレーションコードで定義し、
インフラの構築はそのコンフィグレーションコードを引数としたAPIの呼び出しによって行
うといったものです。
AWSはこの「Infra AS Code」を体現できるPublicクラウドの一つといえます。
この「Infrastructure as code」という技術が発展していくなかで登場したのがProvisiong Toolchainという考え方です。
この図は、2010年5月に開催されたオラクル、ベロシティ、オンラインカンファレンスの中で、
リー・トンプソンという方が発表された
Prosionig Toolchain とは
システムのプロビジョニンングを「統合された1つのツール」で行うのではなく、
システムの環境や構築条件に最適なものを選び、組み合わせて使うという考え方です。
いまはインフラの進化が早いので、それを組み上げるツールも、もっと言えば
インフラそのものも、そのとき最低なものを選択して組み合わせて使っていくのが
ベストプラクティスになります。
----
auでんきアプリにおいても、このプロビジョニングツールチェインの考え方を導入しました。
AUでんきでは、プロビジョニングの軸になるジョブ管理ツールをJenkinsとし、プロビツールとして
HashiCorp社によってメンテナンスされている「Packer」と「Terraform」というOSSを採用しました。
それぞれの詳しい解説は時間の都合上できませんが、
Packerは必要なミドルウェアのインストールとコンフィグレーションを行い、そのマシンイメージを
作るものです。
一方Terafformは、そのマシンイメージをベースとし、対象のプラットフォームに対してシステムの
プロビジョニングを行うものです。
これらのツールはいくつものサービスやプラットフォームをサポートしており、今回の場合でいえば
マシンイメージはAMI、プラットフォームはAWSということになります。
そしてここが最も重要なポイントになるのですが、
Packer、Terraformで行われる動作のすべては、Templateと呼ばれるconfigファイルにテキスト
ベースで定義されています。
これにより、インフラの定義もアプリのコードと同じソフトウェア構成管理ツールで一元管理
できるようになりました。
またこれら一連の処理はJenkinsで一括管理されており、
コードによるインフラの継続的インテグレーション、も実現可能になっています。
これが「Infrastructure as code」の特徴となります。
続きまして、2番目のキーポイント、「Imutabe Infrastructure」です。
Immutable Infrastructureの解説を行う前に、まずauでんきの環境構成について少し説明させてください。
環境構成としてはよくあるパターンです。
ただし、オンプレみすと違う点が2つだけあります。
1つめは、ステージング環境は、パラメトリックな部分を除いてすべてが商用と完全に同じ内容で構成されているという点です。
これはもう説明は不要だと思いますが、「リソースは事実上無限にある」というAWSの特徴を利用して、
環境差異による障害のリスクを可能な限り減らそうという考えのもと提案されているプラクティスです。
2つ目は、一度生成されたインフラには、たとえ構成変更やアプリの改修があったとしても、2度と手を加えることはない、
という点です。
実は、このような考え方を →
Immutable Infrastuctureと呼びます。
この言葉は、Infrastructure as Codeによるインフラの継続的デプロイが実現可能に
なることで生まれた新たな発想で、
Immutableとは、「変わらない,変えられない,不変の」という意味ですが、
実際には今あるものを変更せず、そのまま使い捨てる、という意味で用いられていて、
和訳としては「使い捨てのインフラ、廃棄可能なインフラ」と訳されます。
では、具体的にauでんきではどうやってImmutable Infrastructureを実現しているか?
といいますと、 こちらは有名なデプロイ方法ですが、Blue-Green Deploymentという手法を採用しています。
現行環境、ブルーの隣に、最新リリースの環境を作ります。
そこに最新版のアプリをデプロイし、十分な検証を行った後、新環境と旧環境を
スイッチするというやりかたです。
この方式であれば、商用環境とは完全に別の領域に環境を作っているので、
お客様に一切影響を与えず十分な試験を行うこともできますし、
もし万が一切替後に問題が起きたとしても、旧環境が残っている間は
いつでも完全な旧環境に戻すことが可能です。
auでんきではこれらをJenkinsタスクとして定義し、いつでもボタン一発で
各ステップを実行できるようにしてあります。 Provisioning Toolchainによって、インフラの継続的インテグレーションが可能に有りました。
また、ここでは説明していませんが、当然のことながらアプリの継続的インテグレーション環境は
auでんきでも実装されています。
この2つと、B/G Deploymentを組み合わせることで、
auでんきでは「継続的デプロイ」を実現することができるようになりました。
アプリの変更はもちろん、インフラの構成変更についても
テスト後のソースコードをソフトウエア構成管理ツールにアップされれば、
どのシーケンスからでも、どのタイミングでも、1Clickで各環境への反映を
実現できるようになっています。
3つのポイントの最後、運用監視です。
私は、運用監視における最大の障害は、
人間の存在だと考えています。
高い人件費が必要になることはもちろんですが、思い込みや疲れなどによるヒューマンエラーの可能性、
そしてひと一人が行える作業量の限界など、課題は山積みです。
しかも、人の手によって発生するシステム障害の原因のほとんどが、繰り返し作業や定形作業といった
非常に単純な作業で起きていることがほとんどです。
逆に言えば、人による定形作業を自動化していしまえば、運用監視における多くの障害を排除できるはずです。
一方、クラウドはどうでしょうか。
たとえばAWSには、アーキテクチャのベースとして
「Design for Falure」という考え方があります。
インフラはいつでも壊れるものだ、という前提でシステム設計も
その運用も考える必要があるというものです。
またクラウドにおいてインフラは常に流動的で、ホストの数や
IPアドレスすらも固定化されません。
そればかかりか、ここ1、2年で旧来の「サーバ」という概念すら、
無くそうという動きすらあります。
流動性が高く、しかもインフラそのものの進化が早いクラウドの
世界においては、これまでのように手順書やパラメータシートを
つかって、人間が手動で運用を回していくようなやりかたでは、
障害を回避することは事実上、不可能です。
このような理由から、クラウドの世界においては、自動化や機械化は
「できたらいいな」といったような夢や希望なんかではなく、
それがなければ成り立たない「必然的なルール」だといえます。
----
それでは、auでんきでは、どのように運用監視を自動化しているのか?
2点ほどご紹介します。 まず、監視対象の自動管理についてです。
Zabbixの機能を使って自動的に監視対象ノードを登録する方法はよくあるものですが、
auでんきではインスタンス起動時に自身のメタデータからinstanceIDを取得し、これを
キーに登録することで重複を防いでいます
そして、ここから重要なポイントなのですが、インスタンス終了時には起動時と同様自身の
メタデータから拾ったインスタンスIDを使って、Zabbixサーバ上にある自分のノードを
「無効化」します。
なぜ削除ではなく「無効化」しているのか、と思われるかもしれませんが、これは増減する
ノードをそのたびに「削除」してしまうと、監視データに連続性が失われてしまい、あとで
振り返った時に、どういった理由でスケーリングが行われたのかを追跡できなくなってしまうからです。
クラウドであっても、「フォレンジクス」、証拠保全 の考え方はとても重要であり、
スケーリング時だけではあく、障害時や脆弱性を突かれたなどの理由で
インスタンスを切り離した場合の原因調査なども、この方法であれば
効果を発揮します。
次に、障害のエスカレーションの自動化です。
図中まんなかにあるPagerDutyというサービスは、障害のエスカレーションを
自動で行うことができるWebサービスです。
外部から入力されたインシデント情報に対して、設定された情報をもとに
いろんな通知手段で上位エスカレーションを繰り返し実行してくれるという
非常に便利なサービスです。
実はauでんきアプリでは、一部のシステム運用保守を外部のMSP、
マネジメントサービスプロバイダにお願いしておりますが、
このMSPを軸に編成された運用部隊とシステムとの間に、このPagerDutyを
挟み込むことで、これまで人手に頼っていた
「障害の1次切り分け」 と 「エスカレーション業務」 を
完全に無人化することができました。
ヒトの介在が減ることで、ヒューマンエラーや作業の遅延などが起きなくなり
発生した障害に関する情報の集積も自動化され、
より迅速で、確実な運用監視ができるようになりました。
----
これまでご説明してまいりました、2つのテーマ、3つのキーポイントをもとに
構築したauでんきアプリのシステム構成図が →
こちらになります。
----
採用しているAWSのサービスとしては、EC2/RDS/S3/CloudFront/Route53などといったメジャーなものから
DynamoDB/EMR/SQSなどといったものまで幅広く使っています。
-----
また、システムは弊社のバックエンドシステムを合わせて5つセクションで構成されています。
画面中央、
お客様が直接アクセスするService Front Sectionで、ここはWeb、アプリ、分析の3段構成になっています。
画面下段
弊社のバックエンドシステムとAWS DirectConnectサービスを介して接続されたバックヤードセクションです。
こちらは主にユーザー認証・認可とデータ連携を行っています。
これ以外に、
監視サーバが配置されたモニタリングセクション、
ジョブ管理サーバやソフトウェア構成管理サーバなどの運用ツールが配置されたマネジメントセクションが存在します。
---
これら全てのAWSリソースは、AWSが提唱するベストプラクティスにそって作成した
非常にオーソドックスな構成となっていますが、キホンを抑えつつも、
今後のインフラの進化によって移植性が失われないよう、各レイヤが可能な限り
疎結合になるように気をつけて設計を行ってあります。
どのレイヤ、どのセクションが、いつサービス化/抽象化されてしまっても、
最小限のインパクトで改変できるような構造を実現することができました。
以上、auでんきにおけるaws適用事例をご説明してきましたけれども、
2つのテーマ、3つのキーポイントを使って、
我々開発陣がauでんきアプリの開発で実現したかったことは、
とても単純明快です。
それは、 -----
エンタープライズシステムに、
「アジリティ」と「クラウド」の思想を持ち込みたい!
-----
これだけを胸に、auでんきのインフラ開発を行ってまいりました。
少なくとも、ことauでんきアプリにおいては、もちろん満点ではありませんが、
かなり理想形に近いところまで実現できたのではないかと自負しております。
---
かなり端折ったかたちでの説明となってしまい、早口で聞き苦しい点もあった
かと思います。今回は時間の都合でお話できなかった部分もたくさんありますので
もしどこかで機会をいただけるようでしたら、その時にそれぞれの深〜い話に
ついてご説明させて頂けたら、と思います。
私のパートは以上となります。
ここで再び、平岡にバトンを戻したいと思います。
感じたことは でも振り返ってみて思うこと、やっぱ、脱・請負、とAWSの利用!やって良かった。
あんなに大丈夫か?と心配していたプロダクト部門、最後は、あのとき平岡さんの言うことにのっておいて良かった。
のって無かったら今頃、全然間に合ってなかった!言ってくれるんですわ。
あと、本日は言えない数値的なネタがあってそれを解決した、とか出来るようにしたというのも、今回のやり方があってこそ。
そんな話、プロダクト部門から聞いたら、思わず涙がでてきようりました、、、
そんな話を整理すると次の3つが言えるのかな!と思います。
あと、そうそう、長年、開発部門をやってきて、今回初めてです。
リリースの前日、乾杯!と完成の慰労会が出来たのも!
いつもは、ほんま間際まで悪あがきしていましたからね。これも涙です! 当社の場合、新規事業の立ち上げでありながら
半年前スタートってあり得ない!普通1年に上かかります
正直言うと業界全体が混乱する中、我々開発部門の視点で全体が見え始めたのは半年前なんですよ
そこでプロジェクトスタート
おっとココ内緒にしてくださいね、ほんな事いうと全然進め方考えておらんやないか!とお叱りを受けるので。
そこにきて開発期間4ヶ月、それもパートナーさんに御願いをし、チームビルドを入れてです。
あり得ない!
で、肝心な開発期間ですけど4ヶ月って書いてますけど、実行上は3ヶ月、、、
プロジェクト始動までの期間は変わらんとしても、ざっくり約半分の期間で実現しました。
インフラを変え、そして開発メソッド、プロセスを変えたらです。
なんでインフラ構成を毎スプリント毎に変えていったか、
なにせ、auかける電力だから社内のアセットを最大限に利用しようというのは当然で、
ということは、自ずと社内外システム連携が多くなる、ざっくり7システム連携するんですよ。
それに分析エンジン組み込みどうするとか、
期間がない中なので、当然、試験でおっと構成が足らんとか、おっとシステム間はこのような機能分担に変えた方が良いんじゃね~という議論が出たりとか、
どうするこうするで、とにかく構成を変えました。
それが出来たのもAWSのSAさんの手厚いサポートを戴いたからで他ならいのですが。
運用とか諸々に関わる費用を除き直接的に関わる従来方法と月額ベースで比較したところ、、なっ、何と2/3削減できました
インフラ観点から言うと、予想が困難な外部要因に対して「余長」を持たなくていい
☞ 怖かったら大きくしてスタートし後で構成小さくできる、都度対応可
最初に決めないと行けないんですよね、スペックって、後で変えられないし、ついつい余裕も見るし。でもアプリを作ってみると性能が何故か出ない、だったら頑張ってチューニングして…その為の期間って結構バカにならない
作らない開発
全て自前!全て開発!ではない! 良いものは社内外組み合わせて利用(OSSやAWS)
イランものまで作るんですよね、色々と考えて、、合ったら良いんじゃないの~とか言って
☞結局作ったのは半分くらいでした。
・初期の要件80個のうち4/1にSinしたのは43個。要件になかったものも(推測)20くらい。
✓
・TOP画面の作り直しはユーザテストのフィードバックにより2回
・1月の発表会でプロトタイプを動かせたのはKDDIのみ(らしい)
プロダクト部門の協力あってこそ!
腹をくくる勇気に感謝!(社内ですが) 「auでんき」…ICTの利活用によって”より緒効率的“で”より利便性”の高いエネルギーサービスを提供し、お客さまの新たなライフスタイル創造に貢献すること
のコンセプトを元に
実績
今でも変化し続けています!ちょっと時間が掛かる案件:
①CS 分かったニーズ 申し込んでから開通するまでの期日が分からない(今、どちらが分からない)
②家族で使いたいよね、
実現した案件:
①営業の現場でタブレットのデモの機能が使えるようにしたい
②他者と比較