Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20140221_geechs.pdf
Search
wadap
February 26, 2014
96
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20140221_geechs.pdf
wadap
February 26, 2014
More Decks by wadap
See All by wadap
20200311_コネヒト_リモートワークを支える文化
wadap
2
2.9k
副業が難しいと思う理由
wadap
3
700
2016-11-10_chuo_university
wadap
2
3.9k
how_to_survive.pdf
wadap
0
140
how_to_choose_technology
wadap
7
4.4k
nanapiの会社風土と文化づくり
wadap
2
24k
20140826_nanapi_engineer_culture_pub.pdf
wadap
2
170
nanapiの開発現場をどのようにして回しているか
wadap
40
11k
nanapi TechBlog
wadap
1
7k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
GitHub's CSS Performance
jonrohan
1033
470k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Mind Mapping
helmedeiros
1
410
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
4 Signs Your Business is Dying
shpigford
187
23k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Typedesign – Prime Four
hannesfritz
42
3.2k
How to Ace a Technical Interview
jacobian
280
24k
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 したくらいのレベル 趣味的な活動
ΤϯδχΞɾσβΠφʔืूதʂ