前回は国内DevOpsトレンドをけん引してきたベンダーキーパーソンによる座談会により「DevOpsとは何をすることか」を明確化した。今回はそこでの話も基に、『The DevOps 逆転だ!』の著者の一人、ジョージ・スパッフォード(George Spafford)氏に話を聞いた。
今回は、「このコラムに、ベストセラー書籍『学年ビリのギャルが1年で偏差値を40上げて慶應大学に現役合格した話』をもじったタイトルをつけるとしたらこうなる」という記事タイトルをつけてみた。タイトルが示す通り、Androidアプリを量産し、その広告収入でMacBook Proを購入したRiriさんの「ちょっぴりもうかる」等身大のアプリ開発体験談をご紹介しよう。 本人の希望で顔出しはNGということなので、後ろ姿を紹介するにとどめるが、一見、童顔で癒し系の外見とは裏腹に、物事をとても戦略的かつ合理的に考える人であることは、話し始めてすぐに伝わってきた。詳細は後述するが、アプリを量産できるのも基本的にRiriさんの合理的な考えがあってこそだと感じた。Ririさんがアプリ開発を始めた動機は「仕事は楽しいが、それとは別に自分でも収入を得る手段を整えておきたかった」というもの。端的に言えば「お金が目的」だ
AWSのデータセンターの中身を、設計総責任者が話した:「ここまで話していいの?」(1/2 ページ) Amazon Web Services(AWS)のバイスプレジデント兼ディスティングイッシュド・エンジニア、ジェームズ・ハミルトン氏は、AWSが11月11~14日に開催した「AWS re:Invent 2014」で、データセンターの構成、サーバーやスイッチの自社設計、SR-IOVなどについて語った。 [2014/11/21訂正]記事の初出時に、ハミルトン氏がAZ間の距離を「数キロメートル」と言ったと記述しましたが、数十キロメートルである可能性もあります。ハミルトン氏はAZ間が「multiple kilometers」であると表現しています。後出のハミルトン氏の議論では、例えばロサンゼルスとニューヨークの間の伝送遅延は74ミリ秒だが、これを1、2ミリ秒に抑えるためにAZ間は近くなくてはならない
R子 今日から担当に配属されたR子と申します。よろしくお願いします。 K男 こちらこそよろしく。ところで、R子さんは今までサーバー構築の経験はあるのかな? R子 入社時の研修でちょっとだけ……。 K男 R子さんも明日からばりばり構築してもらうよ。1日最低10台がノルマね。 R子 えぇ!? 不安だなぁ…… ちゃんと家に帰れます? うぇ~ん。 さて、R子さんは一体どうなるのでしょうか。1日10台がノルマといわれていますが、サーバー構成が同じ場合、一度構築してしまえば似たような単純作業の繰り返しになります。この単純作業を自動化することにより、効率的にサーバーを構築できるようになります。自動化できれば、10台であろうが、100台であろうが怖くありません。 本連載では、こんなときに役立つサーバー構築の自動化技術について紹介していきます。 初心者でもサーバー構築/運用が自動化できるように サーバー構築
アナウンス後わずか2カ月でLinux Kernelにマージされたことで一躍注目を浴びることになった仮想化技術「KVM」。しかし、その具体的な仕組みや使用方法となると、意外と知られていないのではないでしょうか。この連載ではそんなKVMについて紹介します(編集部) KVMは、Linux Kernel自体をハイパーバイザとする仕組みで、正式名称を「Kernel-based Virtual Machine」といいます。KVMは現時点では、Intel VT-xやAMD-VといったCPUの仮想化支援機能を必要とし、完全仮想化によりOSの仮想化環境を提供します。 この記事では、「KVMの名前は聞いたことはあるが詳しくは知らない」という方、「興味はあるけど使い方がよく分からない」という方を想定し、全3回でKVMの概要と基本的な使い方、今後の課題について紹介したいと思います。 OS仮想化技術のおさらい サー
TDD/BDDにおける「振る舞い」の意味するところとは何なのか:いまさら聞けないTDD/BDD超入門(3)(1/3 ページ) 前回の「TDD/BDDの思想とテスティングフレームワークの関係を整理しよう」では、TDD/BDDについて、その思想と、それをサポートするテスティングフレームワークに分けて解説しました。その中で、TDD/BDDについては実際の熟練者の言葉を借り、テスティングフレームワークについては概要を触れて、その系譜をたどりました。 BDDはその名前に「Behavior」とありますが、「振る舞いとしてのテストコードを書く」とはどういうことなのでしょうか? 難しく考え過ぎる必要はありませんが、「それは振る舞いを書いていないよ」と指摘をする熟練者が何を考えているかを理解することはBDDを習熟していく中で重要な意味を持ってきます。 本記事では「振る舞い」という言葉がどのような意味で使われ
TDD/BDDの思想とテスティングフレームワークの関係を整理しよう:いまさら聞けないTDD/BDD超入門(2)(1/3 ページ) TDD/BDDの思想に触れ、フレームワークとしてxUnit、JBehave、xSpec、Cucumber、Turnip、TestDoxを紹介する。 前回の「テスト駆動開発/振る舞い駆動開発を始めるための基礎知識」でも紹介があったように、さまざまなテスティングフレームワークがあります。例えばTDD自体は、Kent Beck(ケント・ベック)氏が著書『テスト駆動開発入門』(ピアソンエデュケーション刊)の中で述べているように、「分析技法および設計技法であり、実際には開発全てのアクティビティを構造化するための技法」です。 TDD(テスト駆動開発)/BDD(振る舞い駆動開発)を実践することと、特定テスティングフレームワークを採用したり開発したりすることを分けて考えておかな
連載目次 2000年代初期に開発手法として確立された「テスト駆動開発」(Test Driven Development、以下「TDD」)は、その後10年もの間で普及が進み、今や珍しくない開発スタイルの1つとなっています。国内でも「アジャイルアカデミー」「TDD Boot Camp」などによる推進・普及活動が各地で活発化し、認知が広がってきました。 なおTDDは誕生からこれまでの間に、さまざまな工夫や実践上のノウハウが提唱されてきました。またTDDの普及に影響を受け、他のさまざまな「テストファースト」手法も台頭してきています。 本稿では、そうしたTDDの発展や、振る舞い駆動開発(Behavior Driven Development、以下「BDD」)など他のテストファースト手法への展開についても解説します。 ※編集部注:ソフトウェアの「テスト」そのものの概要や種類について知りたい方は記事「J
増えるログ、多様化するログをどう効率的に運用するか:今さら聞けないfluentd~クラウド時代のログ管理入門(1)(1/2 ページ) 仮想化やクラウド化、モバイル化の進展に伴い、管理すべきログが多様化・肥大化しています。そんな中でも効率よく、意味のあるログ管理を実現するツールとして注目されている「fluentd」を、これから始めたい方のために一から解説します。 システムを安定して効率良く運用していくために、ログ管理は欠かせない要素の1つです。仮想化やクラウド化、モバイル化の進展につれてシステムはますます大規模化し、それに伴い管理すべきログが多様化・肥大化する傾向にあります。 fluentdはこういった中でも、効率よく、意味のあるログ管理を実現するために非常に有用なツールです。本連載では、fluentdの基本と具体的な活用方法を紹介します。 ログ管理の現状と課題 環境の仮想化・クラウド化、さ
プルリクエスト/レビューを取り込んだ、よりシンプルなGitHub Flowの運用を図解する:Gitブランチを使いこなすgit-flow/GitHub Flow入門(終)(1/2 ページ) 数回にわたってgit-flowとGitHub Flowを使ったGitの活用テクニックを紹介します。最終回は、GitHubが採用している、git-flowよりシンプルな構成のブランチ管理フローについてです。5つの運用ルールや開発の流れを図を交えて解説します。 本連載「Gitブランチを使いこなすgit-flow/GitHub Flow入門」では、これまでgit-flowについて解説してきました。git-flowはプロダクトを厳格にリリースすることを念頭にフローが考えられていますが、プロジェクトによっては、冗長過ぎると感じることもあるかもしれません。本連載の最終回となる今回は、git-flowに比べシンプルなブ
いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識:Gitブランチを使いこなすgit-flow/GitHub Flow入門(1)(1/2 ページ) 数回に渡ってgit-flowとGitHub Flowを使ったGitの活用テクニックを紹介します。初回は、ブランチ管理の課題と効率的にバージョン管理できる5つのブランチモデルと、ブランチの管理を簡単に行えるツール「git-flow」について。 Gitなどの次世代のバージョン管理ツールの特徴として、ブランチの機能を高度に活用できるという利点があります。Gitのブランチを生かしたツール・フローとして「git-flow」「GitHub Flow」が注目を浴びていますが、本連載では数回に渡ってgit-flowとGitHub Flowを使ったGitの活用テクニックを紹介します。初回は、git-flowの概要を紹介します。 効率的にバージョ
JobSchedulerの機能と設定~基礎編:OSS「JobScheduler」で実現するこれからの運用自動化(1)(1/2 ページ) 本連載では運用管理の一要素である「バッチジョブ管理」に着目し、より効率よいバッチジョブ管理を実現するためのツールであるオープンソースの「JobScheduler」について解説します。 はじめに サーバ仮想化やクラウドの浸透により、システム環境はますます複雑化しています。このような中、近年ではDevOpsに代表されるとおり、迅速にサービス提供を実施するために効率よい開発や運用を実施することが求められています。 本連載では運用管理の一要素である「バッチジョブ管理」に着目し、効率よいバッチジョブ管理を実現するためのツールであるオープンソースのソフトウェア「JobScheduler」について解説します。 ※以降、本編の中で記載する「ジョブ」は「バッチ形式で実行する
DevOpsというキーワードに関連して、「Chef」というツールの名前を聞いたことのある人も多いのではないでしょうか。この記事では、インフラにおける構成管理、展開作業を自動化するChefの構造および基本的な使い方について解説します。 インフラストラクチャ自動化フレームワーク「Chef」 Chefは、物理、仮想、クラウドといったさまざまな大きさのインフラに対して、サーバやアプリケーションの展開を容易にするための自動化フレームワークです。 Chefの重要な要素の1つに「Infrastructure as Code」という概念があります。インフラをどのように構築し、維持するべきかという定義はRubyの文法で記述され、ソースコードのように扱うことができます。つまり、あたかもRubyでプログラミングをするように、インフラの構成管理をコードによって行えることがChefの利点の1つです。 自然言語による
今回は、実際にTremaの環境を導入し、リピータハブとして動作する簡単なOpenFlowコントローラを作成する方法を紹介します。 前回「SDNの基本動作とアジャイルな開発が可能なSDN実装、『Trema』」ではSDN/OpenFlowの概要と、OpenFlowのプログラミングフレームワーク「Trema」の特徴を中心に紹介しました。今回は、実際にTremaを利用し、簡単なOpenFlowコントローラを作成する方法を紹介します。 1台のPCでできるOpenFlow開発環境 これから「アジャイルなOpenFlowプログラミングフレームワーク環境」を、種も仕掛けもないPC1台だけで本当に開発してみます。 まず初めに、PCを1台用意してください。もちろん、普段利用しているPCでも構いません。Tremaを動作させるOSはLinuxですが、用意できるPCがWindowsマシンならば仮想PC環境(VMwa
LEGOブロックを使った街づくりでアジャイル開発の実践を学ぶ半日のコースを見学してみた。効果のほどは? 「新しい街を作るんだから、当然家も作ってもらえるものと思っていました……」「えっ!? 仕様に書いてありせんよね?」。 「動物園って、何があれば動物園ですか? 何を作ればいいですか?」「うーん、ゾウがあればいいです」「えっ? それだけですか?」 依頼側と依頼される側のすれ違い――。開発プロジェクトでビジネス側と開発側の行き違いを経験したことがある人であれば脇の下に嫌な汗をかきそうな会話が次々と飛び出す。 子どもの頃に誰もが遊んだであろうブロックを使って街づくりをする。そんな一風変わった題材で、アジャイル開発の方法論「スクラム」を、体験を通して学ぶというワークショップをのぞいてみた。
5月17日、カンファレンス運営に興味がある人のためのイベント「カンファレンスカンファレンス」が開催された。会場には、IT系コミュニティカンファレンスの主催者たち(Lightweight Language Matsuriの法林浩之氏、YAPC::Asia Tokyoの牧大輔氏、PHPカンファレンスの田中康一氏、東京Node学園祭のJxck氏、PyCon JPの清水川貴之氏)が勢ぞろい。そこで共有されたイベント運営のためのノウハウを、一問一答形式に再構成してレポートする。 カンファレンスを主催・運営する上での心構え ――何のためにそのカンファレンスを運営しているのか 情報・知識を提供する プログラミングの楽しさを伝える 参加者同士のコミュニケーションの場を提供する 自分が楽む 恩返し まず、カンファレンス主催者は、参加者の誰よりもカンファレンスが好きである。そもそも、カンファレンスが好きでなけ
「演算子のインジェクション」と「SSJI」:NoSQLを使うなら知っておきたいセキュリティの話(1)(1/2 ページ) ここ数年、大量データ処理時の高速性やデータ構造の柔軟性などから、「NoSQL」が注目を集めています。それと同時に、NoSQLを使うアプリケーションに対する攻撃手法も研究されるようになりました。この記事では、NoSQLを使ったアプリケーションの脆弱性と対策について解説します。 注目集める「NoSQL」 ここ数年、NoSQLと呼ばれる種類のデータベースが注目を集めています。NoSQLはSQL言語を使用しないデータベースの総称で、大量データ処理時の高速性やデータ構造の柔軟性などのメリットがあるため、従来のリレーショナルデータベース(RDB)を補完・代替するものとして、大規模なWebアプリケーションなどにおいてNoSQLを採用する事例が増えています。 このような新しい技術が普及し
知らないと現場で困るバージョン管理システムの基礎知識:DevOps時代の開発者のための構成管理入門(3)(1/3 ページ) 「DevOps」という言葉にもあるように、ソフトウェア構成管理は、インフラ運用に取り入れられるなど、変わりつつある時代だ。本連載では、そのトレンドにフォーカスして、現在のソフトウェア開発に有効な構成管理のノウハウをお伝えする。今回は構成管理に不可欠ともいえるバージョン管理について、ブランチ機能を中心に紹介。SubversionからGitへの移行事例も。 いまさら聞けない「バージョン管理」とは 第3回目となる今回では、構成管理において「過去のある時点の状態をどのように復元するか」を実現するために不可欠ともいえるバージョン管理とバージョン管理システムについて紹介します。 「集中管理方式」と「分散管理方式」 バージョン管理システムとは、ファイルに対して「誰が」「いつ」「何を
大規模システムの開発を加速、CAがDevOpsに新ソリューション:CA World 2013レポート 少ない予算で、より速くアプリ開発と提供のサイクルを回す――。モバイル端末やソーシャル・ネットワークの普及でB2C、B2Bのインタラクションが増す中、特に決済系などEコマースで利用されているメインフレームを含む基幹システムのアプリ開発のスピードアップが急務となっている。現在、6~12カ月かかっている開発サイクルを数週間、あるいは数日へと加速することは可能だろうか? 2013年4月21日から3日間、CA Technologies主催で米ラスベガスで開催された年次プライベートイベント、CA Worldでは「モバイル」「DevOps」「クラウド」「SaaS」をキーワードに新たに買収もしくは投入されたソリューションの紹介が行われたが、ここでは主にDevOps関連に焦点を当ててレポートをする。 メイン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く