読者です 読者をやめる 読者になる 読者になる

bashを便利にする

bash

履歴に時刻を表示させる

$ cat .bashrc

export HISTTIMEFORMAT='%F %T '
export HISTIGNORE=ls*:history*
export HISTCONTROL=ignoredups

指定コマンドのみでインクリメンタルサーチする

$ cat .inputrc 

$if Bash
"\C-n":history-search-forward
"\C-p":history-search-backward
"\e[A":history-search-backward
"\e[B":history-search-forward
$endif

bash の履歴入力で前方一致検索を有効にする

Heartbleed対応

SSL

レンタルサーバ放置だったので、OpenSSLの脆弱性対応。

https://www.jpcert.or.jp/at/2014/at140013.html

OpenSSL 1.0.1 から 1.0.1f

openssl version で対象だなと調べて、yum updateしたのは、
いいけど、前のバージョンからどのくらい上がったかなと、履歴を見たいと思った。

その際は、以下のようにして調べる。

#yum history package-list openssl

WEBフォント

font html css

時間があるので、でぶさみ気分を味わいたく、
Vagrantについて調べていました。

とあるスライドからとある会社のページで、
chromeのURLバーに盾マークが出ているので、なんだろうと見たら、
httpsページでWEBフォントの参照先URLがhttpで参照しているせいだと思う。


それで、webフォントって、
web上でフォントを参照するってことなんだろうと想像はついたが、
聞いたことがあるようなないようなということで、
やってみたことはなかったので、やってみた。

google web fontを使うと、リンクのURLがhttpだったので、
それをコピペだとはやり、chromのURLバーに盾が表示された。

以下は、dropboxの公開フォルダに作った。
そして、webfontのリンク先をhttpsに変えても問題なかった。

http://bit.ly/1lMAsAs

vi 複数行に挿入

Vim

viにて、ソースなどを編集しているときに、複数行にわたり挿入したいとき。
具体的には、スペースなどのインデントや、一括コメントアウトなど。

              • -

やり方

・ctr + v
(visual blockモードになる。)

・カーソル移動で範囲選択。

・shift + i
(挿入モードになる。)

・挿入したい文字を入力
(スペースや、#, // コメントアウトなど)

・escで挿入モードから抜ける。

変更前

<form>
<input type="radio" name="q1" value="1"> はい
<input type="radio" name="q1" value="2"> いいえ
<input type="radio" name="q1" value=""> どちらでもない
</form>


変更後(スペース4つでインデント)

<form>
    <input type="radio" name="q1" value="1"> はい
    <input type="radio" name="q1" value="2"> いいえ
    <input type="radio" name="q1" value=""> どちらでもない
</form>


引用

http://qiita.com/mugyuu/items/16b1eff776525d863fc3

http://nanasi.jp/articles/howto/editing/blockwise-operation.html

http://d.hatena.ne.jp/japanrock_pg/20100628/1277739776

tmuxのステータスバーの色を変える

tmux

グリーンの背景に、文字が黒は見難かったので、色を変更してみたい。
設定の仕方は、以下を参考にした。

https://github.com/altercation/solarized/blob/master/tmux/tmuxcolors-light.conf

設定ファイル

システム全体に適応の場合
/etc/tmux.conf

自分用にカスタマイズする場合
~/.tmux.conf

DevOpsDayTokyo2013

DevOpsDayTokyo

今日は、PyConAPACにてjhottaさんより紹介があった
イベントに参加してみました。

2013-09-28(土)晴れ

東京ミッドタウン
9:00-18:30

#devopsdays

              • -

オープニング。
@spesnova, @timwata, @jhotta

多くの企業スポンサー紹介。
マイクロソフトさん、ランチ提供。
Yahooさんの会場提供。

puppetさんが来ている。
貴重なので、お楽しみに。

ノベルティはテイクフリーではないので、
ブースでお話してもらってください。

      • -

■Making Operations Visible-運用の見える化
Nick Galbreath (@NGalbreth)-ニックガルブレス
IPONWEB

プレゼン資料
http://www.client9.com/2013/09/28/making-operations-visible/
http://www.slideshare.net/nickgsuperstar/making-operations-visible-dev-opsdays-tokyo-2013key

DevOpsとはコミュニケーションである。
目に見えないモノは価値がないとみなされている。
見えないものにはないと等しい。
この会社は一体何をしてるのか?
これは、破壊的な現状があるといえる。

会社内には沢山のデータがあふれている。
であれば、それを見える化して風通しを良くする。

なぜ、データを見せないのか?
聞いた言い訳には次のようなものがある。
既にグラフ作成昨日はある。
どうせ解らないから共有する必要なないんじゃないの?
これは、あなたの仕事ではないから、知る必要がない。
データは重複させたくない。
忙しすぎる。

やり方が解らない。

1台のマシン、1日だけ、一人だけでチャレンジしてみよう。

・Graphiteツール
RRDTool,Ganglia,Cactiと似ているツール
CPUは食わないけど、メモリと早いディスクは積んだほうが良い。
インストールはそんなに難しくないけど、configが煩雑。
debian並と捉えてもらえれば。

StatsD
https://github.com/etsy/statsd


ログイン回数をカウントしてみましょう。
沢山のサーバからログインの記録がStatsDにUDPで送られる。
デプロイもその一つ。
そして、Graphiteにより1つのメトリクスにまとめられる。

赤のグラフがログインの失敗です。
朝の3時ぐらいに、誰かが攻撃して入ろうとしたことを示しています。

どこの国からログインしているかをキャプチャできる。

Graphiteの画面紹介。

ぜひ、データの可視化をチャレンジしてみよう。
1台のマシン、1日だけ、一人でチャレンジ。

今日は、一日居ますので、ぜひ話しかけてください。
では、10分休憩です。

      • -

Delさんがスポンサーとして頑張ってくれてますので、
可能な方は名刺を置いていって頂けると、
来年の為にも助かります。

      • -

■プラットフォームベンダーから見たオープンクラウド設計と運用のポイント
増月孝信

今回の資料が公開されているかは不明だが、
以下の内容と同じような感じ。

http://ja.community.dell.com/techcenter/m/mediagallery/1807.aspx?GalleryPostSort=Comments&PageIndex=3


お会いしたことがあると思ったらOpenSolarisの勉強会で。

      • -

■An Open source monitoring framework designed for the "cloud"
Sean Porter (@portertech)

SENSUの紹介。

日本の文化にインスパイア。
竹の強さとしなやかさ。

Rubyで書かれたモニタリングフレームワーク
Nagiosとは少し違う形で動いている。

Sensu -> PagerDuty から電話

どうしてRubyを選んだのか。
chefやpuppetもRubyが使われていて、インフラでは結構使われているから。

      • -

Yahooさんの震災復興弁当

岩手産鳥弁当
宮城産すき焼き弁当
三陸さんま弁当

      • -

■インフラ屋から見たEnterprise DevOpsの為の基盤
日本マイクロソフト 高添修

マイクロソフトの中でも、dev ops仲が悪かったり。
近年、クラウドをキーワードにつながってきているように思う。

MS yammer買収。コラボレーションツール。
メールだと後からjoinした人が見れない問題を解決。

WindowsServer データ重複除去
ディスク容量を75%ぐらい削減しているプロパティ画面を紹介

      • -

5min demonstration
クックパッド
@shimpei makimoto

Solr
New Relic
redis
MUNIN
Nagios

https:://github.com/cookpad/
Arproxy
chanko
Pendaxes

150人中60名がエンジニア。

■VOYAGE GROUP
ECナビ
Pex
Research Panel
タダゲー
Fluct(SSPサービス)
Zucks(広告配信サービス)

・5個以上の言語でHello World書いたことある?
・自動テスト+自動デプロイ環境をしたことある方?

エンジニア募集しています。
ajitoというバーがあるので飲みましょう。


VMware Inc.
VMware 2013- Vmware NSXの製品紹介

            • -

■Puppet eco system
pupete lags Developer & Manager
Max Martin @maxmartin

joinして3年ぐらいになるが、色々変化があった。
25名の舞台から190名の多国籍企業となった。

Adbaces in the Puppet Ecosystem
Puppet3.x
Hiera integration
PuppetDB
Mcollective 2.x
Geppetto
Puppet Forge

クラウドスミスを買収。

Puppet3.0の改善点
Speed and Scability
Scability 100% up
Spped 2.7x up
この数字は、シミュレーションではありません

gatling(ガトリング)
scalaで作られたライブラリ?

Hiera(ハイラ)
Puppet3からコアライブラリになった
hierarchical key-value store with pluggable backends(JSON, YAML, etc.)

PuppetDB
Based on PostgreSQL:reliable, battle-tested
Written in Clojure:fast, maluti-core。フルにマルチコアを活用可能。
Based on the JVM:can be shipped as JAR
Thousands of PuppetDB deployments
Hundreds of threads per install

PuppetDB - Query Syntax and APIs
AST-based query syntax
API for defining your own query syntax

  • Erik Dalen, sptify

https;//github.com/dalen/puppet-puppetdbquery
Rich APIs make it easy to build your own tools to consume Puppet data

PuppetDB-puppetboard
https://github.com/nedap/puppetboard

PuppetDb-Metrics

MCollective
A powerful orchestration engin
エージェントというスクリプトで、特定のノートに対してコードを取れる

MCollective - Subcollectives

Mcollective - Pluggable Discovery
・Query a file
・Discover uising PuppetDB
・Direct addressing

MCollective - Ruby Integration


Gepptto
クラウドスミスを買収しました
IDE for developing Puppet modules & code
Integrates with git & svn
Lunux, OS X & Windows
Debug your Puppet modules as you develop them
New in 3.2

Puppet Forge
Puppet Labs' module repository
1,500+ community-contributed modules
Improved search

        • -

■DevOps at Gengo:The Whys and Hows
GENGO
python+php

CHALLENGE 1
Manual Environmetns = Unstable unscalable environments
バラバラ
作業機ログない
テスト不可
人的ミス

CHALLENGE 2
Devs and Devops not in sync
開発者は開発に集中しがち


Chefのレシピ

-VAGRANT-Chef
-Knife-solo

Chef and Vagrant Hurdles!
devになかなか使ってもらえない。
opsもコードに強くなる必要がある。

        • -

Ops for Everyone
johndbritton
GitHub inc.

開発者であり、運用は私には関係ないと思っていました。
それは、間違っていました。

First Principles.

  • Collaboration

協調

  • Automation

同じことを2度してはいけない

  • Experimentaion

環境とは試しやすいものであるべき

  • Distribut-Ation?

分散であれ。運用はチーム全員が知っている必要がある

BOXEN
開発者環境を管理するもの
どのマシンもコンフィグが設定されている
摩擦を減らす、雑務を減らすもの。
意味ある作業を初日からできるようにするもの
Boxen makes it possible to build something meaningful day one

Macを支給されました
Install xcode command line tools

project manifest
これはpuppetです。


HUBOT
チャットルームのメッセージで何かをキーにアクションを起こす。
TEST, SHIP,

CHATOP
think of chat as as a shared command line

/CONFIG
/HOST
/PUPPET RUN
/GRAPH ME
/WHERE IS
/FITBIT ME
/NEW HIRE ME
/ANIMATE ME

zshell
oh-my-zsh

git hub で日本に居るのは、私だけです。
もし働きたいのであれば、声を掛けていただければと思います。

      • -

■DevOps時代のインフラ構築と開発プロセス
アマゾンデータサービスジャパン
吉羽龍太郎

DevOpsの基礎
ビジネスの為にIT活用

standishの調査より
システムの機能の利用割合
全く使わない 45%
殆ど使わない 19%
たまに使う 16%
良く使う 13%
いつも使う 7%

資料がupされるだろうし、資料が分かりやすいので
何回か聞くことがある話だと思うので割愛。

アマゾンは、平均11.6秒に1回デプロイ。
1時間で1000回以上。

        • -

■迷ったら健全な方
クックパッド 成田一成 @mirakui

2008 yahoo新卒入社
2010 cookpad


1997年創業 1名
2006年 3名
このあたりで、join
2007年マザーズ上場
2010年 10-20名
2011年 東証1部上場
2013年 約60名

現在の構成比
dev サービス開発 40
ops インフラ部 5
dev 技術部エンジニア 12

デプロイ
5-10 deploy/day

CIをパスしたら、開発者自身がデプロイ
営業時間内のみデプロイ

リリース前のops作業
本番セットアップ
監視設定
キャパシティ測定

Devがデプロイ可能
非公開⇒ユーザ公開⇒全体公開

ソースコードはリリース直前までfixしない
Opsが権威的にならない
認証フローをしてしまうと、devが辞めていってしまう

      • -

■Effective Monitaring statD
Alexis @alq
Datadog Inc CTO

OODA Loop(simplified)

  • Observe-Orient-Decide-Act-|
--------------------------

Observeのところで、Monitoring Tool

statsD
https://github.com/etsy/statsd/

client library
https://github.com/etsy/statsd/wiki

      • -

■クロージング

tmux1.8

tmux

tmux1.8をソースからインストール

libeventが必要なので、先にインストール

libevent-2.0.21

libevent

$ wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
$ tar zxvf libevent-2.0.21-stable.tar.gz
$ cd libevent-2.0.21-stable
$ ./configure && make
$ make verify
$ sudo make install

# echo /usr/local/lib >> /etc/ld.so.conf.d/usrlocal.conf
# ldconfig
# ldconfig -p | grep libevent
tmux1.8

http://tmux.sourceforge.net/

$ tar zxvf tmux-1.8.tar.gz
$ cd tmux-1.8
$ ./configure && make


"curses not found"となるので、以下をインストール

$ sudo yum install ncurses-devel


ncurses-develのインストールが完了したら、tmux1.8を再度。

$ ./configure && make
$ sudo make install