강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Back-end

Spring Cloudで開発するマイクロサービスアプリケーション(MSA)

Spring FrameworkのSpring Cloudファミリーを利用してマイクロサービスアプリケーションを開発してみる過程です。Cloud Native ApplicationとしてのSpring Cloudをどのように使うか、構成をどのように行うかについて学べる講座です。

  • Dowon Lee
msa
Spring Cloud
MSA
Spring Boot
Kafka
Architecture

学習した受講者のレビュー

こんなことが学べます

  • Spring Cloud

  • Spring Boot

  • クラウドネイティブアプリケーション

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

  • MSA アプリケーション

  • スプリング ブート

  • スプリング クラウド

  • マイクロサービス

クラウドネイティブアーキテクチャを構築し、
マイクロサービスアプリの開発に挑戦! 🚧

イ・ドウォン、Dowon Lee - Spring Cloud MSA (Microservice Architecture)

ITシステムには毎年数多くの技術が生まれ、消えています。新しく発売された概念や、技術、方法論が数多くのリファレンスを経て安定化されたシステムとして位置づけるまでには長い時間が必要です。

1960~1980年代

  • 1960~1980年代はハードウェアが中心となったメインフレーム時期でした。ソフトウェアではなくハードウェアの仕様とか性格に合わせてサービスを構築していた時期であり、ハードウェアやシステム自体がかなりの高価であったため、サービスの機能を修正または変更することはかなり困難でした。 Fragileと呼ばれるこの時期に一度構築されたシステムを変更するのは簡単な作業ではなく、多くの費用と時間が必要でした。

1990~2000年代

  • 1990~2000年代は分散というキーワードが核心だった時期でした。この時期をRobust、Distributedといいます。システムの安定化/分散化のおかげで、サービスにある程度不確実性や変化が発生しても、安定性とパフォーマンスを維持できるシステムを構築することができました。

2010年以降~現在

  • 2010年以降は、Resilient(弾力性)、Fragileとは反対の概念であるAnti-Fragile、そしてCloud Nativeでシステムが構築される時期です。仮想化技術が導入され、企業のIT環境とシステムがクラウドに移行し、スケーラビリティと信頼性がさらに強化されました。顧客からの継続的な改善と変更が生じても、システムは迅速に処理され弾力的に運用できるように構築されています。

現在、

Cloud(クラウド)テクノロジは、 IT環境に不可欠であると考えられています。これらのクラウド環境でITシステムを構築することをCloud Native Architecture(クラウドネイティブアーキテクチャ)と見なすことができ、Cloud環境で起動されるアプリケーションをCloud Native Application(クラウドネイティブアプリケーション)と呼ぶことができます。


クラウド環境に合う
ITシステムの構築が必要な理由。

Linux傘下の団体であるCNCF(Cloud Native Computing Foundation)は、Cloud Native Applicationの主なコンポーネントとして次の4つを挙げています。

• CI/CD • DevOps • Microservices • Containers

このうち、Cloud Native Application のコアであり、ビジネスドメインのサービスロジックを実装するのが Microservice です。 Microservice Architectureとは、単一のシステム環境で、Front-end、Back-end、Databaseなどのすべてのコンポーネントを含む、展開するモノリシック方式とスケーリングされた開発方式で、アプリケーションが構成する分かれた境界によってサービスを分離して開発および運営するためのArchitectureのことです。 Microservice Architectureに基づいて開発されたアプリケーションには、Java(Java)とSpring Framework、Spring Cloudというテクノロジを使用できます。

Spring Cloudは、分散システム構成とアプリケーションを開発するために必要な開発環境とサービス、および開発や構成に関連するパターンを提供することによって、Cloud Native Architecture用のMicroserviceアプリケーションを迅速に開発できるようにする開発ツールであり、開発プラットフォームです。

Microserviceアプリケーションのための構成管理、サービス検索、サーキットブレーカ、インテリジェントルーティング、マイクロプロキシ、制御バス、ワンタイムトークン、グローバルロック、リーダーシップ選択、分散などの技術を簡単に使用できる基本的なボイラープレートパターンを提供し、開発されたアプリケーションとサービスは、開発者のローカル環境のノートブック、ベアメタルデータセンター、Cloud Foundryなどの管理プラットフォームを維持します。


この講義の目標

私たちの最終目標は?

Spring Boot + Spring Cloudを使用して
マイクロサービスアーキテクチャで設計されたアプリ
設計し、開発することです。

今回の講義では、Spring Cloudの製品(サブプロジェクト)でMicroserviceアプリケーションを開発し、運用環境を構築する方法について学習する過程です。 Microservice Architectureを構成するGateway、Service Mesh、Runtimeを構成する方法や、運用のためにビルドしてデプロイする過程についても学習する予定です。

本講義を受講された方は、基本的なMicroservice Architectureの理解とJavaの統合開発環境であるIntelliJを利用してSpring Boot、Spring Cloudアプリケーションを開発することができ、ローカル環境とコンテナ仮想化にデプロイして運営する方法について実習できます。

講義で使用されている練習の例は、以下で確認できます。


学習コース

REST APIを設計し、アプリケーションを実装するまで。
マイクロサービスアーキテクチャの設計と構築のコアガイド。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Spring Cloud製品群を利用してマイクロサービスアプリケーションを開発したい人

  • Cloud Native ArchitectureとApplicationについて理解し、アプリケーションを構築したい開発者

前提知識、
必要でしょうか?

  • Java

  • Spring Framework

こんにちは
です。

29,298

受講生

1,560

受講レビュー

1,352

回答

4.8

講座評価

8

講座

저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.

직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다. 

최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.

머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.  

 

 

  • ) 엔제이원컴퍼니 대표 

  • ) 동국대학교 국제정보대학원 정보보호학과 대우교수

  • ) JP Morgan Chase AMJ Tech consultant (일본)

  • ) 삼성 SDS CMS 사업본부 책임 엔지니어

 

 

カリキュラム

全体

177件 ∙ (34時間 10分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

437件

4.9

437件の受講レビュー

  • Cho님의 프로필 이미지
    Cho

    受講レビュー 28

    平均評価 5.0

    5

    39% 受講後に作成

    강사님 좋은 강의를 만들어 주셔서 감사합니다. 이 강의를 듣기 전까지 클라우드, 마이크로 서비스 등등 관련 책도 보고 얘기는 수도없이 많이 들었고, 만들어도 보았지만, 단편적인 지식들이 머릿속에서 뒤죽박죽이었답니다. 이 강의를 들을수록 머릿속이 깔끔하게 정리되는 느낌입니다. 아직 30%밖에 못들었지만, 계속 다음이 궁금해져 새벽까지 듣곤 합니다. 강의 구성은 챕터별로 왜? 어떻게? 무엇을 해야할지 처음에 명확하게 설명을 해 주신후 실제 코드로 구현해 주십니다. 필요한 엑기스만 뽑아서 해 주시고, 동영상 길이도 적당합니다. 구현 후에도 의도적으로 조금씩 수정을 해 주시면서 중요한 부분을 반복할 수 있도록 유도 해 주시네요. 아직 30% 밖에 못 들었지만 이 강의 후속으로 처음에 강사님이 그리셨던 그림대로 CI/CD, Cluster(쿠버네티스), 모니터링까지 준비해 주시길 간곡히 부탁드립니다. 감사합니다.

    • 장원익님의 프로필 이미지
      장원익

      受講レビュー 1

      平均評価 5.0

      5

      79% 受講後に作成

      지금껏 fastcampus, inflearn 등 여러 강의 플랫폼에서 많은 강의를 들었는데, 가장 최고의 강의입니다.. 들으면서 놀랍기까지 한 강의네요. 강사님의 딕션과 설명의 흐름 그리고 큰 그림.. MSA를 떠나 완벽합니다.

      • thghu님의 프로필 이미지
        thghu

        受講レビュー 1

        平均評価 5.0

        5

        28% 受講後に作成

        강의 퀄리티가 정말 높다고 생각합니다. 수주일 동안 인터넷에서 어렵게 모았던 자료들보다 실속있고 디테일한 정보들이 많았고, 설명을 잘 해주셔서 쉽게 적용해볼 수 있었어요. API gateway 관련 내용이 필요해 보고 있지만 나머지 강의들도 기대되고 마저 들어야겠네요.

        • 제이티시님의 프로필 이미지
          제이티시

          受講レビュー 1

          平均評価 5.0

          5

          51% 受講後に作成

          정말 찬사를 보내고 싶은 명강의입니다. 저는 신입 개발자로 사수없이 혼자서 MSA 구축하라는 업무지시 받고나서, 진짜 단순하고 작은 문제 하나에서도 2-3일씩 헤매느라 진도가 매우 느렸습니다. 그런데 이 강의 하나로, 제가 고민하던 문제 30개, 50개 이상을 단번에 치고 나갈 수 있었습니다. 강사님께 정말 감사의 말씀을 드리고 싶네요. 제 입장에선 100만원 이상의 값어치를 했습니다.

          • Goboo님의 프로필 이미지
            Goboo

            受講レビュー 3

            平均評価 5.0

            5

            100% 受講後に作成

            스프링과 도커 컨테이너 기반 마이크로 서비스에 대한 전반적인 내용을 체험 할 수 있게 해주는 알찬 강의 입니다. 시중에 판매 되고 있는 스프링 마이크로 서비스 관련 책들을 보는것보다 훨씬 더 유익한 강의 라고 생각 됩니다. AWS , GCP, AZURE 와 같은 클라우드에 private docker repository 구축 및 사용과 쿠버네티스 강의도 있었으면 하는 바램 입니다. 좋은 강의 만들어 주셔서 감사합니다.

            ¥10,375

            Dowon Leeの他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!