技術一課でOJT中の鎌田です。
週末はPepperアトリエ秋葉原でPepperくんと遊んできました。GUIのSDK[Choregraphe]を使って、簡単に動かすことができます。
なんと、一度ワークショップに参加すれば自由にPepperくんと戯れる枠に応募できるとのこと。隙を見つけてまた遊びに行きたいと思います。
さて、先日白金台、Wantedly様のオフィスで開かれた、
サービス開発の現場を語る! @千葉團 に参加しましたので、その様子をレポートをします。
http://chibadan.connpass.com/event/41625/
発表内容
30分枠
LT枠(5分)
Wantedlyの藤田さん、坂部さんの発表資料は以下リンクで見ることができます。
http://chibadan.connpass.com/event/41625/
kubernetesとツール開発
最初の発表は、Wantedlyインフラチーム 坂部 広大さんによる、「kubernetesとツール開発」。
Wantedly インフラチームは、社内サービスを[Docker]コンテナを用いて管理していました。
社内のサービス開発者から要望がある度にインフラを調整、構築するので、サービスが増えるにつれて、インフラチームの負担が増大していき、加えて対応まで時間がかかるのでボトルネックとなっていました。
そこで、デベロッパーがインフラを操作するための内製ツールを開発することで、インフラチームの負荷が減り、更にサービス開発においてインフラがボトルネックとなることが防げるようになったそうです。
kubernetesの導入
[kubernetes]とは、グーグルのエンジニアが利用していた社内ツールをオープンソース化した、コンテナ管理ツールです。
[kubernetes]を導入することにより、インフラチームはこのコンテナ基盤をロギング、モニタリングにより管理するだけで済むようになりました。
[kubernetes]はダッシュボードを持っているので、デベロッパーはそれを利用してイベントログやモニタリングを行うことができます。
ツール開発
ツール開発の考え方は、Unix philosophyに基づき、細かい粒度で作り、組み合わせて使います。
ツール開発の手順は、以下の通り。
・社内ヒアリング
・ドックフーディング
・アーリーアダブターに使ってもらう
・フィードバックをもらう
・社内アナウンス
特に、フィードバックをもらうことが重要で、例えば、あるツールを使う際、エディタがvimしか動かないことがありました。フィードバックの後にすぐ改善されましたが、こうした挙動は、実際に使ってもらわないと気づかないのです。
SendGrid Email Marketingの導入とその後
株式会社スペースマーケット 奈良 貴仁さんの発表です。
[SendGrid]は、確実な送信を訴求したクラウドベースのメール配信サービスです。スペースマーケットでは、Transactional Emailを用いていましたが、メール一件ずつの分析しかできませんでした。しかし、SendGridのEmail Marketing機能を使うことで一括のメール分析を行うことができるようになりました。
このEmail Marketingでは、APIを利用することができるのですが、スペースマーケットさんの環境だと送信先全削除、全登録には10分くらいかかるようです。Link Trackingによって、Linkのクリック数が見れるので、どのデザインだとどれくらいクリックされているか、などが分かって、レスポンスの分析ができるようになったそうです。
Microservicesのリアル
すみません、こちらは非公開とのことです。
あえて複雑なシステムを構築した訳や、実現のために出てきた課題、それに対する解決方法など、普段私が考える機会が少ない、高い視座で話をされていてとても勉強になりました。
Wantedly から Chef を一掃した話
Wantedly インフラチームの藤田さんによる発表です。以前より、インフラ管理ツールのChefと、一つのコンフィグファイルから複数のプラットフォームのためのマシン/コンテナイメージを作成することができるPackerをintermidiateとして用い、差分をgit fetch + バンドルインストールすることでデプロイを高速化していましたが、1イメージの作成に一時間かかっていました。
しかし、intermidiateの変更(Chefの設定をDockerfile一枚に集約し、Docker Composeを経由してgit操作)、Private Docker RegistryをAmazon ECRに移行した結果、デプロイ時間が16分弱になったそうです。
Credential Management APIを使ってみた話
モケラボ株式会社の@mokelabさんの発表です。 Credential Management APIを使うことで、ユーザーはサービスにログインする際に一回のタップだけでセキュアにサインインすることができます。HTMLで簡単にデモを作成することができるので、社内で利用を検討する際にはまず実装してみることがおすすめとのことでした。
AmazonSNS, GCM, ServiceWorkerによるデスクトップ通知の実装
asmsuechanさんによる発表です。 AmazonSNS,GCM,ServiceWorkerを用いてデスクトップ通知を実装しています。ServiceWorkerはブラウザとウェブアプリケーションの間に存在するプロキシサーバーのようなもので、ブラウザの状態に依存しない独自の処理を実装することができます。
最後に
開発者ならではの苦労、問題を知ることができて勉強になりました。今後もこういったイベントには積極的に参加しようと思います。