Chef 実践入門,Chef 活用ガイド を読んだよ(途中)
感想
順序
実践入門は,入門なので使いながら覚えていく,みたいな感じで,Vagrant をからめて,
Chef-Solo メインで進む感じか.
活用ガイドは,用語,意図などから始めていく感じで,
丁度逆な方向性かと思った.
まだあまりよく触っていないなあ,という人だったら実践入門.
もう Chef は使っていて,もっと詳しく知りたいという人だったら,活用ガイドの方がいいかも.
Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)
- 作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴
- 出版社/メーカー: 技術評論社
- 発売日: 2014/05/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
- 作者: 澤登亨彦,樋口大輔,クリエーションライン株式会社
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2014/04/25
- メディア: 大型本
- この商品を含むブログを見る
「納品」をなくせばうまくいく を読んだよ
感想
目的とするところ
p.82 より抜粋
なぜそのソフトウェアが必要なのか,その事業で実現したいこと,そのために妨げになっている課題は何か
ここにタイトルの全てがつまっている気がする.
顧客企業と自社で,同じく事業の成長を望む意識でまとまって動けるかどうか.
一括請負との対比で,一括請負の場合は,自社(自分) の利益に留まってしまう.
ということかな.
顧客企業に上記価値を提供するためには,というところで,
「技術力」「素早い提供」などがある.と
大事なポイント
p.106 より抜粋
「操作がひと回りする」こと
私たちが顧客と最初に考えるのは「操作がひと回りする」ことです.
「ひと回りする」とは,サービス全体の流れの中で,ソフトウェアを利用するユーザが最初に使い始めて,ひと通りの操作から作り上げてしまう必要はなく,人力で対応する(運用でカバーする)部分があってもよいのですが,とにかく操作が「ひと回りする」ところまでを想定します.
これすごい同意できます.
局所的に言うと,最初にデプロイできるところまで作る話と近いでしょうか?
それを事業の単位で考えておく.ということですね.
モノを作るだけのエンジニアでは到達できない状態だと思います.
顧客側も考え方をシフトしないとできない話ですね.
技術力とは
顧客に価値を提供するためには,「選択を提示する」くらいの技術力が必要である.
チーム(会社)として仕事をする場合に,統一された技術 が必要です.
そもそも技術など情報発信が営業を兼ねている.
技術が自動的に向上する仕組みみたいなイメージでしょうか.
読んでいて気になったポイント
- インターネットが対象領域,社内システムなどは難しい.というところだった.
- → 受託開発では,という意味だろうか.社内の開発部が同様のことを意識してもいい気がします.まあ,そうすると「納品」との対比にならないか…
- ドキュメントが無いというのも,社内でリスク分を担保しているんだろう.(開発方法の標準化などで,そもそもドキュメントの必要性を減らしたり,というのもあるかもしれない)
- → 技術の統一というそのまま書いてありました.
- 分担範囲とか.技術者は,どこまでやるのだろうか?
- エンジニアのキャリアとは
- → 企画から考えて,ひと通りの工程をこなせる.一生成長できる.という仮定みたい.
- エンジニアの評価とは
- → 実績が自社のビジネスの結果に結びつく
その他
一括請負 <-> 納品のない受託 という構図だと思っています.
技術者と発注者が別の会社ではなくて同じ会社でもいいのかなと思ったりしましたが,
そこまで書くと発散するからあまり触れていないのかもと思いました.
リスクヘッジなどを考慮して,顧客が複数の方がいいんですかね.
(顧客) <-(仕事)-> (受託会社) <=(所属)= (個人) =(ワーク,コモンセンス)= (個人)
(受託会社) =(ギルド)= (他の会社 or のれんわけ)
「納品」をなくせばうまくいく ソフトウェア業界の“常識"を変えるビジネスモデル
- 作者: 倉貫義人
- 出版社/メーカー: 日本実業出版社
- 発売日: 2014/06/12
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
デカめな技術的な仕組みという点では,こちらも読み返してみる.
- 作者: ジェームズ・ウィテカー,ジェーソン・アーボン,ジェフ・キャローロ,長尾高弘
- 出版社/メーカー: 日経BP社
- 発売日: 2013/05/23
- メディア: 単行本
- この商品を含むブログ (8件) を見る
オーケストレーションがわかっていない
まとめ
とりあえず,Serf を試してみようかな.シンプルそうだし.
そうか,Serf はイベントで何かするまでなのか.
mesos とか見てみる流れかな
調べたこと
- Serf - http://www.serfdom.io/
- Serf is a tool for cluster membership, failure detection, and orchestration that is decentralized, fault-tolerant and highly available.
- go 製
- http://www.serfdom.io/intro/vs-other-sw.html
- Apache Mesos - http://mesos.apache.org/
- Apache Mesos is a cluster manager that simplifies the complexity of running applications on a shared pool of servers.
- http://d.hatena.ne.jp/kimutansk/20131012/1381570285
- Flynn - https://flynn.io/
- Flynn is the single platform that ops can provide to developers to power production, testing, and development, freeing developers to focus.
- http://wazanova.jp/items/848
- CloudStack - http://cloudstack.apache.org/
- Apache CloudStack is open source software designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform.
- http://www.slideshare.net/takumanakajima90/developers-summit-2014-31198626
- OpenStack (Heat) - https://www.openstack.org/
- OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
- http://www.school.ctc-g.co.jp/columns/nakai/nakai37.html
- Cloud Foundry - http://cloudfoundry.org/index.html
- Cloud Foundry is the industry’s Open PaaS and provides a choice of clouds, frameworks and application services.
- http://blog.udcp.net/cloudfoundry/
Serf 試す
MacOSXにて
インストール
$ brew install caskroom/cask/brew-cask
$ brew cask install serf
$ rehashローカル起動
$ serf agent起動確認
$ serf membersとりあえず,何かOS を起動してみた
$ docker run -i -t --rm --name centos6 -p 7946:7946 centos /bin/bash繋げてみる
$ serf agent -name=agent-one
centos6$ serf agent -name=agent-two -join=XXX.XXX.XXX.XXX
$ serf members
「プログラムは技術だけでは動かない」を読んだよ
全体感
全体的には,
プログラミングとは問題を解決するための一部分でしかなく,
目的,課題を達成するには,それ以外に対しても行動を行う必要がある.
ということでしょうか.
自分の近くだと,
- プログラミング(自分のできること) = 課題解決という状況に持っていこうとする人
- 課題解決とのズレを修正できない
- (上記と近いが) 課題解決がプロダクトを作るところまでで完了すると思っている人
- テストとか運営とかを考えない.
なんかが多い感じを受けている.
そういう意味でも,プログラマという肩書きは,あまり自分の好みではなく,
プログラミングが得意分野という前提はあるにしろ,
エンジニアとか,技術者とかが,
課題を解決するために動く人みたいで,いいってことですかね.
細かいこと
作るプロセス(順番)を考える
プロダクトを作る,実現する.という話.
「見積を考える段階」でプロトタイプを作る
これなんすよね.自分も同じ考えで,見積りするためにプロトタイプが書けない
ようなものって,すごく怖い状態だと思っています.
作るまでが仕事と思ってると,思い付かない発想なのかな,
と思ったりします.
この本には,それ以外にも
- 随時できたところから動作確認しよう
- 目的を達成するために努力する
- 敵に回すと怖い人こそ,本音のお付き合いを
みたいな話がでてきます.
何をするのか
事業とか,目的,問題を考える話.
製品開発・販売は,得意分野で勝負できて,売れれば楽しい
自分の仕事を能動的に選択できるチャンスが無い状態の人も居ます.
選択肢がある方は,幸いかもしれません.
自分の印象だと現状に受身になってしまって,
活動を自ら制限していらっしゃる方がいるようです.
より事業とか,その周りに関して積極的になれる人が増えると,
自分自身もより楽しい環境になったりしないかな?と思ったりします.
自分の近くだと,
事業にコミットしている人で技術的にバランスを取っている人が,
なかなか居ないように思います.
自らが事業をクリエイトしなくともよいのですが,
事業の種があれば,一緒に考えて,実際に実現する.
そんな動きがいいんじゃないかな,と思っています.
- 「売れる製品」を作るための秘訣
- 付加価値の高い仕事を得るには
とかが似たトピックでしょうか.
まとめ
アジャイルとかやってれば,当たり前なのかもしれないけど,
問題意識とか持ってもらう読み物という位置付けとしてはいいのかなー.
と思った次第.
あと,仕事の選択という意味では,
プログラマとして事業のことを考えないでソースコードだけ書く
みたいな仕事をやりたい人がいてもいいと思うけど,
事業方面にもコミットしていかないと,リスキーなんじゃないかな,
というのはあるかもしれない.
後輩に進める本とかにどうでしょか?
プログラムは技術だけでは動かない ~プログラミングで食べていくために知っておくべきこと
- 作者: 小俣光之
- 出版社/メーカー: 技術評論社
- 発売日: 2014/06/05
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
Redmine, Jenkins, Gitlab をローカルに置いてみる
実家帰ってとかでネットが遅いときに,
ローカルに,Redmine, Jenkins, Gitlab が欲しいときが,あるかもしれないし,
ないかもしれない.
とりあえず,以下を試す.
Windows に準備する(途中)
Windows に Docker を準備するのをやってみる
これだと virtualbox があればよさそう.
CoreOS をインストールした
ということで,引き続きMacOSX を tftpserver にして coreos をインストールしてみたけど,
ドキュメントそのままだった.
$ cd /tmp/tftpboot $ cat <<EOL > pxelinux.cfg/default default coreos prompt 1 timeout 15 display boot.msg label coreos menu default kernel coreos_production_pxe.vmlinuz append initrd=coreos_production_pxe_image.cpio.gz root=squashfs: state=tmpfs: sshkey="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAYQC2PxAKTLdczK9+RNsGGPsz0eC2pBlydBEcrbI7LSfiN7Bo5hQQVjki+Xpnp8EEYKpzu6eakL8MJj3E28wT/vNklT1KyMZrXnVhtsmOtBKKG/++odpaavdW2/AU0l7RZiE= coreos pxe demo" EOL $ curl -LO http://storage.core-os.net/coreos/amd64-generic/dev-channel/coreos_production_pxe.vmlinuz $ curl -LO http://storage.core-os.net/coreos/amd64-generic/dev-channel/coreos_production_pxe_image.cpio.gz $ ls coreos_production_pxe.vmlinuz coreos_production_pxe_image.cpio.gz pxelinux.0 pxelinux.cfg/
上記の pubkey は適当なので,作る.
$ sudo dnsmasq
$ ssh core@192.168.100.100
とりあえずログインまで.