スキルアップ記事

レバテックキャリアではIT・Web業界のエンジニア、デザイナーのスキルアップに役立つコンテンツをお届けいたします。
転職に役立つノウハウから、日々のスキルアップや業務で使える記事等幅広く掲載していきます。

転職支援サービスをご希望の方はこちら

Amazonやクックパッドが採用するマイクロサービスとはWeb企業を中心に流行している開発手法・マイクロサービスの基礎を学べる資料まとめ

マイクロサービスは、海外ではAmazonやNetFlix、日本ではクックパッドやLINEといった大規模なサービスで採用されていて、Web企業を中心に世界的な広がりを見せています。
しかしながら「マイクロサービスという言葉は聞いたことあるけれど、具体的な説明はできない……」というエンジニアは案外多いのではないでしょうか。
そこで今回は、マイクロサービスに関する基礎知識や過去の事例を紹介した記事・スライドをまとめました。
エンジニアの方はぜひ目を通してください。

  • このエントリーをはてなブックマークに追加

マイクロサービスとは?

マイクロサービスはソフトウェアアーキテクチャのスタイルのひとつで、簡単に言えば複数のサービスを連携させてひとつのアプリケーションを構築する開発手法のことです。

モノリシック(一枚岩)なアーキテクチャを複数に分割して、システムの複雑さを解消することが目的です。
それによって、各サービスを独立させることが可能となり「ソフトウェアの変更がしやすくなる」「開発のスピードが高まる」「柔軟な構築・運用ができる」といったメリットが享受できるとされています。

マイクロサービス(Microservice)という言葉は、アメリカのソフトウェア開発会社・ThoughtWorks社のJames Lewis(ジェームス・ルイス)氏が2012年3月に発表した「Micro services - Java, the Unix Way」が初出とされています。
それから約2年後、2014年5月にJames Lewis氏がMartin Fowler(マーチン・ファウラー)氏との共同執筆で発表した「Microservices」により広く普及しました。

マイクロサービスはAmazon、eBay、Spotify、NetFlixといった大規模サービスで採用されています。
クックパッド、LINE、Gunosyといった企業にも導入されており、日本でも広がりつつあります。

参照:http://www.nttdata.com/jp/ja/insights/trend_keyword/2015072301.html

マイクロサービスの基礎を学べる資料・記事

James Lewis/Martin Fowlerの"Microservices"日本語訳 / 自由課題

http://kimitok.hateblo.jp/entry/2014/11/09/211820    

「Microservices」を日本語訳した記事です。
オリジナル記事は共同執筆者であるMartin Fowler氏のブログに掲載されています。
マイクロサービスを深く理解するためにも、その基本となる「Microservices」は必ず読んでおきましょう。

参照:Microservices 
http://martinfowler.com/articles/microservices.html

Micro services - Java, the Unix Way

http://2012.33degree.org/talk/show/67

「Microservices」より前に発表された、James Lewis氏による資料です。
PDF資料を無償でダウンロードできます。
こちらは日本語訳されていないので、英語版のみとなっています。
もし英語でも問題ないという方であれば、一読の価値はあると思います。

Microservicesを読んだ / SOTA

http://deeeet.com/writing/2014/09/10/microservices/

「Microservices」の概要、特徴をまとめた記事です。
よくまとまっているので、オリジナルの「Microservices」の後に読むと頭の中でポイントが整理できます。

クックパッドとマイクロサービス / クックパッド開発者ブログ

http://techlife.cookpad.com/entry/2014/09/08/093000

レシピサイト「クックパッド」がマイクロサービスを選択した理由、どのようにマイクロサービス化を行ったのかを詳しく解説しています。
「クックパッド」では新規アプリケーションを作成する際、独立チームが独立したサービスとして開発を行い、最終的に各サービスと連携させるという開発手法を取り入れているそうです。
これはまさにマイクロサービスの概念であり、本記事を読むと「クックパッド」という巨大サイトがマイクロサービスを取り入れた理由がよくわかります。

「マイクロサービス」のメリットをざっくり言うと「変化に対応しやすい」こと──ただしファウラー氏は“使い過ぎ”を警告 / さくらのナレッジ

http://knowledge.sakura.ad.jp/tech/3377/

マイクロサービスの簡単な解説、SOAとマイクロサービスの違いを解説している記事です。

記事の最後に、マイクロサービスを広めたMartin Fowler氏の解説記事「MicroservicePremium」を紹介しています。
Fowler氏は、マイクロサービスはシステムが複雑化してから導入すべきであって、小さなサービスで最初から導入すべきではないという考えを示し、安易なマイクロサービスの適用を警告しています。

本記事では全文を紹介しているわけではないので、興味がある方はオリジナル記事を読んでみてください。

参照:MicroservicePremium
http://martinfowler.com/bliki/MicroservicePremium.html

マイクロサービスアーキテクチャ

http://www.amazon.co.jp/gp/product/4873117607/

O'Reilly(オライリー)から出版された「Building Microservices」の日本語版です。
マイクロサービスの定義と概念、長所と短所、設計思想、アーキテクトの役割などを詳しく解説しています。

ドメイン駆動設計でマイクロサービス開発

https://www.infoq.com/jp/news/2016/03/ddd-microservices

マイクロサービスを設計する上で必要となるドメイン駆動設計について触れた記事です。
他の記事と併せてチェックしてみてください。

マイクロサービスのアンチパターン

https://www.infoq.com/jp/news/2016/04/microservices-anti-patterns

モノリシックなシステムをマイクロサービスへ移行するにあたり、不向きなシステムもあるとされています。
本記事ではそういったアンチパターンについて紹介していますので、一度は目を通しておくとよいでしょう。

マイクロサービスの基礎を学べるスライド

マイクロサービス運用の所感 #m3dev

マイクロサービスの定義と実際に運用した所感をまとめたスライドです。
「Microservices」に掲載されている9つの定義をひとつひとつ端的に解説しています。

マイクロサービスアーキテクチャの設計 - JUG2015

MSA(Microservice Architecture)の概要、デザイン、実例を紹介しているスライドです。
最後にJavaのフレームワーク「Spring」についても触れています。

マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に

上記スライドと同じ方が作成しています。
こちらのスライドでは「アーキテクチャの変遷 」「サービス管理のトレンド」「MSA」「プラットフォームの視点」について紹介しています。

Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! 

Javaフレームワーク「Spring」で簡単にアプリケーションが作れる「Spring Boot」とマイクロサービスアーキテクチャをテーマにしたスライドです。
「Spring Boot」とマイクロサービスアーキテクチャを学んだ上で、以下の3つの演習を行います。

・Spring BootURL短縮サービスを作る
・Spring Cloud Configで動的コンフィギュレーション
・Spring Cloud Netflixでマイクロサービスアーキテクチャ構築

まとめ

マイクロサービス関連の日本語資料や記事はまだ少ないですが、普及に伴ってこれから増えていくことでしょう。
今回は日本語記事を中心に紹介しましたので、マイクロサービスを学びたい方はぜひ読んでみてください。
まだマイクロサービスをよく知らないという方は多いと思うので、今のうちに学んで差をつけておきましょう。

ITエンジニア・Webクリエイターの転職ならレバテックキャリア

レバテックキャリアはIT・Web業界のエンジニア・クリエイターを専門とする転職エージェントです。最新の技術情報や業界動向に精通したキャリアアドバイザーが、年収・技術志向・今後のキャリアパス・ワークライフバランスなど、一人ひとりの希望に寄り添いながら転職活動をサポートします。一般公開されていない大手企業や優良企業の非公開求人も多数保有していますので、まずは一度カウンセリングにお越しください。

転職支援サービスに申し込む

また、「初めての転職で、何から始めていいかわからない」「まだ転職するかどうか迷っている」など、転職活動に何らかの不安を抱えている方には、無料の個別相談会も実施しています。キャリアアドバイザーが一対一で、これからのあなたのキャリアを一緒に考えます。お気軽にご相談ください。

「個別相談会」に申し込む

技術の話ができる転職エージェント。30秒で無料登録!

  • このエントリーをはてなブックマークに追加

無料"個別相談会"実施中-平日の夜、土曜も実施しています!-

転職・求人・採用情報を探す

プライバシーマーク

レバテック株式会社は、
「プライバシーマーク」
使用許諾事業者として
認定されています。