スキルアップ記事

レバテックキャリアでは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秒で無料登録!

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

  • 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業界、または希望職種が未経験の方
一都三県・大阪・兵庫・京都・福岡以外の勤務地、また在宅での作業を希望される方

関連記事

人気記事

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

関西求人特集 みんなの年収UP公開中

九州求人特集 福岡での転職をサポートします!

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

プライバシーマーク

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