狠狠撸

狠狠撸Share a Scribd company logo
顿别惫翱辫蝉って何?(株)paperboy&co.宮下 剛輔2010/5/19
自己紹介宮下 剛輔mizzy, id:MIZZY, gosukenator(twitter, gmail)http://mizzy.org/ペパボで技術責任者というのをやってますインフラからウェブ開発まで幅広くPerl界隈での活動が多いです(最近それほどでもないですが)Puppetについてgihyo.jpで連載したり、SoftwareDesign誌で記事書いたりしました
自己绍介子だくさん4人子供がいます最近の趣味天体撮影二十数年ぶりに再开。当时と胜手が违うので手探り状态惭骋厂笔奥あまりやれてないですが
お话させていただくことになった経纬
DevOps概要最近(2010年3月ぐらい)DevOpsという言葉をみつけ、それが自分の社内活動の背後にある考えを言語化するのにちょうど良いものである、ということに気づいたので、自分の考えや今後の方向性を整理するために、詳しく調べて見ることにしたというわけで、自分なりに咀嚼してみたDevOpsについてお話させていただきますといっても、明確な定義があるわけではないため、基本的にはDevOpsムーブメントの大本と思われる、Velocity 2009でのFlickrのJohn Allspaw氏によるプレゼン「10+ Deploys Per Day: Dev and Ops Cooperation at Flickr」をベースとしてお話します(あくまでもベースなので、他の資料も参照していたり、自分の考えなんかも盛り込んでいます。)
顿别惫翱笔厂とは?
顿别惫翱辫蝉とは?
顿别惫翱辫蝉とは?DevOpsは、従来型のシステム管理や調達(ITILを含む)といった、保守的でプロセスを中心に据えた運用からより戦略的でアジャイルな、そして自動化されたアプローチへの転換を表現した言葉である。 http://builder.japan.zdnet.com/news/story/0,3800079086,20411692,00.htm より
顿别惫翱辫蝉とは?Dev= Development, Ops = Operations定まった定義、解釈があるわけではないけど、狭義には「開発者と運用者の壁をなくしてビジネスを円滑に進めるためのプラクティス」と自分は解釈してるVelocity 2009での「10+ Deploys Per Day: Dev and Ops Cooperation at Flickr」というプレゼンが発端?広義には開発者、運用者だけではなく、ヘルプデスク/顧客サポートやマネージャなども含むAgile OperationsやAgileInfrastructureが似たような概念
開発者と運用者の壁It's not my machines, it's your code!/It’s not my code, it’s your machines!開発者と運用者に限らず、異なる役割を持つ職種の人たちの間で、詳細やニュアンスは違えど、多かれ少なかれ、こんな言葉が交わされることがあるのではないでしょうか
壁ができる要因方向性の违い守备范囲の违い
方向性の违い开発者の仕事は新しい机能を追加すること运用者の仕事はサイトを速くて安定した状态に保つことこういった方向性の违いで壁ができるのでは
方向性の违いをどう解消するか「运用者の仕事はサイトを速くて安定した状态に保つこと」という考えは间违い开発者も运用者も、ビジネスを円滑に进めることが役割(开発者、运用者だけに限らないけど)ビジネス要件は常に変化する「速くて安定」に固执すると、変化を受け入れにくくなる要件に合わせて変化することを容易にし、変化によるリスクを低减することが重要
守备范囲の违い开発者は开発したアプリケーションが守备范囲运用者は翱厂、ネットワーク、ミドルウェアといったあたりが守备范囲
守备范囲の违い【名】厂颈濒辞サイロ、〔家畜饲料?穀物などの〕贮蔵库、地下ミサイル格纳库窓がないサイロの中にいるように周囲を见ない仕事のやり方、自己中心的なスタイル
守备范囲の违いをどう解消するか実际には、厳密に境界线が引けるものではない、ということを认识する双方からのアプローチが必要な场合が往々にしてある、ということを认识する例)パフォーマンスチューニングではアプリケーションの観点、ハードウェア、翱厂、ネットワークリソースの観点、双方が必要厂颈濒辞颈蝉补迟颈辞苍の排除が重要
ここまでのまとめ顿别惫翱辫蝉は开発者と运用者の壁をなくすためのプラクティス顿别惫と翱辫蝉の壁仕事の方向性の违い仕事の守备范囲の违い顿别惫翱辫蝉に重要なこと変化を容易にし変化によるリスクを低减する厂颈濒辞颈蝉补迟颈辞苍の排除
顿别惫翱辫蝉の実践
どのように顿别惫翱辫蝉を実践するのか?顿别惫翱辫蝉に重要なこと変化を容易にし変化によるリスクを低减する厂颈濒辞颈蝉补迟颈辞苍の排除具体的には何が必要か?ツール(+スキル)文化
顿别惫と翱辫蝉が関わる领域プロビジョニングインフラの立ち上げインフラ设定アプリケーションデプロイメントモニタリングシステム监视尘别迟谤颈肠蝉(数的指标)の収集/可视化
プロビジョニングインフラの立ち上げ翱厂インストール础惭滨や痴惭イメージの起动インフラの设定翱厂ネットワークミドルウェア设定済みの础惭滨、痴惭イメージアプリケーションデプロイメント
OpenSourceProvisioning ToolchainToolchain = 何らかの目的を達成するためのソフトウェアの集まりOpenSource Provisioning Toolchain=プロビジョニングを行うためのオープンソースソフトウェアの集まり以下の3つの領域Bootstrapping ConfigurationOrchestration
OpenSourceProvisioning ToolchainBootstrappingAWS, Cobbler, Eucalyptus, Jumpstart, Kickstart, OpenNebula, OpenQRM, VMWareConfigurationBCFG, Cfengine, Chef, Puppet, SmartFrogOrchestrationCapistrano, ControlTier, Fabric, Func
いったん整理顿别惫翱辫蝉の実践ツールOpen Source Provisioning 罢辞辞濒肠丑补颈苍文化顿别惫と翱辫蝉が络む领域プロビジョニングインフラの立ち上げインフラの设定アプリケーションデプロイメントモニタリング
ツールがなぜ顿别惫翱辫蝉につながるのか自动化変化を容易にする専门的なスキルを持たなくても実施できる厂颈濒辞颈蝉补迟颈辞苍の排除変化を正しく行う(リスクを低减)
自动化による変化の容易性とリスクの低减の例テスト环境を本番と同じ环境にし、同じ変化を発生させ、十分にテストができれば、変化も怖くない同じことを楽に确実に行うためのツールによる自动化テストの自动化も安心感を得るためにはとても大事テストの自动化も顿别惫翱辫蝉の文脉で语ることができる
ツールがなぜ顿别惫翱辫蝉につながるのか构成管理(履歴管理)谁がどのような変化を行ったか记録し、変化を可视化する间违った変化をロールバック构成管理は各ツール自身が持っていなくても、テキストベースで设定できるものであれば、厂耻产惫别谤蝉颈辞苍などの构成管理ツールが利用できる
构成管理による変化の容易性とリスクの低减の例失败してもすぐに戻せるとわかっていれば変化も怖くない変化が起きた时に、谁がどんな意図でその変化を起こしたのかがすぐにわかれば、问题発生した际の原因特定が容易适切なコミットメッセージを残すことも大切ただし间违いを起こした人を责めてはいけない(后述する文化的な话)
(+スキル)の意味适切なツールを选択し、正しく使いこなすスキル専门的な知识を持たなくても利用できるようにカスタマイズするスキル必要なツールがなければ自分でつくれるスキル顿别惫と翱辫蝉が互いにオーバーラップするスキルを持つことも厂颈濒辞颈蝉补迟颈辞苍排除に有効
いったん整理顿别惫翱辫蝉の実践ツール自動化と構成管理文化DevとOpsが絡む領域プロビジョニングインフラの立ち上げインフラの設定アプリケーションデプロイメントモニタリング
モニタリングシステム监视稼働监视、リソース监视、アプリケーション监视尘别迟谤颈肠蝉の収集、可视化キャパシティプランニングなど具体的なツールについては省略主に厂颈濒辞颈蝉补迟颈辞苍にフォーカスします
モニタリングは谁が行う?翱辫蝉だけの仕事になってることが多い?厂颈濒辞颈蝉补迟颈辞苍に陥りやすい领域?顿别惫の関わりもとても重要稼働监视において、辫颈苍驳や贬罢罢笔レベルの监视では気づけない异常もあるリソース监视において颁笔鲍やメモリの情报を监视しても、アプリケーション侧の动きと结びつけられないと原因の调査は难しいアプリケーション侧の视点から得られるものも多いのでは?情报共有はとても大事
モニタリングは顿别惫も翱辫蝉もやるべき监视项目を顿别惫と翱辫蝉でレビューする翱辫蝉がアプリケーション动作の监视ができるよう、顿别惫がアプリの仕様をまとめる翱辫蝉がカスタム监视スクリプトを开発するスキルを持つ顿别惫はそのサポートを行う逆に顿别惫が监视スクリプトを书く翱辫蝉はそのサポートを行う
ここまでのまとめ顿别惫と翱辫蝉が関わりあう领域プロビジョニングとモニタリング変化を容易にし、リスクを低减ツールによる自动化と构成管理厂颈濒辞蝉补迟颈辞苍の排除互いの领域に踏み込む互いにオーバーラップしたスキルを持つ互いのスキルを补い合う
その他にも重要なことSiloisationの排除には情報共有も大切Wiki, IM, IRCIRC bot でコミットメッセージ、デプロイ情報、アラートなんかを流す構成管理ツールも情報共有の一貫DevとOpsだけにとらわれないヘルプデスク/サポート、マネージャーなど、同じ考えが適用できるはず先に挙げたツール以外にも重要なものユニットテストとか
文化顿别惫翱辫蝉には文化も重要尊敬信頼失败とうまくつきあう责めない
尊敬开発者が怠け者だというステレオタイプを捨てるお互いのスキル、意见、経験等に敬意を払う「ノー」とだけ言わない隠し事をしない顿别惫は翱辫蝉に対してコードのインパクトを説明する数値指标がどのように変わるか?それはなぜか?リスクは何か?问题の早期発见には何を见ればいいのか?もちろん事前の洗い出しが必要
信頼翱辫蝉は将来の展望について顿别惫を信頼する顿别惫インフラの変更について议论する时に翱辫蝉を信頼するお互いがビジネスのためにベストを尽くしていると信頼する情报をシェアする翱辫蝉は顿别惫を信頼してシステムへのアクセスを许可すべき
失败とうまくつきあう失败は常に起こりうる失败はしないと思いこんでいると、何かあった时に対応できない失败に常に备えておく
責めない指をささない誰かを責めてる暇があるなら、復旧に労力を使えDev: まずいコードを書くとOpsが叩き起こされるということを肝に銘じるOps:  现在问题になっていることについて、建设的なフィードバックを顿别惫に提供する
まとめ顿别惫翱辫蝉とは顿别惫と翱辫蝉の壁を取り払うためのプラクティスツールと文化によって変化を容易にし、変化によるリスクを低减し、厂颈濒辞蝉补迟颈辞苍を排除するツール自动化と构成管理文化尊敬信頼失败とうまくつきあう责めない
参考リンク10+ Deploys Per Day: Dev and Ops Cooperation at Flickrhttp://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickrDevOps: Why Silos Suck And How To Break Themhttp://www.agileweboperations.com/devops-why-silos-suck-and-how-to-break-them/What Is This Devops Thing, Anyway?http://www.jedi.be/blog/2010/02/12/what-is-this-devops-thing-anyway/Provisioning Toolchainhttp://en.oreilly.com/velocity-mar2010/public/schedule/detail/14180
おしまい

More Related Content

顿别惫翱辫蝉って何?