AWS にロックインされるリスク? (at HDE ペタバイト祭り)
先日、前職の HDE で開催された「ペタバイト祭り」に行って参りました。
https://www.facebook.com/events/1496829413966727/
日本で AWS 上への格納データがペタまで行っている企業はそんなに多くないらしので、
並々ならぬ努力があったのだと思います。(というか僕も内情をある程度知っているのですが 笑)
前職のメンバーと旧交を温めていた関係で、パネルディスカッションは後半しか聞いていなかったのですが、面白いテーマがいくつかありましたので個人的な見解を交えて触れてみたいと思います。
ディスカッションの概略などは、こちらにまとめられていました。
http://togetter.com/li/902766?page=2
AWS にロックインされることについてどう考えるか?
会場の参加者からの質問としてこのような質問がパネラーに対して上がりました。
それに対する回答はこちら。
小椋さん:ロックイン、なのか。
牧さん:ロックインは避けようがない。でも、会社として健全なのは、どちらもいけるオプションを持っているかどうか。最良の選択肢だから使っているわけで
#petafes— 傳智之 (@dentomo) 2015年11月20日
玉川さん:ロックインが悪いんじゃなくて、某社のライセンスのようにどんどん値段が上がったりするのがダメなのでは。そう考えると、値段は下っているし、機能もバージョンアップしている #petafes
— 傳智之 (@dentomo) 2015年11月20日
ベンダロックインのデメリットについては、まさに玉川さんが話されている部分であって、個人的にも納得感が有ります。
為替の変化以外で値上げされたことは無く、既にリリースされた機能がいきなり使えなくなってしまったことも無いですし。
AWS ロックインのメリット
ベンダロックインはネガティブなイメージを連想させる言葉ですが、ここで敢えてそのメリットについて考えてみたいと思います。
1. デファクトスタンダードである
下記のとおり、 AWS は IaaS/PaaS 界において圧倒的なシェアを持っています。
(「国内クラウド市場は2019年度に2兆円へ成長 – 株式会社 MM総研」から)
市場シェアが多いとそれに関する 利用方法や活用事例が Web 上に多く存在するので、ハマったときにすぐ解決しやすい 傾向が有ります。
また、シェアが多いということは AWS の利用経験のあるエンジニアが多いということなので、即戦力採用がし易いというメリットも考えられます。
利用者が多いので、サービスが縮小していくリスクに対する安心感もあります。
2. 機能間の柔軟な連携が可能
AWS では EC2 や S3 以外にも、数十個のサービスが存在しますがベンダーが同じなのでサービス間の連携がとても意識されています。
例えば非常に便利な機能の一つとして、 IAM role というものが有りますが、これを使うと様々な AWS リソースにおいて ID/PASSWORD 情報を管理する必要が無くなります。 EC2 インスタンスだけでなく、 Elasticsearch Service や Lambda などでも利用されています。
別のベンダーのサービスを利用した場合は、そこだけ自前で管理しなければならないでしょう。
3. チーム間で運用ノウハウを共有出来る
例えば僕の勤務先のペロリにはプロジェクトが複数個あります。
ロックインを避けるために新規のプロジェクトのインフラは GCP でということも不可能ではありませんが、同じ AWS にしておけば、既存のノウハウとツールを活かしてスピーディに構築することができます。
運用の中で新たに行った施策を全プロジェクトに展開することも比較的簡単ですし、仮にエンジニアが異動でプロジェクトを移ってもインフラ部分についてはこれまでのノウハウがある程度使えるでしょう。
ペロリでもコスト削減のために一部を他社の IaaS に移行した方が良いのではという意見が有ったりするのですが、この辺のメリットとのトレードオフも意識しつつ、慎重に判断したいところです。
ベンダロックインに伴うリスクへの対策
とはいえ、 AWS に完全に依存して他のベンダーを見向きもしないのにもリスクはあります。
例えば本イベントで語られていたリスクとして、他のベンダーでより洗練されたプロダクトがリリースされているのにそれに気づかず、間に合わせのソリューションに甘んじてしまうなど。
これに対して、僕は下記の3点を意識しています。
1. 機能の導入前に代替となる OSS や他社サービスを合わせて検証する
e.g.) Amazon SQS + Shoryuken vs Redis + Sidekiq
2. インフラに依存しないツールを積極的に採用する
e.g.) Docker, Hashicorp tools
3. プライベートで他社ベンダーのインフラを使ってみる
まとめ
- ロックイン自体は悪なのではなく、ロックインを盾にユーザの不利益を迫ることが悪
- 利用するベンダーを絞ることによるメリットも大きい
- ただし、思考停止して他のベンダーやソリューションを検討しないのは危険
リスクを認識しつつ、どっぷり AWS に使い倒しましょう (^^
DevOps Engineer, Yu Yamanaka
No Comments Yet!
You can be first to comment this post!