タグ

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

  • Azure DevOps + App Serviceで簡単にCI/CD環境を構築する

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 Azure DevOpsは、バージョン管理、バックログやIssue管理、CI、CD、成果物管理、テストの管理などが行えるオールインワンのプロジェクト支援プラットフォームです。今年Visual Studio Team Servicesからブランド変更されて、Azure DevOps Servicesという名前になりました。 このAzure DevOpsとApp Serviceを組み合わせることで、30分くらいでCI/CD環境とデプロイ先の環境が簡単に作れますので、紹介します。 なお、各スクリーンショットをクリックすると、画像を拡大して表示します。 Azure DevOpsにアクセスする

    Azure DevOps + App Serviceで簡単にCI/CD環境を構築する
  • Amazon Elasticsearch Serviceを使ったログ収集基盤の構成を考えてみた

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 6月10日にAmazon Web Services企業導入ガイドブックが発売になっていますのでよろしくお願いします。 さて今回はAWS上でログ収集と分析をする際に、Amazon Elasticsearch Serviceを使う前提とした場合だとどのような構成案がありそうかいくつか考えてみたのでご紹介します。 なお、検討の材料にしている全体の構成としては、複数のVPC(またはAWSアカウント)があって、さらにオンプレ側とDirect ConnectやInternet VPNで接続しているような、よくあるそれなりの規模の構成になります。 各VPCの中には複数のサブネットがあり、そのうちの

    Amazon Elasticsearch Serviceを使ったログ収集基盤の構成を考えてみた
  • マイクロサービスに関する資料のまとめ

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) 世の中マイクロサービス・マイクロサービスうるさいのでちょっとこれ読んでおけという資料をまとめておきます。 はっきり言ってマイクロサービス化しようとすると、組織構造の話、エンジニアの責務の話など技術的な課題以外の領域にもいろんなチャレンジがあるので、普通のプロジェクトでも苦労する組織が取り組むとか、設計だけして開発を委託しているけどDB一極化がやばいので取り組むとかは止めておいた方がよいと思います。 概念Twelve Factor Appマイクロサービスの話ではないが、モダンなアプリケーションを作りたければ開発チーム全員に叩き込んでおくべき内容MicroservicesMartin Fowlerによるマイクロサービスの解説。2

    マイクロサービスに関する資料のまとめ
  • Hashicorpの新プロダクト「Otto」を試してみた

    全国1000万人の大トロ好きのみなさんこんにちは。 Hashicorpから新たにOttoと呼ばれるプロダクトがリリースされました。 OttoはVagrantの後継となるもので、開発からデプロイまで一気通貫で行うことができるソリューションでマイクロサービスでの活用も考慮されて作られているということで早速試してみました。 軽く触った印象としては、Vagrant、Packer、Terraform、ConsulなどいままでHashicorpが提供してきたツールを組み合わせて一気通貫で操作できるようになった、と考えるとわかりやすそうです。 インストール https://ottoproject.io/downloads.html にアクセスして自分の環境にあったバイナリをダウンロードして展開します。展開したら実行できるようにPATHに追加します。 僕の場合はアーカイブを~/tools/otto/に配置

    Hashicorpの新プロダクト「Otto」を試してみた
  • デプロイ自動化を進めるためのチェックリスト | Ryuzee.com

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) いままで色々なところで言ってきたことをだらだらとまとめてみました。 計画および準備段階要求される品質の定義をおこなうDevとOpsの双方で情報が共有されるようにするいつデプロイを開始するのかを明らかにするデプロイの際にインフラを変更する必要はあるのかを明らかにするデプロイを行う時間帯、行わない時間をあらかじめ決めておく(休み前を避ける)ブランチ戦略、マージ戦略を決める継続的インテグレーションの戦略を決めるログの出力戦略を決めるビルドとリリースの自動化人的要素を減らす繰り返し可能にする自動作業と手作業を混ぜないビルドを自動化する誰のマシンでもビルドできるようにするユニットテスト、結合テスト、UIテストなどテストを自動化する

    デプロイ自動化を進めるためのチェックリスト | Ryuzee.com
  • Packer + Serverspecでテスト済み仮想マシンイメージを自動で生成する

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 Packerを使うと、VagrantやVMware、Amazon EC2用のAMIなどなどのさまざまな仮想マシンのテンプレートを簡単に作成することができるのはご存知の通りです。 一方で作成した仮想マシンのテンプレートが必要な要件を満たしているかどうかは、仮想マシンのテンプレートを作るたびに検査しなければなりません。 ここでは、PackerとServerspecを組み合わせて、仮想マシンのテンプレートを作成する際に、テストも併せておこなう方法について解説します。 前提今回仮想マシンのテンプレートを作成するにあたっては以下の方式で行ないます。 Packer 0.7.2Packerでの仮想

    Packer + Serverspecでテスト済み仮想マシンイメージを自動で生成する
  • Chefのハンドラを使ってSensuやSlackと組み合わせる方法

    みなさんこんにちは。@ryuzeeです。 Chef Serverを使って大規模なインフラを自動運用している場合、当然のことながら各ノードできちんとChef Clientが動作して、指定したロールやクックブックが実行されていることを確認しなければいけません。 残念なことに、継続的インテグレーションでクックブックの品質を常時担保していたとしても、実際にそのクックブックをノードに適用する歳に正常終了するとは限りません。たとえばパッケージの配布元が高負荷で落ちていたといったこともあります。 つまり、Chef Clientが正常に実行が終わったかどうかは監視の対象になるということです。 そこで今回は、Chefのハンドラを使って、SensuやSlackに通知する方法を紹介しましょう。 Chefのハンドラってなんぞ?詳細は公式サイトを見ていただくのが一番ですが、ハンドラとは処理の前後や例外の発生時に別の

    Chefのハンドラを使ってSensuやSlackと組み合わせる方法
  • 5分で分かるDockerのキホン

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) 全国100万人のImmutable Infrastructure職人のみなさんこんにちは。 もう誰も彼もがDockerなので、あんまりブログに書こうという気にもならなかったのですが、知り合いからリクエストを貰ったので、5分くらいで分かるようにかいつまんで概略を説明します。 Dockerとは詳しくは家サイト見ればだいたい分かる。仮想化技術コンテナ単位でパッケージングVirtualBoxとかと違って高速、オーバーヘッドが少ない。chrootに近い。LXCには依存しなくなっているコンテナごとにIDが振られるコンテナは差分保存なのでロールバックも簡単一回作ればどこでも動く。JavaっぽいDockerfileでコンテナを作成するDo

    5分で分かるDockerのキホン
    lizy
    lizy 2014/05/27
  • Dashingで簡単にダッシュボードを作る方法

    全国1億2000万人のImmutable Infrastructure好きの皆様こんばんは。 去年あたりに色々な場所で紹介されたりして知っている人が多いと思うのですが、簡単に自分用にダッシュボードを作れるDashingが結構使いやすいので改めて紹介しておきます。APIを用意しているミドルウェアやシステムであれば簡単にデータを引っ張ってきてゴニョゴニョできます。 Dashingとはhttp://shopify.github.io/dashing/で公開されているSinatraベースで作られたダッシュボード作成用のフレームワーク。 非常に見た目の良いダッシュボードが作れます。デモは、こちらで公開されています。 ウィジェット型のアーキテクチャーのため、色々なダッシュボード用のパーツを独立して作成し、自由に配置することができること、データを自動で更新できること等も特徴です。 インストールDashi

    Dashingで簡単にダッシュボードを作る方法
  • vagrant-serverspecを使ってプロビジョニング結果をテストする

    全国1000万人のVagrant利用者のみなさんこんにちは。 Vagrantいいですよね!そしてインフラの状態をテストするserverspecもいいですよね!この2つがシームレスに統合されるとかなりうれしいですよね! ということで日12/2にvagrant-serverspecというプラグインがリリースされたので早速紹介します。 インストールインストールは簡単です。いつも通りvagrant plugin install vagrant-serverspec としてください。 コード自体は https://github.com/jvoorhis/vagrant-serverspec で公開されています。まだバージョン0.0.1なので、問題を見つけたらPR送るなりIssueを切るなりすると良いと思います。 使い方使い方も簡単です。まずVagrantfileを見てみましょう。 これは何をやって

    vagrant-serverspecを使ってプロビジョニング結果をテストする
  • Amazon EC2のインスタンス起動時に自動でChef Serverと連携する方法

    Amazon EC2に新たなインスタンスを追加した時に、いちいち手作業でインスタンスにSSHで接続してごにょごにょするとか面倒ですよね。こういう時はコマンドでさくっとやってしまうのが簡単です。 いくつかアプローチがありますので、今回はそれを紹介しましょう。 knife bootstrapを使うたとえばAmazon Linuxのインスタンスを起動して、Chef Clientを導入し、指定したロールの状態にするためには、クライアント(自分の作業端末)から以下のように実行します。 knife bootstrap ec2-XXX-XXX-XXX-XXX.ap-southeast-1.compute.amazonaws.com \ --run-list 'role[web]' \ --environment development \ --no-host-key-verify \ --node-na

    Amazon EC2のインスタンス起動時に自動でChef Serverと連携する方法
  • vagrant-lxcで軽量仮想環境を手に入れる

    Vagrantは標準ではVirtualBoxを仮想環境として利用しますが、とにかく遅いのが難点です。 Test-Kitchenを使ってChefのCookbookのテストをしたり、これらを継続的インテグレーションしようとしたときにこの遅さはたまりません。いくつか手段はあってお金持ちの皆様であれば、大富豪アプローチということで、仮想マシンを動かす母艦にXeon E5-2697 v2を積んだ高性能マシンを使ったりもできるのですが、普通に考えれば、VirtualBoxよりも軽量な仮想環境を使うのが有力なアプローチです。 今回はLXCを使って軽量な仮想環境を手に入れる方法を紹介します。 LXCのインストールLXC自体の説明はこの辺とかこの辺を参照ください。 インストール対象の母艦はUbuntu 12.04 LTSです。 sudo apt-get install lxc sudoの設定変更sudoのバ

    vagrant-lxcで軽量仮想環境を手に入れる
  • DevOpsに関する12のアンチパターン

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

    DevOpsに関する12のアンチパターン
    lizy
    lizy 2013/07/24
  • 資料公開 Vagrant (+Amazon EC2)

    著作 SCRUM BOOT CAMP THE BOOK 著者/訳者:西村直人 永瀬美穂 吉羽龍太郎 出版社:翔泳社( 2013-02-13 ) 定価:¥ 2,520 スクラム初心者に向けて基的な考え方の解説から始まり、プロジェクトでの実際の進め方やよく起こる問題への対応法まで幅広く解説。マンガと文章のセットでスクラムを短期間で理解できます。スクラムの概要を正しく理解したい人、もう一度おさらいしたい人にオススメ。 CakePHPで学ぶ継続的インテグレーション 著者/訳者:渡辺 一宏 吉羽 龍太郎 岸田 健一郎 穴澤 康裕 出版社:インプレス( 2014-09-19 ) 定価:¥ 4,320 Webアプリケーション開発における継続的インテグレーションについて、CakePHPのサンプルをベースにして、その概要から使用ツール解説、導入方法、メンテナンスまでを解説 Chef実践入門 ~コードによる

    資料公開 Vagrant (+Amazon EC2)
  • OpenVPN ServerをAmazon EC2上に簡単に構築する方法

    Amazon Virtual Private Cloud(VPC)を使ってPrivate Subnetを作っている場合、Private SUbnetにあるインスタンスを触るために一端Public Subnetの踏み台にログインしてから作業するとかは面倒すぎて無理なので、OpenVPNを使ったVPN環境を用意するのがよくある手です。 OpenVPN Server自体のインストールはそんなに大変ではありませんが、手でやると間違えるので、Chef Soloを使ってサクっと作る方法を紹介します。 インストール対象のインスタンスの用意まずOpenVPN Serverをインストールするインスタンスを用意します。既にNATインスタンスを利用している場合はそれ上にインストールをするのが簡単です。 別で用意する場合は、NATインスタンス作成用のAMIを利用します(他のAMIでももちろん大丈夫です。いざという

    OpenVPN ServerをAmazon EC2上に簡単に構築する方法
  • 続報 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を作成する
    lizy
    lizy 2013/06/30
    boot_commandはveeweeの定義ファイルを参考にするのが楽そう。veewee-to-packerはそれをやってくれるんだろうけど試したらうまく動かなかった
  • 速報 Packerでさまざまな仮想マシンのテンプレートを作成する

    続報で、VagrantのBoxの作り方について書きました。こちら Vagrantの作者であるHashimotoさんが新たにPackerというツールをリリースした(昨晩!)ので速攻ご紹介。 このツールは、Amazon EC2のAMIやVirtualBoxやVMware用のOSのイメージを一貫性のあるインターフェイスで簡単に作ってくれるものです!たとえばVagrantの場合は以前はPatrickさんが作成したVeeweeを使うことが定番だったのですが、今後はそれに変わるものになってくるかもしれません。 (現時点はまだバージョン0.1なのでこれからどんどん良くなると思います!) インストールhttp://www.packer.io/downloads.html からビルド済みのファイルを入手します。もしくは自分でビルドすることも可能です(ビルドにはgoなどのツールが必要です)。 ファイルはzip

    速報 Packerでさまざまな仮想マシンのテンプレートを作成する
    lizy
    lizy 2013/06/29
    指定ディレクトリ配下を公開するhttpサーバ機能があるみたいなので、virtualboxの場合はそこからkickstartすればいいのかな
  • ChefのCookbookのベストプラクティス

    OpsCode社のシニアコンサルタントであるJulianさんがChefConf2013で話された内容が参考になるので、簡単に紹介します。 スライドはこちらに公開されています。 また動画はこちらです。 ここで出てこない話として僕がやるべきだと思うことは「テストを書くこと」です。 test-kitchenとserverspecの組み合わせがおすすめです。 ばかでかいレポジトリをつくらないいろいろなものをまぜこぜにしない たくさんのレポジトリに分割するのを怖がらない (opscodeも昨年opscode/cookbooksの巨大構成から、opscode-cookbooks/個別cookbookに構成を変えています) 個々のCookbookの連携はBerkshelf使えば大丈夫 全員が共用するような会社用Cookbookをつくらない関係ないプロジェクトのものが含まれると見通しが悪くなる 大きすぎる

    ChefのCookbookのベストプラクティス
  • Vagrant + シェルスクリプトで簡単プロビジョニング

    Vagrantでプロビジョニングというと、Chef SoloとかChefとかPuppetを使うという印象がありますが(Vagrant initしてできるVagrantfileにもそれらだけが入っている)、シェルスクリプトでも簡単にプロビジョニングできます。 マニュアルに書いてあるわりに意外と知らない人が多くてびっくりしたので、簡単に紹介しておきます。 インラインでシェルを使う方法これはVagrantfileの中に直接コマンドを書いておく方法です。コマンドの数が少ない場合はこれで十分です。 # 以下にコマンドを書く script = < <SCRIPT yum install -y httpd php php-mbstring php-pdo php-mysql mysql-server /sbin/chkconfig --level 2345 mysqld on /sbin/chkconf

    Vagrant + シェルスクリプトで簡単プロビジョニング
    lizy
    lizy 2013/06/12
  • 書評 Vagrant- Up and Running

    数日前に初めてのVagrantの書籍であるVagrant: Up and Runningが発売されました!著者はVagrantの作者であるMitchell Hashimoto氏(今年日に来るそうです!)です。Kindle版なら1215円でかなりお手頃価格です。 感想としては、始めの一歩からプラグインの解説まで、ひと通り網羅している感じで、これから体系だててVagrantを使っていきたい方の学習には便利だと思いますし、既に使っている人でもリファレンス代わりになるのではないかと思います。ページ数も約150ページですので、さくっと読めます(ちなみに内容は英語で書かれていますが、分かりやすいです) Vagrantは過去に何度か大きな仕様変更が入っています。例えば0.7系と1.0系でプラグインの互換性がなく、1.0系と1.1系以降でも互換性がない、1.1系以降ではgemでの配布からインストーラーで

    書評 Vagrant- Up and Running
    lizy
    lizy 2013/06/01
    kindle版買っておくか