TIS株式会社で行った社内勉強会(西新宿Tech-Circle)の資料です。 Test-Kitchenを使ってTDDを実践する方法をご紹介しています。 資料内で出てくるGitLabやJenkinsのLT資料は以下リンクより見れます。 http://www.slideshare.net/yoshimitominaga/ss-36972336
![テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-](https://cdn-ak-scissors.b.st-hatena.com/image/square/07718415eed3860f94e56b02b58e1479aa01c99c/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fchefserverspec-140715194524-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
みなさんこんにちは。@ryuzeeです。 これから新たにChefを学ぶ人向けに非常に基本的なトレーニングの資料を作ったので公開します。 資料の構成は以下のとおりです。 まずDevOpsの文脈から自動化が必要な背景を説明Infrastructure as Codeについての利点を説明ChefのアーキテクチャChefの用語解説Vagrantで仮想マシンを2台使った一番単純なハンズオン(boxも用意済み)Serverspecを使ったCookbookのテストの書き方(VirtualBoxの仮想マシンの中でDockerを使っています)その他なお、2-3時間でさくっと触りながら全体像を掴むことを目的にしているので、網羅性はありません。 ハンズオン用のVagrantのboxには、あらかじめ、Chef DK(Development Kit)、Dockerなどが含まれており、すぐに触れると思います(ただしb
『ユーザーストーリーマッピング』 出会いと適用 / User Story Mapping encounter and application
一部のサブシステムの構築で、プロビジョニングツールを捨ててみた。じゃあどうするのかというとシェルスクリプトでやる。今回はこのやりかたが一番楽できるような気がしたので試している。 具体的にはPackerからシェルスクリプトとServerspecを実行してAMIを煮込む。おいしくできあがったらそいつから構築。もしミドルウェアより下の層のコンフィグ類に変更があったらまた煮込む。構築する。新しい方に切り替える。つまり”捨てるインフラ”にする。 プラットフォームはAWS。 (追記)ちなみにchefなどのプロビジョニングツールがめんどくさいからシェルスクリプトにしたというよりは、捨てる前提のサーバだからシェルスクリプトでの構築も選択肢として出てきたということです。ただ自分個人の嗜好としてchefはもう飽きたというのも事実です。なお、オンプレだと同じサーバで継続してプロビジョニングすることになるのでch
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
Treasure Data(以下、TD)に入社して早2週間が経ちました。 入社してから、平成14年度IPA未踏ユース第1期で同期でスーパークリエイタであった西田さんがTDで働いているのを知りました。MapReduceやHadoopが登場した頃、「Googleを支える技術」という技術書*1でお世話になったのですが、いつの間にかTreasure Dataを支える人になっていたんですね*2。 Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ) 作者: 西田圭介出版社/メーカー: 技術評論社発売日: 2008/03/28メディア: 単行本(ソフトカバー)購入: 47人 クリック: 1,166回この商品を含むブログ (374件) を見る TDではおかげさまで結構なペースでお客さんが増えていて事業規模拡大に備えて幅広い職種で人材募集中です。今回はTDのバッ
近年、ChefやPuppetなどの構成管理ツールが人気だが、新たに注目されつつある構成管理ツールとして「Ansible」がある。Ansibleは設定ファイルがシンプルで、管理対象サーバーに特別なソフトウェアをインストールすることなく利用できるなど、最小限の手間で各種設定を自動化できるのが特徴だ。今回はこのAnsibleについてその基本的な使い方を紹介する。 小規模な環境でも手軽に使えるAnsible あらかじめ用意しておいた設定ファイルに従って、ソフトウェアのインストールや設定ファイルの修正、サービスの起動/停止、ネットワーク設定といったサーバーの各種設定を自動的に実行するソフトウェアを構成管理ツールと呼ぶ。代表的なものとしては、さくらのナレッジでも過去に取り上げているChefやPuppetがある。 関連記事: サーバー設定ツール「Chef」応用編:knife-soloとData Bagを
Serverspec本の献本ありがとうございました.とても面白かったです.詳しい書評はすでに素晴らしい記事がいくつかあるので,僕は現チームでどのようにServerspecを導入したか,どのように使っているかについて書きたいと思います. Serverspec導入の背景 今のチームではサーバーのセッアップおよびデプロイにChefを使っている.本にも書かれているようにこのような構成管理ツールを使っている場合はそのツールを信頼するべきであり,Serverspecのようなテストツールは必要ない.僕らのチームもそのような理由でServerspecの導入には至っていなかった. しかしアプリケーションが複雑になりChefのレシピも混沌とするようになるとそれは成立しなくなる.見通しの悪いレシピはChefへの信頼度を落とす.信頼度の低下はデプロイ不信に繋がり人手(筋肉)によるテストが始まる. サーバーの数がそ
chef使うのめんどくさくないですか? 私はいままでサーバーの設定を自動化するためのツールにchefを使っていました。 最初chefを使い始めた時は、いままで手作業でやっていたことがコード化・自動化できるので「お、便利ー!chef最高!」という感じだったのですが、 だんだん使っていくうちにchefが高機能が故に自分の用途としては使うのが辛くなってきました。 そもそも自分はchef soloしか使わない chef は基本的にはchef-server - chef-client という構成で、設定を自動で行いたいサーバーに対してchef-clientをインストールします。 そして対象のサーバーの設定をコード化したrecipeを保持するchef-serverとchef-clientが通信して対象サーバーにrecipeを適応します。 このchef-serverを立てずにchef-clientだけで
Ansible と Mackerel API を組み合わせて、1000台規模のサーバ群に対して同時にパッケージの更新やその他のサーバオペレーションのための方法を紹介します。 タイトルに Mackerel とありますが、それほど Mackerel に依存しない話です。 (AnsibleとDockerによる1000台同時SSHオペレーション環境 - ゆううきブログに続編を書いています。) 背景 社内では、サーバ構成管理ツールとして Chef を使用しています。 Chef Server は運用が大変なので使用しておらず、knife-solo と Mackerel APIを組み合わせてホストと Chef role とのマッピングに Mackerel のロール情報を用いています。 また、Mackerel の Ruby クライアントを利用して recipe 内で API を叩いて、Mackerel か
※2016/04/24 追記 昨年末にItamae meetupで話した時のスライドリンクを追記しました。 Databag > itamae-secret の話やConsul連携の話が追加されています。 http://www.slideshare.net/tsuyoshitorii5/itamae-meetup-vol1public 現在自分が運用管理しているChef-soloプロビジョニングの仕組み 1 を Itamaeに移行した時のお話をしようと思います。 管理規模としては大規模ではなく、小〜中規模的なところかと思います。 (ロールによってレシピ切り分けたり、環境毎にレシピ用意したりなど…) 最初に: Itamaeについて https://github.com/itamae-kitchen/itamae 軽量なChef と考えればよいでしょう。 Chefの複雑さを取り除き、必要十分な部
美雲このはとは? 座敷童子一族の末裔として生まれ、栃木の由緒正しい某神社で暮らしていたんだけど、昔からのしきたりで一人前の座敷童子になるため東京で修行を開始! 紆余曲折あって、ConoHaの応援団長に就任することになりConoHaを使っているみんなを応援するとともに、このはも一人前の座敷童子ではなく、「神様」になるために日々頑張っているよ! プロフィール 名前:美雲 このは (みくも このは) 年齢:年齢という概念はないが、人間でいうと13歳くらい? 身長:150cm+α 体重:ひみつ 長所:勉強熱心・わりと機転がきく 短所:いじわると勘違いされる振る舞いをしがち 好きなこと:アニメを見たりゲームしながらのごろごろ
やれ仮想化だ、やれクラウドだと、様々な単語が流行っていく中で、管理者が構築・運用しなければいけないサーバの数はどんどん増えています。今回はUbuntu Serverを「スケール」させるうえでとても便利なデプロイツールである「Juju」を紹介します。 Jujuとは 「Juju」はCanonicalが開発している「サービスオーケストレーションツール」です。公式サイトやホワイトペーパーでは抽象的な表現が多すぎて「お前は何を言っているんだ」状態なJujuですが、簡単に言うと「Amazon EC2やOpenStack、Azure、LXC、MAASといったサービス上にUbuntu Serverを用意し、そこに既存の各種サービスをデプロイするための自動化ツール」です。 Ubuntuにはもともと強力なパッケージ管理システムであるAPTが存在します。APTシステムを使えば多種多様なソフトウェアの依存関係の解
インフラCIの環境を、Docker, Chef, Serverspec, Jenkins を使って整えたいな〜と考え、遅ればせながら Docker に入門しました。 Docker – Build, Ship, and Run Any App, Anywhere 実現したいのは、まさに以下のエントリーのような自動化。Chef cookbook のレシピが、いつでも確実に正しく構成できることを CI したいのが一番の目的です。 Docker + Chef + serverspec + Jenkins でインフラCIの環境を構築してみた – hidemium’s blog Docker 入門に際して、次の記事等を参考にしました。 いまさら聞けないDocker入門(1):アプリ開発者もインフラ管理者も知っておきたいDockerの基礎知識 – @IT Docker 初心者は phusion/base
はじめに 本連載では、インフラの構成をコードで管理するための便利なツールを使って、インフラを構築するための手順をご紹介します。今回は、Vagrantというツールを使って、ローカルマシンに仮想環境でWebアプリケーションの開発環境を作って、開発チーム内で統一した開発環境を構築する方法について説明します。 対象読者 本記事は、次の方を対象にしています。 コードを使ってインフラの構成管理をしたい人 ネットワークやLinuxの基礎知識がある人 Webシステムの開発環境を構築したことがある人 なぜ、コードでインフラの構成管理をするの? 業務アプリケーション開発者のみなさんは、前任者が作った既存システムにバグがあり、それを修正することき、「設計書の内容と、ソースコードの中身が違う!?!」というシーンに出くわすことはありませんか? Excelの設計書とソースコードを交互ににらめっこしながら、関係者に仕様
今年の6月にChef Soloは役割を終え、今後引退への道をたどると言うアナウンスがChefの公式ブログでありました。Chef Soloがなくなるということは、必ずChef Serverが必要になると言うことでしょうか?答えはなんとYesです。 しかし安心してください。そのためにChef Zeroが用意されています。一言で言うと、Chef Zeroはローカルで動かせるChef Serverです。 そしてChef Clientをローカルモードで動かすことでローカルのChef Zeroに接続するため、別のChef Serverは必要ありません。要するにChef Soloと同じような感覚でChefを使い続けることができます。 更にKnife-Zeroを使うとChef Solo同様にセットアップ先のマシンにChef Clientを簡単に入れることができます。そこで今回はこのKnife-Zeroを使
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く