スキルアップ記事
レバテックキャリアではIT・Web業界のエンジニア、デザイナーのスキルアップに役立つコンテンツをお届けいたします。
転職に役立つノウハウから、日々のスキルアップや業務で使える記事等幅広く掲載していきます。
レバテックキャリアではIT・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
http://kimitok.hateblo.jp/entry/2014/11/09/211820
「Microservices」を日本語訳した記事です。
オリジナル記事は共同執筆者であるMartin Fowler氏のブログに掲載されています。
マイクロサービスを深く理解するためにも、その基本となる「Microservices」は必ず読んでおきましょう。
参照:Microservices
http://martinfowler.com/articles/microservices.html
http://2012.33degree.org/talk/show/67
「Microservices」より前に発表された、James Lewis氏による資料です。
PDF資料を無償でダウンロードできます。
こちらは日本語訳されていないので、英語版のみとなっています。
もし英語でも問題ないという方であれば、一読の価値はあると思います。
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
モノリシックなシステムをマイクロサービスへ移行するにあたり、不向きなシステムもあるとされています。
本記事ではそういったアンチパターンについて紹介していますので、一度は目を通しておくとよいでしょう。
マイクロサービスの定義と実際に運用した所感をまとめたスライドです。
「Microservices」に掲載されている9つの定義をひとつひとつ端的に解説しています。
MSA(Microservice Architecture)の概要、デザイン、実例を紹介しているスライドです。
最後にJavaのフレームワーク「Spring」についても触れています。
上記スライドと同じ方が作成しています。
こちらのスライドでは「アーキテクチャの変遷 」「サービス管理のトレンド」「MSA」「プラットフォームの視点」について紹介しています。
Javaフレームワーク「Spring」で簡単にアプリケーションが作れる「Spring Boot」とマイクロサービスアーキテクチャをテーマにしたスライドです。
「Spring Boot」とマイクロサービスアーキテクチャを学んだ上で、以下の3つの演習を行います。
・Spring BootURL短縮サービスを作る
・Spring Cloud Configで動的コンフィギュレーション
・Spring Cloud Netflixでマイクロサービスアーキテクチャ構築
マイクロサービス関連の日本語資料や記事はまだ少ないですが、普及に伴ってこれから増えていくことでしょう。
今回は日本語記事を中心に紹介しましたので、マイクロサービスを学びたい方はぜひ読んでみてください。
まだマイクロサービスをよく知らないという方は多いと思うので、今のうちに学んで差をつけておきましょう。
レバテックキャリアはIT・Webに特化した
転職エージェントです
年間3000回以上の企業訪問を行い、企業と技術に精通した
コーディネーターがあなたに最適な求人をご提案します
このようなお悩みがあれば、ぜひ私たちにご相談ください
1402022(01)
レバレジーズ株式会社は、
職業紹介優良事業者として認定されています。
現場に詳しいアドバイザーが
無料でサポートします
\ 簡単30秒 / 無料サポート登録