SREcon19 Asia/Pacific参加メモ: 1日目

2019/6/12~6/14にシンガポールで行われているSREcon19 Asia/Pacific(以下SREcon19AP)に参加しています。開催場所はシンガポール市内のSuntec Singapore International Convention & Exhibition Centreです。

SREconはSite Reliabilityの話題を中心に、DevOps、分散システム、OSやネットワークのデバッグ・チューニングなどがテーマで、特定の技術にフォーカスしていないぶん、幅広いトピックがあるカンファレンスです。

f:id:road288:20190613084053j:plain:w200

今回のSREcon19APは、セッション内での発表によると参加者は580人(125の企業、24カ国)だそうです。Google/Microsoft/Facebook/Baiduなどの業界を代表する大企業を中心に、ユーザー企業、ツールベンダーなどバラエティに富んだ参加者の印象です。日本からも十数人の参加者がいます。

開催期間は3日間で、3トラックで同時進行し80くらいのセッションがあります。その他はランチ・レセプション・スポンサーブースなどがあり、一般的な技術カンファレンスの構成です。

私は現在、株式会社サイバーエージェント・アドテクスタジオのエンジニアとして、インフラ部門のチームに所属していくつかのプロダクトのインフラ構築・管理・オペレーションなどを行う仕事をしています。”SRE”という肩書ではありませんが、実質的にSRE的な役回りをやっていることも多くあり、幅広い視野と一段高い視点を得たいと思ってこのカンファレンスに参加しました。

現地にいる間に感じたことを速報・メモ的に書き留めたいと思います。

f:id:road288:20190613084121j:plain:w200

全体の所感

SREというポジションは、特定の技術領域を指しているものではないので、技術カンファレンスとしてはガチガチの技術トピックというよりは、アプローチ・マインドセット・組織づくりなどに関する内容が多い印象です。 例えば、現在アプリケーション実行基盤としてデファクトスタンダードになっているKubernetesを正面から取り上げたセッションはありませんし、プログラミング言語をタイトルに冠したセッションもJavaが1つ、Pythonが1つという感じでバラバラです。 ただ、ふわっとしている内容なのかというとそういうわけではなく、それぞれの内容を具体的に応用可能な知見にするための方法論が話されている印象を受けました。 多数の言語・多数のミドルウェア、インフラ基盤に接している私の今の状況にはフィットしていると思いました。

f:id:road288:20190613084534j:plain:h200

各セッションの一行所感

参加したセッションを端的に紹介していきます。

A Tale of Two Postmortems: A Human Factors View

2つの「あるあるな」障害振り返り(Postportem)の事例を紹介しながら、どこに注目すべきか・ありがちな落とし穴・注意点などを考察。

Availability—Thinking beyond 9's

99.99%」「99.9999%」などの9を並べたSLA/SLOの定義をあらためてまとめつつ、Failureの定義は何かとか、誰がその指標を使うのかといった視点から可用性(Availability)について考察。

f:id:road288:20190613084941p:plain:h200

Use Interview Skills of Accident Investigators to Learn More about Incidents

システム障害後の調査のため関係者にインタビューする際のノウハウをまとめたセッション。基本的には「彼ら個々の頭にあるストーリーを語ってもらうこと」を推す内容。

Leading without Managing: Becoming an SRE Technical Leader

SREとしてのキャリアを、いわゆるマネージャとしてではなく、テックリードのポジションで上を目指すための具体的な方法論・取り組むべきことについて紹介。LinkedInでそのポジションにあり、Kafkaについての著書もあるなど実績もある方の話でとても説得力・具体性があった。

f:id:road288:20190613085132p:plain:h200

Practical Instrumentation for Observability

「Avalilability」「Latency」「(Service/Product)Quality」の3つに焦点をあて、Observability(可観測性)の基本をあらためておさらい。基本的な内容かもしれないが実際はできてないことばかりで頭が痛い。

f:id:road288:20190613085415p:plain:h200

Let's Build a Distributed File System

ファイルシステムの基礎からはじまり分散ファイルシステムアーキテクチャについて述べ、簡単なデモ用OSSPyDFS」を例に分散ファイルシステムの具体的な実装を紹介。

Ensuring Site Reliability through Security Controls

Paypalのエンジニア2人が登壇。Malicious(悪意のある)トラフィックを遮断するためのL7レイヤーでの検知および対処方法について紹介。このあたりは既存のWAFソリューションを入れるとあとはお任せみたいにしてしまうこともありがちで、具体的に中身について考えられたのは良かった。

f:id:road288:20190613085627p:plain:h200

Why Does (My) Monitoring Suck?

モニタリングはなぜ難しいのか、そしてどう改善すべきかの具体的な方法論について紹介。結論としては「SLOを定めよ」「アラートを整理しろ」「メトリクスを取るための仕組みを導入せよ」。

Enhance Your Python Code beyond GIL

PythonのGIL(Global Interpreter Lock)について紹介し、それを前提にしつつpythonでの並行・並列処理をうまく実装するための選択肢(multithread/multiprocess/ASyncIOおよびその組み合わせ)について紹介。

f:id:road288:20190613085806p:plain:h200

1日目は以上です。 残り2日間も追って投稿します。