Kekeの日記

エンジニア、読書なんでも

Telepresence概論

f:id:bobchan1915:20190520235144p:plain
Telepresence

動機

マイクロサービスになればなるほど、テストが難しくなってくるので、ローカルの開発環境を整えるの難しく、その問題を抱えるのは必然かなと思います。

今回はその時に使えるToolであるTelepresenceを使っていこうと思います。

Telepresenceって?

Telepresenceについて解説していきます。

Telepresenceとは、マイクロサービスを応援するKuberenetesのために速く、ローカル開発環境を整えるためのソフトウェア

注意点としては、単一サービスのみローカルでテストをできることです。

続きを読む

継続的デリバリーのためのGoCD on Kubernetes

f:id:bobchan1915:20190512212637p:plain

動機

GoCDって「Go」が一般性の高い言葉が故に、躓いたときに調べるのが面倒だなと思って避けてきました。

しかし、技術選定をする上で、一度は触っておかければならないと思ったので調査してみます。

いくつかの図は、本サイトから引用させていただいています。

続きを読む

SkaffoldとDraftを比較してみる

f:id:bobchan1915:20190519191238p:plain

動機

私は新卒としてとある会社のエンジニアになったわけですが、同期に「Skaffoldってどうなの?チームで導入する価値ある?」のような質問を受けました。

私の意見としては、必要がない、と答えました。というのも、

*入社した会社が導入していないこと * 継続的デリバリーの(悪い意味ではなく)底辺であり、ローカルからである * シンプルさ故に機能不足

などいくつも理由が挙げられます。もとより、この分野は興味がなかったためSkaffoldやDraft、GitKubeなどしっかりとした調査はしたことがなかったです。

今回はその同期からいただいた質問を発条に、調査していこうと思います。

続きを読む

3人で決済プラットフォームを2日で作り上げたSRE的戦略の話

f:id:bobchan1915:20190512163042p:plain
アーキテクチャの略図

動機

個人的に最もSRE的なバリューを作ることができて、チームとしての生産性も最も高かったのが、決済プラットフォームの開発でした。

「制約の中では自由である」のが社会的な自由であり、その中で幸福の契機を探しているのが私たち人間ではないかと思っています。つまるところ、私たちの精神の如何なる運動も、世間との契約の上で成り立つものであり、その契約違反は結果的に負の表像となるだけかなと最近は感じています。

そのような認知前のフィルタリングが必要な上で、チーム開発は非常に難度の高いものになるのは必然性を感じます。

懐古主義ではありませんが、今回はそのような中で、SRE的な戦略がうまくワークしたのではないかと思って明文化します。

続きを読む

Chaos Engineeringの8つの罠

f:id:bobchan1915:20190513084452p:plain

動機

2019年4月から新卒入社してSREとして働いている私は、今期の目標の一つに「Chaos Engineeringの本質的理解とOSS貢献」があります。

今回はフィードで流れてきた「Chaos Engineering Traps」という記事が素晴らしく良かったので日本語訳して、価値提供を少しできたらいいなと思って書いてます。

対象記事はこちらです。

medium.com

続きを読む

EmbulkのPluginをRubyで作成する"いろは"

本記事

本記事は、EmbulkのInputとOutputに対応するPluginをRubyで作成する手順を解説します。

f:id:bobchan1915:20190312162414p:plain

対象としてはDialogflowです。私はGoogle HomeとLine Botを使って家計簿を管理しているのですが、訳あってDialogflowのプロジェクトを移行しないといけなくなりました。

続きを読む

Chaos EngineeringのためのChaosKubeを使ってPodを壊してみる

f:id:bobchan1915:20190420145644p:plain

動機

カオスだった平成最後の日に。

日本では未だ、マイクロサービス化が海外と比べて対応が遅いと言われていて、Chaos Engineeringが採用されるのも遅い傾向があります。

SREとして新卒入社したので、自分の知識の枠を広げるためにChaos Engineeringについて猛勉強をして、ChaosKubeができる機能を試してみたので記事にしました。

続きを読む

Kubernetes Downward APIを使ってDogStatsDにカスタムメトリクスを送れるようになる!

f:id:bobchan1915:20190418110421p:plain

動機

最近、比較的モダンなモニタリングに関する本が出ていたので読みました。

入門 監視 ―モダンなモニタリングのためのデザインパターン

入門 監視 ―モダンなモニタリングのためのデザインパターン

そこで、監視(モニタリング)の定義がされていました。

監視とは、あるシステムやそのシステムのコンポーネントの振る舞いいや出力を観察し、チェックし続ける行為である。

プロバイダがGoogle Cloud Platformでなかろうと、Kuberenetesクラスタをモニタリングをするのは簡単なことではありません。

DatadogはDatadog AgentというPod(コンテナ)を配置することによって、KuberenetesのHostを中心に、クラスタ全体のメトリクスを取得、可視化、そして探求をすることができます。

今回はDatadogを使ってGoogle Kuberenets Engineクラスタを監視します。そしてDatadog APMを中心に、新しい機能があるので調査していきます。注意点として、必ずDatadog Agentをインストールする必要はなくて、API経由でもメトリクスを監視することができます。

続きを読む