
Spring Cloudで開発するマイクロサービスアプリケーション(MSA)
Dowon Lee
Spring FrameworkのSpring Cloudファミリーを利用してマイクロサービスアプリケーションを開発してみる過程です。Cloud Native ApplicationとしてのSpring Cloudをどのように使うか、構成をどのように行うかについて学べる講座です。
初級
Spring Cloud, MSA, Spring Boot
本講義は、クラウドネイティブアプリケーションを構成する4つの核心要素(MSA、CI/CD、DevOps、Container)の一つであるCI(Continuous Integration、継続的インテグレーション)とCD(Continuous Deployment、継続的デプロイメント)パイプラインについて扱う講義です。本講義を通じて、CI/CDツールであるJenkinsを利用してローカル環境とクラウド環境に自分だけの自動化パイプラインを構築し、デプロイするために必要なプロセスを理解し、実習することができます。
受講生 4,763名
難易度 初級
受講期間 無制限

学習した受講者のレビュー
5.0
이학준
本当のCI / CD講義だけでなく、個人的にはDocker + Kubernetesの最も基本的な知識も一緒に混ざっていてとても有益でした。 そして、現業で従事される方のマインドが見える講義なので、基礎ながらもすごく理解も上手く、助けもたくさん行いました。 講義をお悩みの方は無条件無条件無条件無条件無条件無条件無条件無条件無条件推薦します。
5.0
하보
こんにちは。本日オフラインでMSA現場講義を聞いた親企業に在職中の会社員です。最初は知りませんでしたが、声と名前を聞いたので、私が聞いた講義や講師様と同じくらい不思議でした。恥ずかしくて現場ではみことばができませんでした。良質の講義ありがとうございます。今後も良い講義をお願いします。
5.0
김재현
ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!ガドウォン!
Jenkinsを利用してアプリケーションのビルドとパッケージング、デプロイプロセスについて学習できます。
CI/CD自動化パイプラインを通じて、様々な環境にアプリケーションをデプロイすることができます。
DockerとKubernetes環境にアプリケーションをデプロイする過程と、Ansibleを利用してサーバーの構成情報を制御する方法について学習できます。
トレンドはクラウドネイティブ!☁️
CI/CD自動化パイプラインを構築してみましょう。.
📢 受講前にご確認ください!
開発を完了した成果物を本番サーバーにどのような方式でデプロイすべきでしょうか?
複数の環境に成果物をデプロイするには、デプロイ環境をどのように構成すればよいですか?
コンテナ仮想化環境でアプリケーションを構成するにはどうすればよいですか??
Kubernetes環境にアプリケーションをデプロイするにはどうすればよいですか??
継続的インテグレーション(CI)・継続的デプロイ(CD)を支援する自動化ツール、Jenkinsを利用して自動化パイプラインを直接構築することができます。
本講義は、CI/CD自動化ツールであるJenkinsを利用して、開発されたアプリケーションをビルドし、デプロイするために必要なプロセスについて理解し、自動化パイプラインを構築する過程です。講義で使用される20個の学習サンプルを通じて、受講生の皆さんは開発が完了したアプリケーションをビルド - テスト - デプロイするために必要な全過程について学習します。また、ローカルPCとクラウド環境に自分だけの自動化デプロイプロセスを直接構築することができます。
2010年代以降、ITシステムはResilient + Anti-Fragile + Cloud Nativeを核心キーワードとして発展してきました。DevOpsというIT文化が生まれ、クラウドネイティブアーキテクチャが導入され、システムはあらゆる環境でも柔軟性を持って対処できなければなりませんでした。アプリケーションを設計する際、マイクロサービスアーキテクチャ方式でドメインを分離して開発し始め、サービスは少なくとも数十個から多くて数百個以上に分割されることもありました。アプリケーションを構成する各サービスは個別に開発、ビルド、デプロイできる環境へと転換されました。DevOps環境では、サービスに対する改善および問題点を迅速に反映することが求められました。開発単位がより小さく構成され、デプロイもより頻繁に行われなければなりませんでした。
今や開発者や運用者が、1つのアプリケーションを構成する数十から数百のサービスを、いちいちビルドしてパッケージングし、デプロイする作業を手作業で処理できない規模になりました。システム自体の複雑性を除いても、アプリケーションを構成する各サービスをビルドしてデプロイする作業が1つの大きな業務になることもあり、作業負荷が深刻にかかる要素になってしまうこともあります。
今日、アプリケーションに対する継続的インテグレーション(CI)と継続的デプロイメント(CD)のための自動化パイプラインを構築することは、クラウドネイティブ環境でアプリケーションを開発するための必須不可欠な選択となりました。Gitからコードを取得し、ビルドを進め、テストケースを実行し、デプロイのためのパッケージを作成し、運用システムにデプロイする全過程が自動化プロセスによって進行されます。このような自動化プロセスは、より頻繁にビルドし、より頻繁にテストし、より頻繁にデプロイできる環境を提供することで、結果的にシステム品質の向上をもたらすことができます。
前回の「Spring Bootを利用したRESTful WEB Services開発」と「Spring Cloudで開発するマイクロサービスアプリケーション(MSA)」の2つの講義を通じてWebアプリケーションとクラウドネイティブアプリケーションを開発できるガイドを提供したとすれば、今回の講義ではSpring Framework + Spring Bootで開発されたWebアプリケーションをローカル環境やクラウド環境にデプロイするために必要な自動化パイプラインを構築する過程を体験します。
本講座を通じて受講生の皆さんは、CI/CDに対する理解を基に開発されたアプリケーションを本番環境にデプロイするための自動化パイプラインを構築し、自分だけのデプロイプロセスを構築することができます。
一緒に見ると良い講義 📖
Webアプリケーションを
開発したことが
ある方
自分だけのCI/CD
自動化パイプラインを
構築したい方
本番サーバーに
アプリケーションを
コンテナ仮想化環境に
デプロイしたい方
CI/CD自動化
パイプラインを通じて
クラウド環境に
アプリケーションを
デプロイしたい方
💡 CI/CD自動化パイプライン構築に必要な基本的な内容を学習し、実習コードを通じて直接デプロイプロセスを構築することができます。受講生の皆さんは、ご自身が使用する環境に合わせてローカル環境でのデプロイとクラウド環境でのデプロイの両方を実習することができます。デプロイしたい運用環境にすぐ適用してテストできる25個あまりの実習例題を通じて、自分だけのデプロイ環境を構築することができます。*Windows、macOS(Intel Chip/Apple Silicon Chip)環境対応
Section 1 - DevOpsとCI/CD
Section 2 - Jenkinsを利用したCI/CDの学習
Section 3 - Jenkins + Infrastructure as Code
Section 4 - Jenkins + Ansible + Kubernetes 連携
Section 5 - Advanced Jenkins 使用 ① - Pipeline
Section 6: Advanced Jenkins 使用 ② - SonarQube, Multi nodes
Section 7: 商用クラウド環境へのデプロイ
Section 8: 実習環境のための必須SW
💾 学習関連の参考事項
Q. 講義を受講するために必要な前提科目や知識にはどのようなものがありますか?
講義ではプログラミング的な部分についての説明はほとんど行いません。開発されたアプリケーションをローカル環境やクラウド環境にデプロイするために必要なプロセスと方法について基礎から学習します。加えて、Gitのような構成管理サービスの用途、Webアプリケーションに対する理解、仮想化サービスに対する理解をお持ちであれば、講義内容を理解するのに役立つと思います。
Q. 講義で使用される環境はどのようになっていますか?
本講義では、自分が開発したアプリケーションまたは講義で提供されるWebアプリケーションをデプロイするために、ローカル環境を使用しています。ローカル環境にインストールされたDocker Desktopを利用して、デプロイ自動化に必要なSWやシステム(Tomcat、SSHサーバー、Kubernetesなど)を構成しており、デプロイパイプラインを構築できるように例題を提供しています。さらに、講義後半では、ローカル環境に構築した内容をクラウド環境に構築して実習する部分も扱っています。本講義の実習はmacOS環境で進行していますが、Windowsユーザーのためのコマンドおよびスクリプトも一緒に提供しています。
Q. CI/CDの自動化デプロイに関する内容はどのレベルまで扱っていますか?
本講義は、継続的インテグレーション(CI)と継続的デプロイメント(CD)という概念を初めて接する方から、CI/CDパイプラインを通じてアプリケーションを運用サーバーにデプロイしようとする開発者まで実習できる20余りの実習コードを提供しています。講義で学習した内容をもとに、基本的なWebアプリケーションとマイクロサービスアプリケーションをデプロイするためのCI/CDパイプラインを構築することができます。Kubernetes Clusterを利用したJenkinsの使用や継続的なモニタリング、継続的なスケジューリングのための作業は「CI/CD自動化デプロイ上級コース(仮題)」を通じて準備中です。
今6,000名以上が受講している
MSA開発のノウハウが気になる方は?
平均評価4.8★累積受講レビュー500+
学習対象は
誰でしょう?
CI/CDを利用してアプリケーションをデプロイしたい人
Spring BootアプリケーションをDockerとKubernetesにデプロイするために自動化ビルド環境を構築しようとする人
IaCを利用してアプリケーションが運用されるサーバーの構成情報を管理しようとする人
CI/CD自動化デプロイツールとしてJenkinsを使用しようとする人
前提知識、
必要でしょうか?
アプリケーションのビルドとデプロイに関する理解
コンテナ仮想化技術に関する概念
Webアプリケーションに対する理解
30,364
受講生
1,691
受講レビュー
1,373
回答
4.8
講座評価
8
講座
私はITエンジニアです。いつか職業欄に「会社員?」「開発者?」「講師?」どの言葉を選ぶべきか悩んだ時期がありました。そんな中、ITエンジニアという表現が自分にしっくりくる職業名だと思い、今でも職業欄には「ITエンジニア」と書いています。
職業とは自分の仕事を表すものであり、仕事とは楽しくて、誰かの役に立つものであってほしいと考えています。誰もが望み通りに仕事をしながら生きていけるわけではありませんが、私は今自分がしているこの仕事が好きで、もっと上手くなりたいと思っている人間です。開発者として、講師として、コンサルタントとしての役割を果たしながら、次々と新しく登場し変化するIT新技術を追いかけるのに精一杯ではありますが、それでも他の誰よりも少しでも早く触れ、広め、活用したいと願う一人です。
最近関心を持っている分野はオンライン教育コンサルティングです。そして、興味のある技術は Cloud Native Architecture、Blockchain、Machine Learning、Kafka、Kubernetes などです。これらの技術は実際に講義も行っていますし、実務に適用して使用もしています。しかし、あまりにも膨大なテーマであるため、今でも継続して勉強しています。
頭の中にあるだけでは、真の知識とは言えません。私は自分が持つ知識と経験を、さまざまな方法を通じて共有しようと考えています。そして、新しい分野や新しい技術に挑戦し続けるITエンジニアであり続けます。
現) エンジェイワンカンパニー代表
現) 東国大学校 国際情報大学院 情報保護学科 客員教授
前) JP Morgan Chase AMJ Tech consultant (日本)
前) サムスンSDS CMS事業本部 責任エンジニア
全体
85件 ∙ (15時間 29分)
講座資料(こうぎしりょう):
全体
232件
4.7
232件の受講レビュー
受講レビュー 51
∙
平均評価 5.0
5
長く待ちました。 今回の講義も気軽に見てWebFlux講義まで呼吸します!
こんにちは、WebFlux講義の準備中です。今年中にオープンできるよう、お早めに仕上げさせていただきます。
受講レビュー 4
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
受講レビュー 4
∙
平均評価 4.8
4
ドッカーとCI/CDを学習するのに本当に良い講義だと思います。 おすすめですが残念な部分が多かったです。 1. 間違って言われるのがよくある。 8080ポートを8088に変えて話す 2. 環境設定セクションも別にあり講義もあるということについての説明がなくて混同を与える。 3. 講義と環境設定 講義があまりに別にあるので、行き来するというのが不便だ。 あらかじめ設定しておけばいいのではないかと思うかもしれませんが、設定してみたらコンテナを使わないとメモリを無駄にして速度だけ落ちるので非効率的でした。 4. コースの半分程度が環境設定がすぐにならず、進度が遅れる トラブルシューティングももちろん良いと思いますが、基本講義のせいで早く学習し、本人が実習しながらトラブルシューティングするのが効率的ではないかと思います。 5.コミュニティに答えをほとんどしないでください。 練習する上で多くの人がエラーを経験していますが、単純な質問にだけ答えをつけてくれるようですね。 川の価格は決して安い方ではありません。 コースは本当に良いですが、全体的に現行化が必要だと思います。
こんにちは、離島院です。フィードバックいただいた内容はレッスンの更新時にぜひ!反映させていただきます。講義の性質上、コンテナの実行 VM の実行には多くのリソースが必要な場合や、複数の Host PC が必要な場合が多い。したがって、可能であれば、受講生の方が実習環境に対する負担や困難を軽減しようとするDind方式や、別途のVM設定関連講義を準備しました。レッスンで使用されているすべてのスクリプトとサンプルコードは、Windows10、Windows 11、MacOS Inter chip(2018)、MacOS M1 chip(2022)バージョンでテストされていますが、いくつかの受講生は実行に困難があることを知っています。今後、このようなインフラ関連講義には、もう少し多様な環境でのテストを提供したり、インフラ講義以外のプログラミング講義に専念(?)しなければならないという考えをしたりもしました。 ^^;コミュニティーアップという質問にもすぐに確認できず、回答できなかったことも申し訳ありません。昨年からAIの回答が追加されており、すぐに通知を確認できなかった点やプロジェクトに押されて回答をすぐにできなかったことも事実です。それでも、受講してくださる方には個人的な状況がありますので、すぐに応対に差し上げるよう努力いたします。ありがとうございました。
受講レビュー 2
∙
平均評価 5.0
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!
期間限定セール、あと6日日で終了
¥67,760
23%
¥11,260