AWS Summitに行ってきた!レポート※セッションメモ (2017/06/01)[メルカリ]Cloud connect the world as Glue
AWS Summitに行ってきた!レポート※セッションメモ (2017/06/01)[メルカリ]Cloud connect the world as Glue
AWS Summit 2017/06/01 [メルカリ]Cloud connect the world as Glue
※あとで資料が共有されるのでそれを見るのでメモ書きレベル
自己紹介
- 長野 雅広
SRETeamの紹介
- Site Reliabillity Engineeringの略
- プロダクト・サービスを横断してソフトウェアの信頼性を向上させる
- いつでも快適かつ安全に利用できる「信頼性の高い」サービスの実現
- 「新規サービス開発以外のエンジニアリングは全部やる」
- 「インフラ」よりサービス指向
キーワード
- エラーバジェット
アジェンダ
- メルカリとは/世界3拠点での開発運用体制について
- メルカリのアーキテクチャ
- メルカリのグローバルインフラストラクチャ
■メルカリとは
- 国内最大級のフリマアプリ
- 3分でカンタンに出品
- 安心安全な決済
1分間あたりの出品数→1200品以上出品される 出品からすぐに売れる(売れた商品の約50%以上が24時間以内に決済)
日本、サンフランシスコ、ロンドンに拠点がありエンジニアがいる。 分担 * 日本 → 開発の中心 * サンフランシスコ → サービスのローカライズ、言語だけではなく、文化や習慣のローカライズ * ロンドン → サービス立ち上げフェーズ, 現地法令に合わせたローカライズ
時差があるので3拠点合わせてMTGをすることは難しい。。 * クラウドを利用してコミュニケーションを図る * GitHubを利用 * Slack活用 * VideoConferenceを利用 * リモートペアプロ(スクリーン共有)
自立したチームとして課題解決する * 一人ひとりがフルスタックである必要はなくチームとしてフルスタックで対応 * 個々人で出張はせずチームで出張 * OSはブランチをわけることで安全に対応
海外とのやりとりに関しては時差を考慮し自宅でのVideo
■メルカリのアーキテクチャ
- 日本 → さくらインターネットの物理サーバー
- US → AWS
- UK → Google Cloud Platform
背景
- 2013/07JPリリース
- さくらのVPS1台にWebもDBも全て載せた
- 2014/09USリリース
- AWSにてサービス構築
- エンジニアが増えてAWS経験者も増えてきた
- 2015/11SREチーム発足
- さくらインターネットとAWSのハイブリットアーキテクチャの構築
アーキテクチャ
- Webサーバー層、アプリ層、データ層のシンプルな3層構造
- メンテナンスビリティ・スケーラビリティ戦略の共通化
- 少人数での運用
- Ansible Playbook再利用
- スケールが先行しているJPで実績ある構成
アーキテクチャまとめ
- 3つのRegionで採用するインフラストラクチャがことなる
■メルカリのグローバルインフラストラクチャ
データをサービスを行う域内に留める必要性
- 幾つかのクラウドサービスを共通して利用
- 海外でのアクセス改善
DNS
Amazon Route53を利用
- Roadworkerを利用
Route53+HealthCheckをいれることを検証中
- サーバ障害時にDNSの書き換えに時間がかかる
内部DNS
- すべてのサーバにunboundを導入
- ローカルキャッシュによるパフォ=マンス向上
- アプリケーションからの接続は必ずCNAME経由
- 相互移行をしやすくするため
S3の利用に関して
機械学習への取り組み
- サービスで利用中、検証中
- 価格提案なども行っている
- AmazonMLも検討中
距離を超えて世界を繋ぐ
距離とレイテンシ
- 光は50mscに地球半周もできない。遠距離との通信はコストが高い
- 太平洋・北米大陸・大西洋はもとよりいしかりも遠い。。。
高レイテンシ環境でのHTTPS通信
遠距離接続するユースケース
- クライアントが遠いところからサービスを利用する場合
解決策
アプリケーションからクラウドアクセスへ
- Proxyiサーバーを開発
- chocon(OSSとして公開中)※Goで開発
なぜChoconを作ったか
- 似たmiddlewareが見つからない
- HTTPSはend to endで暗号化。MITLM Proxyが必要になる
- Go言語標準が要件に向いていた
まとめ
- メルカリは3拠点でサービス展開、開発を行う
- 各Regionはサーバー中心として共通アーキテクチャ
セッションの感想(翌日追記)
SREチームって発想がいいな!って思いました。
自分の会社も組織改編をおこなっている最中でそういうチームが必要じゃないかなんて話を上長に話していたところなのでメルカリさんの話がとても参考になり
良き前例として捉えたいと思いました。
自分は組織体制としての部分までは考えていたのですがそれを支えるアーキテクチャ周りまでは頭が回ってなかったのでなるほど!そういうことも考えないとか!
と勉強になりました。(自分はまだまだだなーとww)
世界で開発、サービスの連携・展開をしているところの話はすごいスピード感だな!というのが一番の感想です。
いろいろと考えることができたので収穫の多いセッションでした!!
あとは、スライドが公開されるのを待ちますw
あと公式からセッションの動画とかって公開されるのかな??いろいろ勉強したあとにもう一回見たい(聞きたい)セッションでした〜
まる