新型コロナウィルスの感染拡大防止にあたりご確認ください

新型コロナウィルスの感染拡大防止の為、一定期間はお電話でのカウンセリングをご案内させていただきます。

みなさまの安全に配慮し、発熱や風邪の症状がある、海外渡航歴がある場合にも、電話カウンセリングをお願いしております。それ以外の方でも、交通機関での移動にご不安を感じられる方は同様に電話カウンセリングも可能でございます。一人一人に合った支援をさせていただきますので、ご希望がございましたら登録後カウンセリングに進む際にお申し付けください。

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

Webサイト「Micro services - Java, the Unix Way」の画像

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

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

Microservicesを読んだ / SOTA

Webサイト「SOTA」。Microservicesを読んだの画像

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

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

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

ブログ「クックパッド開発者ブログ」。クックパッドとマイクロサービスの画像

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

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

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

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

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」の日本語版です。
マイクロサービスの定義と概念、長所と短所、設計思想、アーキテクトの役割などを詳しく解説しています。

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

Webサイト「Info Q」。ドメイン駆動設計でマイクロサービス開発の画像

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

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

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

Webサイト「Info Q」。マイクロサービスのアンチパターンの画像

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

まとめ

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

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

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

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

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

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

関連する記事

人気の記事

スキルアップ記事トップへ

無料サポート登録簡単30秒

【厚生労働省】職業紹介事業許可番号(13-ユ-308734)

  • STEP1
  • STEP2
  • STEP3
  • 次のstepで入力すると返事が来る!
  • プロフィール入力すると返事が来る!
  • ご希望の条件を選択してください

    ご希望の勤務形態

    必須

    ご希望の勤務地

    任意

  • プロフィールをご入力ください!必須入力項目はこのページで終わりです。

    氏名

    必須

    氏名かな

    必須

    生年月日

    必須

    電話番号

    必須

    メールアドレス

    必須

  • スキルシート・ポートフォリオをお持ちの方はアップロードしてください

    スキルシート

    任意

    提出しておくことで
    迅速なご紹介が可能に!

    職務経歴書

    ドラッグアンドドロップ or ファイルを選択 選択されていません

    履歴書

    ドラッグアンドドロップ or ファイルを選択 選択されていません

    スキルシートを確認しています...

    スキルシートを確認しています...

    ※ファイルは5MB以下で対応するファイル形式 ? でアップロードしてください
    Microsoft Office .xls .xlsx .doc .docx .ppt .pptx
    KINGSOFT Office .xls .xlsx .doc .docx .ppt
    iWork .numbers .pages .key
    LibreOffice .ods .odt .odp
    OpenOffice .ods .odt .odp
    その他 .pdf

    ポートフォリオURL

    任意

    ?

    ポートフォリオとは主にクリエイターの方が自己PRのために過去の作品や制作実績をまとめた作品集の事です。

    ポートフォリオをWeb上で公開されている方はそのURLを、データでお持ちの方は作品データをアップしたURLを入力してください。

    ※データをアップされる場合は、保存期間や容量制限の少ないGoogleドライブを推奨しています。

    その他ご要望

    任意

  • 下記の内容をご確認いただき問題ないようでしたら、送信してください

    プロフィール入力すると返事が来る!

    • ご希望の勤務形態 必須

    • ご希望の勤務地 任意

      第一希望:
      第二希望:

    • 氏名 必須

    • 氏名かな 必須

    • 生年月日 必須

    • 電話番号 必須

    • メールアドレス 必須

    • 職務経歴書 任意

    • 履歴書 任意

    • ポートフォリオURL 任意

    • その他ご要望 任意

    個人情報の取り扱い 」と「 利用規約 」に同意の上、 『同意して登録する』 ボタンをクリックして下さい。

プライバシーマーク

レバテック株式会社は「プライバシーマーク」使用許諾事業者として認定されています。
個人情報の秘密は厳守します。ご入力いただいた情報は許可を頂くまで求人企業に公開することはありませんので、ご安心ください。

申し込みに関するご注意
以下の方は弊社の事業基盤、求人動向から、ご提案のご連絡までお時間をいただく可能性があります。ご了承ください。
IT業界、または希望職種が未経験の方
レバテックキャリア対象エリア以外での勤務地、また在宅での作業を希望される方