Glide Note

glidenote's blog

最近導入した開発に役立つ便利なステータスバー通知系アプリ3選

最近追加したステータスバーの通知系アプリで便利なやつを共有。

GitHub Notifications

GitHubのNotifications通知については、Gitifyを利用。 それまでは自分宛の通知はZapier使ってSlackに通知したり、Chrome Extensionとか使って検知してたんですが、 ステータスバーに通知するやつが自分にはあっていたので、半年くらい前から利用してます。

CircleCI Notifications

CircleCIの通知にはSeaEyeを利用。特定プロジェクトや、自分のビルドだけ通知などが設定ができるのが大変便利。

BitBar & Sensu Notifications

rebuild.fm a132で話題に出ていたBitBarで、KAIZENで利用している監視システムSensuのPluginがあったので導入。 Sensuがアラートを検知した場合、Pagerduty経由で、Slack、メール、電話、スマホアプリへの通知などをしてくれるので、無くても良いんですが、ちょっとBitBarを利用してみたかったので導入。

これを機にメールとSlackでの通知も減らしたので作業に集中する時間が増えた(気がする)

参考

CircleCIのProjectページの移動が簡単になるAlfred Workflowを作った

実はCircleCI Advent Calendar 2015 - Qiitaにエントリするために、 結構前にAlfred Workflowを作っていたんですが、当時多忙でブログに書くのを忘れていました sweat

CircleCIで利用するProject数が増えると、それぞれのページに移動するのが めちゃくちゃ面倒なので、CircleCIのProject移動が簡単になるAlfred Workflowを作りました。

インストール方法、使い方はREADMEを見ていただくことにして、 どんな感じで動作するのかgif animationにしてみました。

Projectページを開く

URL情報をcacheしているので、サクサク動作します。

各Projectのmasterブランチのstatusを確認する

その都度APIを叩いて確認しているので、レスポンスが遅めです。

CircleCIとAlfredを利用している方は是非ご活用ください。

「サーバ/インフラエンジニア養成読本 DevOps編」にて[CircleCIによる継続的インテグレーション入門]を執筆しました

サーバ/インフラエンジニア養成読本 DevOps編 [Infrastructure as Code を実践するノウハウが満載! ] (Software Design plus)

2016/02/26 に出版される「サーバ/インフラエンジニア養成読本 DevOps編」というムック本にて、特集「CircleCIによる継続的インテグレーション入門」を執筆しました。

CircleCIによる継続的インテグレーション入門

私が現在所属するKaizen Platform, Inc.でもCircleCIをヘビーユーズしており、サーバ/インフラ部分においても、

  1. インフラCI
  2. 稼働中サーバへのプロビジョニング
  3. DNSレコードの管理
  4. Terraformを用いたAWSリソースの管理
  5. Packerを用いたAMI作成
  6. 稼働中サーバのセキュリティアップデート
  7. メトリクスグラフの取得&slackへの投稿

などにCircleCIを利用しており、今回はその中のインフラCI稼働中サーバへのプロビジョニング 部分を入門用に噛み砕いて書いてます。

Kaizen Platform, Inc.におけるインフラの継続的デリバリー、インテグレーションについては技術顧問である伊藤直也さんのブログ、@m_doiの昨年JAWS発表資料を合わせて見ていただくと理解が深まるかと思います。

既存環境に組み込みやすいように

本特集では下記のサービス、ツールを利用しています。

ツール名 役割
VirtualBox ローカル環境にテスト用VMを起動
Vagrant テスト用VMの管理とssh接続情報の生成
knife-solo プロビジョニングの実行
Serverspec テスト用VMのプロビジョン結果のテスト
Terraform DigitalOcean上へのテスト用VM作成
CircleCI GitHubと連携しビルド/CIを実行
GitHub インフラコードの管理
DigitalOcean インフラCIのテスト用VMの作成環境


特集内でも説明をしていますがそれぞれを疎な状態を保つように利用しているので、組み替えやすく、別のサービス、ツールを利用していても取り入れやすいのでは無いかと思います。

HashiCorp tools

今回VagrantTerraformを利用し、ローカルでのテスト環境、インフラCIを実現しています。Vagrantはすでに定番ツールとなっておりますが、Terraformについてはまだまだの印象がありますので、インフラCI用の使い捨てVM管理を通じ、Terraformの感触を掴んでいただければ幸いです。

目次

それぞれの特集が独立しており、好きなところから読んで、手を動かして試せる内容となっています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
巻頭企画 DevOpsとInfrastructure as Codeの概要
吉羽 龍太郎
第1章 DevOpsとは?
第2章 Infrastructure as Codeとは?

特集1 最速攻略!Ansible 2によるサーバ構築
新原 雅司
第1章 Ansibleの基本
第2章 Playbookの基本
第3章 Ansible[実践]
第4章 Playbookベストプラクティス

特集2 CircleCIによる継続的インテグレーション入門
前田 章
第1章 インフラのテスト入門
第2章 ローカル上でのテスト駆動インフラ
第3章 インフラCIの準備
第4章 CircleCIを利用した継続的インテグレーション
第5章 継続的インテグレーションから継続的デリバリーへ

特集3 Dockerによる仮想環境構築とKubernetesによるDockerクラスタ管理
馬場俊彰
第1章 Dockerの基本
第2章 Dockerを使ってみよう[基礎編]
第3章 Dockerを使ってみよう[応用編]
第4章 クラスタ管理ツールとは
第5章 Kubernetesの基本
第6章 Kubernetesクイックスタート
第7章 Kubernetesを詳しく見てみよう

正誤表

TerraformのDownload URLが発売直前のこのタイミングで変更になってしまい(泣)、一部コードがそのままでは動かなくなっております。詳しくは技術評論社様のサイトでご確認ください

最後に

担当した特集で利用しているServerspecの作者であるmizzyさんの紹介で特集が実現し感謝です。 担当した特集部分のレビューにご協力頂いた @tnmtさん、@kenjiskywalkerさん、@satoryuさん、ありがとうございました。

余談ですが今回の執筆にあたり、CircleCIにいろいろと問い合わせをしていたところステッカーとTシャツが送られてきて、CircleCIにも感謝です! / Thanks CircleCI !!

A photo posted by Akira Maeda (@glidenote) on


本書がビジネスに貢献するITインフラの役に立つ1冊になれば幸いです。

追記 2月26日追記

本日2016年2月26日(金)発売で、今現在カテゴリー別1位になっているようで、ありがとうございます!

Webサービス開発徹底攻略 Vol.2 を読んだ

Webサービス開発徹底攻略 Vol.2 (WEB+DB PRESS plus)

技術評論社様、特別企画「継続的Webサービス改善」執筆陣のGMOペパボのみなさんからご恵贈いただきましてありがとうございます。

『WEB+DB PRESS』の掲載記事をテーマ別に厳選、再編集とのことで、LINE、ドラゴンクエストX、freeeの事例などは 2015年のものが掲載されており、その他は2013年と3年前の事例なので多少古さがあるが、現在でも有益な情報には変わりない感じ。

LINE、ドラゴンクエストX、DMM.com などの大規模トラフィックを関する知見が参考になるのはもちろんですが、 特にGMOペパボの特別企画「継続的Webサービス改善ガイド ── 複雑性の増大と環境の変化に対応する」に関しては、 2013年当時私も在職しており、10年続くサービスをいかに改善していくかということに取り組み始めた頃で、 それから約3年経過し、最近のGMOペパボのエンジニアの勉強会での発表資料を見ると、 この本に書かれている通りに、その後サービス改善に取り組んでいることがよくわかって素晴らしい。

特にDB周りは鬼門だったので、それに関する発表資料を見ると、技術力の高さを感じる。

ほとんどのWEBサービスが10年も続かずにサービスを終了してしまうのを考えると、 長年続いているサービスの改善に関するGMOペパボの取り組み、知見は非常に希少度が高いし、 その元となっている考え方の基礎となっている部分が書かれており、2016年も必読の内容かと思います。

p.165のコードレビューの画像は、確か私のコードに対する指摘だなーと思い出して懐かさと汗が。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
■特集1:LINE ── 1日100億メッセージをさばくサービスの裏側
・第1章:LINEの歴史と開発体制
・第2章:LINEのサーバサイドアーキテクチャ
・第3章:LINEのメッセージング基盤
・第4章:LINEのストレージ
・第5章:スタンプショップの舞台裏

■特集2:ドラゴンクエストX ── 国民的RPGオンライン化へのチャレンジ
・第1章:ドラゴンクエストXとは何か
・第2章:開発・運営体制
・第3章:開発の舞台裏
・第4章:サーバプロセス構成
・第5章:1つの世界

■特集3:クラウド会計ソフトfreee ── 急成長を支えたコードとプロセスの改善
・第1章:クラウド会計ソフトfreeeの全体像
・第2章:急成長するシステムの課題と処方箋
・第3章:フロントエンド開発の複雑化への取り組み
・第4章:規模の拡大に伴う開発プロセスの変遷
・After That:freeeの現在

■特集4:DMM.com ── 動画配信に耐えるインフラ、好機を逃さない高速開発
・第1章:システムの全体像
・第2章:変化しつづけるインフラ
・第3章:負荷対策とパフォーマンス改善
・第4章:動画配信の裏側
・第5章:好機を逃さない高速開発
・第6章:多様なサービスはいかに作られるか
・After That:DMM.comの現在

■特別企画:継続的Webサービス改善ガイド ── 複雑性の増大と環境の変化に対応する
・第1章:なぜ「継続的Webサービス改善」が必要なのか
・第2章:開発環境の改善
・第3章:パフォーマンスの改善
・第4章:インフラ構成管理の改善
・第5章:ビジネス視点の改善
・第6章:これからも続く「改善」へのとりくみ

■一般記事:社内の情報共有・情報発信 ── クックパッドはいかにして場を築いたか

Roost Laptop Standで肩こりが解消した

Kickstarterで注文していた新しいRoost Laptop Standが昨年末に届いて、最近は下のような形で作業している。

2016年に向けた作業環境が整った

A photo posted by Akira Maeda (@glidenote) on


1ヶ月半くらい、この状態で過ごしてみての感想は、

  • 真っ直ぐを向く姿勢になるので、肩こりが解消した
  • 姿勢が楽なので集中力が長時間持続する
  • イヤホンを接続するとケーブルが邪魔
  • Roostは持ち運びを想定した設計だが、キーボードとかも一緒に持ち歩かないといけないので、持ち運びには適さない(と思う)

単に目の高さにディスプレイがくるようになれば良いのかと思って、それまで使っていた外部ディスプレイ(27インチ)を目線の高さにくるようにしてみたけど 外部ディスプレイだと画面が広いせいか、首は動かないけど視線(眼球)がよく動いて、目の疲れは軽減されないことがわかった。

MacBook Pro Retina 15くらいだと視線ほぼ動かないので、目が疲れず、それが肩こり軽減にも一役買っている。

これまで肩こりで集中力が切れることが結構あったが、Roostを使いだしてからそれが無くなって劇的に快適になった。 作業環境において、ここ数年で一番良い買い物をした感じがする。

参考