始める DevOps ( http://atnd.org/events/41286 ) での発表資料です #init_devops
近況 3月から DevOps 関連の技術的負債の解消に取り組んでいて,動かなくなった Chef を直したり,秘伝のタレ(手動)で構築されたサーバ設定を Chef にリバースエンジニアリングしたり,Serverspec を導入して稼働中のサーバの差異を確認したりしている. 他にもウェブサーバのパフォーマンスチューニングをしたり,Zabbix / Kibana / CloudWatch で可視化したり,不要なアラートを消したりもした.あと Vagrant 環境を自動構築できるようにしたり,Packer を使って Vagrant Box を改善したり,デプロイ手順を正常化したり,テストの品質向上の目的で Capybara を導入したりもした. 最近はキャッシュサーバをリプレイスしたり,AWS のネットワーク構成を変更するなど,とにかく様々な施策を試しているけど,全然まだまだという感じで,圧倒的成
みなさんこんにちは。@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
Lobiチームの長田です。 今回は現在運用中のLobiというサービスのデプロイについて紹介します。 Lobi Chat & Game Community Lobiについての紹介は以前のエントリを参照ください。 サーバーサイドエンジニア視点でLobiというサービスを紹介します | tech.kayac.com - KAYAC engineers' blog TL;DR デプロイ=各種ファイル更新とサービスへの反映、chefの実行 毎日十数回のデプロイを行っている デプロイ対象は数十台単位 十余名のサーバーサイドエンジニア全員にデプロイ権限がある Auto Scalingを考慮したデプロイ手段を採用している ファイル更新もchef実行もstretcherでOK まだまだ改善の余地あり おおまかな手順 本番環境にデプロイするぞ!という段になると、こんな操作が行われます。 GitHub上でコードレ
こんにちは。株式会社ベーシックのCTOやってる@zaruです。今年はじめてQiitaのアドベントカレンダーに参加しました。25日埋まるようなんとか頑張ります。また、ベーシックのエンジニアについて興味のある人はベーシックエンジニアのQiita記事に目を通してみてください。それなりに面白い記事があると思います。 長い前置き Chef、めっちゃ流行って今や定番ツールになってますね。僕はChefに挑戦したものの脱落したダメエンジニアです。なんで脱落したかというと、セコセコ作ったレシピを保守できなかったんですね。Chefさわれる人が社内に全然いない&教えようにも自分がよく分かっていないという、ツールに振り回されてダメダメという状況になってしまいました。 そこでもういっそ、VagrantBoxを直接配布したり、AWSならAMI化されたものを使いまわしたりしてたわけです。そこまで大規模なインフラでもない
RundockというYAMLベースな構成管理ツールを作ってみました github.com ※以降NGワード Ansible 経緯 以前からChef(Chef-Solo) や itamae といった構成管理ツールを使っているのですが、複数サーバにおける即時実行管理までサポートしてないので他のツールを選定していたのと、現在選定の結果として使用している Rundeck というsshベースの構成管理ツールの弱点をなんとかしたいと思い、軽い気持ちで車輪の再発明してみました。 前提 AWSやオートスケーリングに対応した環境を前提に考えるとcloud-initやrc.local、最近ではTerraformを使用してプロビジョニングするほうがスマートではあるので、sshでログインして管理したほうが都合が良い混み入った事情があるレガシーな環境やアドホックにちょっとしたサーバの情報を収集、設定をする用途に限定
インフラ部の荒井(@ryot_a_rai)です。この記事ではクックパッドで利用しているプロビジョニングツール "Itamae" の紹介と細々した Tips を紹介します。 式年遷宮とプロビジョニングツール 現在、弊社ではインフラの式年遷宮*1を進めています。式年遷宮以前、弊社では Puppet を利用してサーバをセットアップしていましたが、式年遷宮に際して既存のプロビジョニングに関するコードは捨てることになるため、プロビジョニングツールの再検討を行うことになりました。 Puppet, Chef, Ansible, SaltStack を検討した結果、 言語特性の観点では、Ruby DSL な Chef が良い アーキテクチャ・エコシステムの観点では、シンプルな Ansible が良い といった点から、どれも決め手に欠ける状況で、Ruby DSL で記述できるシンプルなプロビジョニングツール
ChefやPuppet、Vagrantといったサーバーの設定を自動で行うツールが普及しつつあるが、それと同時にサーバーの自動テストについても注目されるようになっている。今回はサーバーの自動テストを実現するツール「Serverspec」をLinux環境で利用する手順を紹介する。 サーバーの自動テストの必要性とテスト駆動開発 最近ではサーバーの設定やソフトウェアのインストールといった作業を自動で行えるツールが注目されている。しかし、設定後のテストについてはあまり注目されておらず、各種設定やソフトウェアのインストールが正しく行われているかどうかは手作業で確認することが一般的だった。しかし、手作業での確認にはミスや抜けが発生する可能性があり、また対象とするサーバーの数が増えるとそれに比例して手間も増えてしまう。そこで活用したいのが、サーバーの自動テストツールだ。 サーバーの自動テストツールは、あら
ここ最近のインフラ系技術の流れがおもしろいなー、と思ったので、Puppet が出た辺りぐらいから、振り返って整理してみる。殴り書きなので、後から修正したり書き加えたりするかも。特に後半の方は、あまり考えが整理できてない。 最近のウェブ界隈での「インフラ」という用語の使われ方には、色々異論もあるようだけど、ここではごく最近使われるようになってきた、OS からミドルウェアといったソフトウェアレイヤーを指す言葉としてのインフラについて触れる。(英語圏でも同様の意味で使われているようなので、ある程度市民権を得たと言っても良さそうだし。) プロビジョニングレイヤー まず、前提知識としてプロビジョニングレイヤーと自分が勝手に呼んでるものについて整理。 Chef や Puppet は「プロビジョニングフレームワーク」とも呼ばれているが、以下の議論をより厳密にするために、Lee Thompson 氏による
ゴクロの大平と申します。はじめまして。 4月からjoinさせていただいた、特に特記事項の無い平凡なプログラマです。さだまさしが好きです。 SmartNews開発者ブログをご覧になる方々は、サービスの裏側で動作するクローラーや多種多様な機械学習のロジックであったり、フロントエンドのUIの話であったり、サービス固有の話に興味が有る方が多いと存じますが、都合上(原稿の担当順番の都合上)、今回は一般的な話をさせていただきます。 ※先掲の話題については次回以降取り上げられますので、お楽しみに。 一般的な話題とはいえ、大企業とスタートアップでは取り巻く環境や解決すべき課題も異なっていますので、その辺もあわせてお伝え出来ればなと思います。 なお、今回のテーマは、サーバー/ミドルウェアの構成管理ツールとして最近有名になってきた「chef」と「fabric」です。 かなり長文のエントリーになってしまい
誰のための文書? リーダーや同僚から「Vagrant, Chef を使うと環境構築楽ちんだから、これこれのファイル用意して vagrant up してみなー」と言われるがままに環境構築してみたはいいが、何なのかよくわかっていない人。 Vagrant, Chef と組み合わせて VirtualBox を使っているのに VirtualBox のGUI から起動や終了をしている人。 コマンドラインで構築するやり方はたくさん見たが、それぞれのツールの役割がわかっていない人。 2週間前の自分。 概要 図にまとめてみました 拡大して表示 拡大して表示 ちょっと解説 1, 2ヶ月前に同僚から Vagrant と Chef を使うと便利なことを教わったのですが、中身についてはよくわかっていませんでした。この1週間、Vagrant と Chef と格闘してみて、理解したことをまとめたのが上図です。 Vagr
この記事は最終更新から1年以上経過しています。 気をつけてね。 Chef,Puppetに代表される自動構築・構成管理ツールを使うと開発したサーバを検証用などの目的で簡単に再現可能になります。 ただ、漠然としたサーバ構築をしていると何をサービス提供しているのかという定義が曖昧になるため、Cucumber等を使ったテストを軸にテスト駆動でのサーバ構築をしてみましょう。 応用すれば既存のサーバをCucumberによってモデリングし、Chefによって繰り返し再現可能な状態に持っていけます。 このコンテンツで使ったコードはGithubの https://github.com/higanworks/test_driven_infrastructure_example で公開しています、参考にしてみたりフィードバックしてもらえると助かります。 ツール Cucumber: "ふるまい"を自然言語のように記
忙しい朝もサクッと寝癖直し完了! コードレスでどこでも使えるブラシ型ヘアアイロン「Hair Master」を使ってみた
環境構築を自動化すれば数分でサーバ構築して投入できますよ?@HIROCASTERでございませう。 vagrantで開発環境(仮想マシン)を自動構築しようの記事で、仮想マシンにchefやpuppetを自動的に実行させて開発環境を自動で構築する手順を紹介しました。 環境構築を自動化する内容をchefであれば、レシピと呼ばれるものを、puppetであればマニフェストと呼ばれるものを記述しなければなりません。 今回はパッケージ(NTP)を導入して、NTPの設定ファイルを自動的に配備して、サービスを立ち上げるという環境構築の自動化をchef-soloを使って、紹介したいと思います。基本的に他のソフトになっても手順は同じです。参考にしてください。 chefとchef-soloの違いchefはクライアントとサーバの形を取っており、chefを実行するためにはサーバにレシピや付随する数多くのデータがなければ
ここ最近、サーバの設定ファイルの管理で Chef を使い始めている。まだ全然詳しくないけど、今感じている「Chefの楽しさ」を誰かに伝えておきたかったので、ファーストインプレッションを簡単に。 Puppetを今までそこそこ使っていたので、どうしてもそことの比較な感じになっちゃいます。Puppetも良いのだけど、Chefは後発ということでさらに良くなっている感じ。 基本的な仕組 これは、Puppetとほぼ同じ。クライアント-サーバ型のシステム。設定を書き、それをサーバに置いておく。クライアントはサーバと接続し、自分自身の設定を書き換えたり、必要なソフトウェアをインストールしたりする。 rubyな設定ファイル Puppetは基本的に独自DSLで設定ファイルを記述すので「覚えるのがめんどくさい」「細かいこと、ちょっと無茶なことをしようとすると大変」。Chefの設定ファイルはrubyそのものなので
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く