こんにちわ。SRE部の cw-tomita です。
さて、今日から待ちに待ったAWS Summit Tokyoが始まっていて、皆さん楽しんでいることと思います!
AWS Summit Tokyo 2018(2018年5月30日~6月1日)|AWS
ChatWorkのSRE部は現在5名で、東京オフィスに3名、大阪オフィスに1名、フルリモートが1名で、全員がリアルな場所に集まることは中々無いのですが、このAWS Summitはその中の1つの機会となっていて、そういう意味でも(主に懇親会で行くバルバッコアのシュラスコが)とても楽しみにしていました🍖
我々SRE部、ただ肉を食べるだけではなく、明日、5/31(木)にAWS Summit スタートアップ特設エリアでプレゼンテーションの枠をいただき、SRE部メンバーが2人発表しますので、この記事では、その内容を一足先に紹介したいと思います。「チャットワークにおけるkubernetes on AWS」、「チャットワークにおけるサーバーレス活用術」というタイトルだけでワクワクしちゃうやつですので、ご興味を持たれた方は是非会場に足を運んでいただければと!!
プレゼンが終わった後にこの記事にたどり着いた方、ChatWorkで利用されてる技術やSRE部の業務に関して、こんなことやってるんだな〜っていう参考になるかと思いますので、是非、最後まで読んでください。
「チャットワークにおけるkubernetes on AWS」 5/31 12:45〜 @飛天の間 (総合受付のすぐ近く)
by cw-sakamoto
昨年のAWS Summitで発表した、scalaを使ったチャットワークのメッセージング部分のシステムリプレイス(通称:Falconプロジェクト)以降、チャットワークでは本番環境でのkubernetes利用を行なっているので、1年半くらいkubernetes clusterを運用してきたことになります。 正直、昨年の発表の時点では、kubernetesをただ動かしているだけ〜、、という感覚が強かったです。 が、、kubernetes自体の進化 + その進化に乗り遅れないように色々と改善に取り組んで運用ノウハウを蓄積してきたことで、当時と比較すると"運用している"という感覚が強く持てています。プラスで、今後やりたいことについても色々と見えて来ていて、チーム内で日々あーだこーだ言い合っていて、その辺りの内容がギュッと濃縮された発表です! kubernetesのことは知っていて導入を考えている方、既に導入しているけど今後どうしていくか色々と悩んでいるという方に、特にオススメな内容となっています。
ちなみにcw-sakamotoが入社したのは昨年の7月で、過去にkubernetesの運用経験があったわけではなかったのですが、入社してすぐに、"まずkubernetesに慣れるために(手順はちゃんとまとまってなくて、HBase clusterとかkafka clusterも建てないといけなくて大変だけど) Falconをテスト環境に0から作って、その手順をまとめてください〜。" というタスクを 無茶振り cw-sakamotoならやりきってくれるに違いないと思って依頼したことを思い出し、それから1年も経たない間に、ほんと色々と進化したな〜と資料のレビューをしながら感慨に浸ると同時に、早く次のステップ (PHP monolithic部分のkubernetes化) に進もう!という気持ちを改たにしました。
今回は15分という限られた時間枠でしたが、cw-sakamoto 曰く、kubernetesに関してなら2時間は余裕で喋れますよ!ということですので、勉強会等の形で情報交換したい〜というような話がありましたら、お気軽にお声掛けいただければと思います。
ChatWork developers (@ChatWork_dev) | Twitter
「チャットワークにおけるサーバーレス活用術」5/31 16:15〜 @飛天の間 (総合受付のすぐ近く)
by cw-ozaki
"チャットワーク"というプロダクトの中で初めてAWS Lambdaを採用した話を絡めながら、サーバレス / FaaSを利用したシステム構築は何が美味しいのか/どう使うべきか という所をChatWork SRE部のサーバレス過激派メンバーである id:cw-ozaki が、 6/1 の基調講演に登場するAdrian Cockcroft (元Netflixで今はAWSのVPの凄い人)に先駆けて発表します。 サーバレス知ってるぜって方は勿論、サーバレス知らない人も、この辺は最近めちゃめちゃ盛り上がっている所で、Adrian Cockcroft さん もCloud Trendとして取り上げており (参考: GOTO 2017 • Cloud Trends • Adrian Cockcroft - YouTube ) 、知っておいて絶対に損はないので、是非聞きに来てください!
ちなみに、新しい機能自体の開発をまるっと行うことは、本来のSRE部の役割からするとイレギュラーなのですが、先に書いた通り、AWS Lambdaを本番システムの中で使った実績がなく、独学であれこれと学んでいる cw-ozaki が適任であろうということで、今回の開発の主担当となりました。(そもそもcw-ozakiがいなければ、Lambdaを使おうという流れにもならなかったかもしれない。)
結果としては、Serverless / AWS Lambdaという新しい概念のアーキテクチャを本番のシステムに適切な形で導入できたことで、今後のプロダクト開発の中での技術的な選択肢が広がったし、ここから運用ノウハウを貯めていくことが出来るので、SREとしての役割も十二分に果たしていると言えると思います。
また、ほぼ独学で学んでいたことが"チャットワーク"というそれなりの規模で使われているシステムのど真ん中に投入されたというのは、今の会社の規模感ならではの良い事例だな〜と、資料をレビューしながら感慨に浸るとともに、保守的にならずに色んな技術領域に挑戦してプロダクトを発展させていかないとな〜という気持ちを改たにしました。
今回は15分という限られた時間枠でしたが、cw-ozaki 曰く、サーバレスに関してなら4時間は余裕で喋れますよ!ということですので、(ry
ChatWork developers (@ChatWork_dev) | Twitter
今回は2枠ということで、泣く泣くボツにしたネタが何個かあったり、先日のブログではAWS自体は全く関係ないHBaseについてあれこれと調べたりと、
HBaseのcompactionについて調べてみた(1) - ChatWork Creator's Note
SRE部は、チャットワークの安定稼働 / 効率的な運用のために、様々な技術領域への取り組み/実践を行っています。今は5人の部ですが、やりたいことは70個くらいあるので、更なる技術的な多様性を持ち込める方、既存の技術領域に対して深みを持ち込める方からの応募を絶賛大募集中です!