Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20140221_geechs.pdf
Search
wadap
February 26, 2014
0
67
20140221_geechs.pdf
wadap
February 26, 2014
Tweet
Share
More Decks by wadap
See All by wadap
20200311_コネヒト_リモートワークを支える文化
wadap
2
2.5k
副業が難しいと思う理由
wadap
3
590
2016-11-10_chuo_university
wadap
2
3.8k
how_to_survive.pdf
wadap
0
100
how_to_choose_technology
wadap
7
4.2k
nanapiの会社風土と文化づくり
wadap
2
23k
20140826_nanapi_engineer_culture_pub.pdf
wadap
2
130
nanapiの開発現場をどのようにして回しているか
wadap
40
11k
nanapi TechBlog
wadap
1
6.9k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Side Projects
sachag
452
42k
Facilitating Awesome Meetings
lara
50
6.1k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Site-Speed That Sticks
csswizardry
0
24
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Fireside Chat
paigeccino
34
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Docker and Python
trallard
40
3.1k
Transcript
geechs night 株式会社nanapi Co-Founder 取締役 執行役員 CTO 和田修一
Intruduction
自己紹介 • 和田修一 / @wadap • 1981年生まれ • 株式会社nanapi Co-Founder(共同創業者)
取締役 執行役員 CTO • サーバインフラ〜サーバサイド開発が得意分野 • I love emacs!
αʔϏεհ w ੜ׆ͷܙ͕ू·ΔαΠτ IUUQOBOBQJKQ w ༷ʑͳϋπʔΛఏڙ͢Δα Πτͱͯ͠ϦϦʔε w ݄̍̕ϦϦʔε w
݄ؒສ66 ݄ؒສ7JTJUPS
αʔϏεհ • 即レスQAアプリアンサー 「アンサー」で検索! • 質問してから数分以内に回答 がくるのが特徴 • 2013年12月リリース LineQとリリース被った!
個人的にやってること 6/*9తͳΞϨ IUUQXBEBQIBUFOBCMPHDPN ࿈ࡌˏHJIZPKQ ࠷ۙॻ͍ͯͳ͍ IUUQHJIZPKQBENJOTFSJBMVOJY
• Unixの入門講座 http://schoo.jp/class/286 • スライドだけならすぐに見ら れるので興味あればどうぞ スクーで講義もやりました
略歴 • 2005年 新卒にて楽天株式会社へ入社 システム知識ゼロ、配属されてから技術を学ぶ サーバ・インフラ系の部署に配属される • 2009年 楽天を退職し、弊社代表の古川と起業 ロケットスタートCTO(旧社名)に就任
主にやっていること • テクノロジーの文化を社内に浸透させること • エンジニア・デザイナーの採用活動 • nanapiのプロダクトすべてのインフラまわり • 新規事業の立ち上げのリードエンジニア
• 最近のこの取材で話してます http://itpro.nikkeibp.co.jp/ article/COLUMN/20140212/ 536209/ テクノロジーの文化?
How to manage the infrastructure
従来のインフラ管理 $ ssh server $ wget http://ftp.meisei-u.ac.jp/httpd/httpd-2.2.22.tar.gz $ tar xvfz
httpd-2.2.22.tar.gz $ cd httpd-2.2.22 $ ./configure $ make $ make test $ sudo make install
手順書は運用できない • その手順書はメンテナンスされている? • 手順書通りに開発環境も本番環境もつくられてる? • 個々の開発環境を使いたいときどうするの? • 100台のサーバでも同じことできんの? etc…
Infrastructure as Code
• インフラにおける作業を独自 DSLで記述することができる • Rubyで直接書くことも可能 • OSの違いなども抽象化するこ とで吸収 • 同様のツールでPuppet
Chefを使った管理
以下のrecipeで実現 remote_file "/tmp/httpd-2.2.22.tar.gz" do source "http://ftp.meisei-u.ac.jp/httpd/httpd-2.2.22.tar.gz" owner "root" group "root"
mode "0644" end ! script "install httpd" do interpreter "bash" user "root" cwd Chef::Config[:file_cache_path] ! code <<-EOH tar xf httpd-2.2.22.tar.gz && cd httpd-2.2.22 ./configure make && make test && make install EOH end
Code Review
• Chef用に書かれたコードは Github上で管理 • メインメンテナはインフラ担 当(いまは私) • アプリ担当者からの変更依頼 はPull Requestベースで受け
入れる インフラもコードレビュー
Chefの実行
新規環境構築 $ git clone
[email protected]
:nanapi/cookbooks.git $ cd cookbooks $ vagrant
up nanapi
Infrastructure as Code • コード化しておくことで、開発・本番環境すべてに おいで最新の環境を保つことができる • 開発・本番ともに新規環境構築はすべて自動 • 変更履歴もGit上で追うことができ、PullRequest
ベースで設定ファイルもレビューできる
これからやりたいこと • TDD(Test-driven development)のインフラ導入 • CircleCIなどを使用した、インフラにおける継続的 インテグレーション
• https://github.com/wadap/ emacs-chef • chefをより快適にかくための emacsマイナーモード • まだ実装中。思い出してpush したくらいのレベル 趣味的な活動
ΤϯδχΞɾσβΠφʔืूதʂ