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
69
20140221_geechs.pdf
wadap
February 26, 2014
Tweet
Share
More Decks by wadap
See All by wadap
20200311_コネヒト_リモートワークを支える文化
wadap
2
2.6k
副業が難しいと思う理由
wadap
3
620
2016-11-10_chuo_university
wadap
2
3.8k
how_to_survive.pdf
wadap
0
100
how_to_choose_technology
wadap
7
4.3k
nanapiの会社風土と文化づくり
wadap
2
23k
20140826_nanapi_engineer_culture_pub.pdf
wadap
2
140
nanapiの開発現場をどのようにして回しているか
wadap
40
11k
nanapi TechBlog
wadap
1
6.9k
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
820
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Ace a Technical Interview
jacobian
276
23k
Agile that works and the tools we love
rasmusluckow
329
21k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
What's in a price? How to price your products and services
michaelherold
245
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
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 したくらいのレベル 趣味的な活動
ΤϯδχΞɾσβΠφʔืूதʂ