タグ

ブックマーク / www.ryuzee.com (17)

  • DevOpsに関する12のアンチパターン

    みなさんこんにちは。@ryuzeeです。 DevOpsGuysというサイトのTwelve DevOps Anti-Patternsという記事が秀逸です。 作者の方に許可を頂き翻訳しましたので公開します。 原文も軽妙なタッチで読みやすいと思いますのでぜひご参照ください。 また文で様々なスライドや資料へのリンクがありますので、そちらも見ていただくと理解が深まるんじゃないかと思います! えっとDevOpsを始めたいのかな?おっけー。ただ始める前に、やってはいけないいくつかのことについて見ておこう。 古き良き時代には単に「良くないアイデア」って呼んでいたんだけど、外交やポリティカル・コレクトネス運動の結果、ブレストやアイデアシャワーをして、最近は「アンチパターン」と呼ばれるようになった。 パターンが絶対的に正しいのであれば、すなわち「アンチパターン」は間違いということになる。そして間違いを避ける

    DevOpsに関する12のアンチパターン
    pycol
    pycol 2013/07/24
  • 続報 PackerでVagrant用のBoxを作成する

    Packerってなに?という人は前回のエントリを先にどうぞ 0.10と0.11だと作成されたVagrantのboxの中のディスクイメージの命名の問題があります(詳細はこちら)。ソースを持ってきてビルドしたPackerを使えばとりあえず問題ありません。→0.12で修正されました! 前のエントリで紹介したPackerですが、Vagrantのboxの作り方が把握できたので紹介しておきます。 今回はUbuntuのboxの作成を例にして解説します。 なお、CentOSの例は以下に置いておきました。 まずは設定ファイルです。前の記事で紹介したものより長くなっています。 { "builders":[{ "type": "virtualbox", "guest_os_type": "Ubuntu_64", "iso_url": "http://releases.ubuntu.com/12.04/ubunt

    続報 PackerでVagrant用のBoxを作成する
    pycol
    pycol 2013/06/30
  • veeweeを使ってVagrant用のboxを自分で作る方法

    Vagrant用のbox(OSのテンプレート)はhttp://www.vagrantbox.es/などで多数配布されています。 とりあえず試してみる分にはこちらにあるものを使ってみるのも良いですが、実際に開発で使おうとするといくつか問題があります。 そのOSに怪しいプログラムがインストールされているかもしれない初期の設定が自分たちの環境と大きく乖離している。例えばyumのレポジトリが多数追加されたりしているVirtualBoxのGuestAdditionsなどのバージョンが古くてそもそも正しく動かないかもしれないこういったことを避けるためには、自分たちでセキュアなboxを作るのが良いと思います。ここではveeweeを使って、自分用のboxを作る方法を紹介します。 veeweeのインストールveeweeはrubyで書かれたツールで、vagrantをはじめとする多くの仮想化ツール用にOSの雛形

    veeweeを使ってVagrant用のboxを自分で作る方法
  • Vagrant1.1 + vagrant-awsで複数インスタンスを作る方法

    ※2013/5更新:最新のvagrant-awsの仕様にあわせて修正 Vagrant(1.1)でvagrant-awsを使ってEC2に複数インスタンスをまとめて作ることが可能です。やり方は通常のMultiVMの場合と同じです。 以下は冗長ですが、サンプルのソースです。WebサーバとDBサーバのインスタンスを起動し、それぞれChefサーバに接続してそれぞれ設定されたロールの通りにセットアップします。なお、vagrant-awsをまだインストールしていない場合は vagrant plugin install vagrant-aws としてください。 ちなみに以下のままだと色々問題がありますが、それは後ほど説明します。 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| # 共通設定 box_na

    Vagrant1.1 + vagrant-awsで複数インスタンスを作る方法
  • test-kitchenを使ってChefのレシピを複数環境でテストする方法

    test-kitchenはopscodeが提供するChefのレシピをテストするための仕掛けで、Vagrantを使って複数のOSやOSのバージョンを立ち上げレシピをテストすることができる。(Vagrant以外も使える) テストはminitestやcucumberなどを使って記述する。 テストの流れは以下のようになる。 設定ファイルに記載されたOSをVagrantで起動する(既にOSが起動している場合はそのまま利用する。ひな形となるbaseboxが存在しない場合は、設定ファイルに記載された入手元からbaseboxをダウンロードする)Vagrant側とレシピが共用され、レシピが実行されるレシピ実行後、テストが実行されるテストが終了すると、OSの設定が複数あれば次のOSを使ってテストするでは早速設定を行なってみよう。まず1つのレシピをテストする場合だ。 1つのレシピをテストする場合まずトップディレ

    test-kitchenを使ってChefのレシピを複数環境でテストする方法
  • ChefのrecipeをJenkinsで継続的インテグレーションする方法

    環境構築の自動化のツールとして一番注目されているのがChefです。 Recipeと呼ばれるインストールや設定のためのスクリプトを書いておき、それを使って新しいサーバを速攻で作ったり、Chef Serverを使えば複数のサーバ群に対して環境を一定に保つことが可能です。 ChefのRecipeは単なるrubyのスクリプトです。そしてrecipeでよく起こる問題として以下のようなものがあります。 外部サイトからtarballを取得してインストールしているような場合に、配布元の移転や、新バージョンの公開と旧バージョンの配布停止によって、recipeがコケるphpでよく使われるライブラリの配布形態であるpearのチャンネル情報が追加になったりURLが変更になる。インストールすれるパッケージがバージョンアップされ、依存関係が増えたりする。上記のようなことがあるので、recipeを定常的に動作確認してい

    ChefのrecipeをJenkinsで継続的インテグレーションする方法
  • 【資料公開】ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 2013年2月15日に目黒雅叙園で行われたデブサミ2013で登壇してきましたので、その際の資料を公開します。 「いつまで手でデプロイしてるんですか?」ってキャッチーなタイトルにしたのは、公募セッションの申し込みの時に目につくようにしたかったためで、会場でアナウンスしてくださる方にこのセリフを言って欲しかったわけではないので念のため。 デプロイの自動化を進めていくのは正直なところ大変です。 今の現状からいきなり明日デプロイを自動化できるわけでもないし、誰かがいきなりデプロイを自動化してくれるわけでもありません。 その前に考えなければならないこともたくさんあると思います。 でも現実にAm

    【資料公開】ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜
  • 資料公開 Scrumの概要 (2013年の開発トレンド先取りセミナー)

    2013年2月1日に日マイクロソフトさんで行われた「2013年の開発トレンド先取りセミナー」で、Scrumの概要について話をしました。その際の資料を公開しておきます。あんまりいつもと代わり映えしない資料ですが、アタマの方に大事なことを書いておいたのでそこだけはチェックしておいてください。 まぁ正直なところ、Scrumが開発トレンドを先取りしているかどうかは微妙だと思ったのですが、今日ご参加頂いた方の中でアジャイル開発に取り組まれている方は数名しかいなかったので、日だとまだまだこれからなのかなぁ。 個人的には、アジャイル開発、継続的デリバリー、DevOpsあたりは日で早く当たり前になってくれるといいなぁと思っています。 なお、DevOpsについては、2013年2月号の日経SYSTEMSにDevOpsでよく使うツール群の話を書きましたので、ご参照いただければ幸いです。他にも各社のDevO

    資料公開 Scrumの概要 (2013年の開発トレンド先取りセミナー)
  • 【資料公開】いつまで開発のやり方ばっかり語ってるの?

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 2013年1月15日、16日にScrum Alliance Regional Gathering Tokyo 2013が開催されました。 まずは実行委員として、ご来場頂いた参加者の皆様、登壇者の皆様、スポンサー各社様、様々なコミュニティの皆様、ほかご協力いただいた全ての方に感謝したいと思います。ありがとうございました。 僕は1日目の達人に聞けのセッション、2日目のScrum The Next Generationに登壇させていただきましたが、2日目の資料について以下で公開しておきます。 大胆不敵にもイベントの実行委員長(僕らはプロダクトオーナーというロールにしています)が基調講演の

    【資料公開】いつまで開発のやり方ばっかり語ってるの?
  • プレゼン用の写真をFlickrでいい感じに探す方法

    みなさんこんにちは。@ryuzeeです。 僕のプレゼンでは写真を一杯使います。写真が一杯あると、記憶に残りやすく伝わりやすいというメリットがあります。 また隠れメリットとして、写真を多めにして文字を少なくすると、時間に応じて聞いている人に悟られることなく内容を調節することも可能です(僕がいつも時間通りに終えられる理由です)。 写真はFlickrで無料のものを探すのと、iStockPhotoで有料の画像を購入するのとを組み合わせていますが、今回はFlickrでいい感じに探す方法を紹介します。 なお、FlickrのWebサイトはあまり軽くない感じなので、専用のツールを使います。 何個かツールを仕込んでおくと移動中の空き時間に画像を探しておいてあとで一括でダウンロードすることも可能です。 iPadで探すFlickStackrというツールを使います。無料版もありますが、機能制限が多いので有償版を使

    プレゼン用の写真をFlickrでいい感じに探す方法
  • CakePHPのアプリのコーディング規約チェックを自動で行う方法

    みなさんこんにちは。@ryuzeeです。 PHPで書かれたソースコードがコーディング規約に準拠しているかどうか確認するには、PHP_CodeSnifferというツールを使うのはよくご存知だと思いますが、今回はCakePHPを使って書いたソースコードの規約をチェックする方法を紹介します。 なお、このような規約チェックはローカル環境で気が向いた時にやるだけではなく、継続的インテグレーションにも組み込んで実施することが望まれます。 PHP_CodeSnifferのインストール特にチャンネルの追加は必要ありません。 インストールが完了すると、phpcsコマンドがインストールされます。 また標準では、Squiz, PEAR, Zend, MySource, PSR1, PSR2 , PHPCS の7個の規約がインストールされます。このうちMySourceは自分でのカスタマイズ用です。 CakePHP

    CakePHPのアプリのコーディング規約チェックを自動で行う方法
  • Robot Framework + Selenium2Libraryで簡単受け入れテスト | Ryuzee.com

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) Robot Frameworkは受け入れテストや受け入れテスト駆動開発(ATDD)に使えるテスティングフレームワーク。 http://code.google.com/p/robotframework/で開発が進められている。 プレインテキストやHTML形式でテストケースを記述できること、pythonまたはjavaによってテストライブラリを作って拡張できることが特徴だ。 ここではRobot FrameworkとSelenium2(WebDriver)を組み合わせて、受け入れテストを自動化する方法について説明する。 WebDriverを単独で使ってWebアプリケーションのエンドツーエンドテストを作る場合、どうしても画面ができてか

    Robot Framework + Selenium2Libraryで簡単受け入れテスト | Ryuzee.com
  • スクラムに関する無料の日本語資料のまとめ | Ryuzee.com

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 スクラムを学習するにあたって参考になる【無料】の資料を以下にあげておきます。 僕がコーチングする際は上2つの資料については事前に読んでもらった上で、トレーニングを実施したりしてます。 スクラムガイドスクラムの父であるジェフ・サザーランド氏とケン・シュエイバー氏が書いた公式のルールブック。 これを読まないでスクラムをやるのはマズイです。 http://www.scrumguides.org/日語版は、多くのの翻訳をされている角さんが訳されてます塹壕よりScrumとXP昨年開催したScrum Gathering Tokyoで基調講演をされたヘンリック・クニベルグ氏によるScrumとX

    スクラムに関する無料の日本語資料のまとめ | Ryuzee.com
  • 僕がチームに期待すること

    みなさんこんにちは。@ryuzeeです。 僕がチームやチームメンバーに対して期待したり言いたいことを好き勝手に書いてみたいと思います。 もちろん、僕の感覚に合わない人も多いかもしれませんが、僕個人の考えということでご容赦いただければと思います。 こういうのは言語化することが非常に重要だと思っています。 給料をもらえるのは、自分が会社に所属しているからではなく、その先にお金を払ってくれるお客様がいるからだ、ということを理解しようしたがって、お客様の期待に応えられるようにふるまうことは責任であることを理解しようお金をもらう以上プロなので、プロとしてふるまうようにしようプロとして無理なものは無理と言おう会社は自分の将来の面倒を見てくれるわけではないことを理解しよう他でも通用するスキルを身につけよう。それが自分のためであることを理解しようプロとして自分に投資しよう。勉強は会社のためにやるのではなく

    僕がチームに期待すること
  • スクラムにおいて欠陥をどのように扱うか

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 スクラムにおける欠陥の扱い方について考えてみました。 スクラムでは欠陥の扱い方には特に規定はないので、以下はあくまで経験を踏まえた個人的なアプローチであることに注意してください。 欠陥の定義欠陥とは、プロダクトバックログアイテムが「完成」した後に見つかった欠陥のみを指すここでいう欠陥とはソースコードのバグと要求実装の欠落の双方を指す双方の具体的な定義や判断基準はプロジェクトによって異なる(欠陥の定義を作ると良い)バグと技術的負債は異なるスプリントで実装中のプロダクトバックログアイテムにおける動作不良や問題は、その時点では欠陥とみなさないなぜなら完成の定義や受け入れ基準に従ったものを開

    スクラムにおいて欠陥をどのように扱うか
  • ウォーターフォールの方が楽ですか?

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) (顧客) そのシステムを作った結果に対して、顧客自身が結果責任を背負っていない場合は、ウォーターフォールの方が楽。最初に仕様合意して最後に「納品」されれば良い。場合によっては、システムによって得られる価値が目的なのではなく、「システムを作る」こと自体がアリバイ的に目的であるケースすらある。こういう場合は、顧客自体のプロジェクトへの参画が必要なアジャイルは面倒だと思うだろう(顧客) また、顧客が開発部隊に対して政治的に極めて強い力を持っている場合なんかは、基的に全てのリスクを政治的な力によって移転できるので顧客側が大きくコミットする必要性はなく、ウォーターフォールの方が彼らにとっては楽かもしれない(顧客) その一方で顧客自身

    ウォーターフォールの方が楽ですか?
  • プロダクトオーナー役を決める2つの方法

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 Two common ways to apply the product owner roleという記事が分かりやすかったので抜粋・意訳にてご紹介します。 ここでは誰がやるべきかという点で書かれていますが、それ以前の話で、日だと「プロダクトオーナー不在」とか「プロダクトオーナーが誰だかわからない」といった悩みを聞くことも多いです。 PO不在だと作った物(作るもの)に価値があるかどうか誰も分からないのでプロジェクトがうまく進まないし、結果的に大量にムダな作業をしてしまうこともあります。 そうならないようにプロジェクトの初期の段階でそのプロジェクトには誰が関わっているのか、意思決定は誰

    プロダクトオーナー役を決める2つの方法
  • 1