プリンキピア

第12章クラウドネイティブアプリケーション開発

Problem Set B問題集B

Exercises 1–5練習問題 1–5
1. Convert a monolithic application of your choice to microservices.
1. モノリシックなアプリケーションを1つ選び、マイクロサービスへ変換しなさい。
2. Demonstrate practically how Chaos Monkey (https://openstax.org/r/76chaosmonk) is used to test a cloud-native application of your choice. Follow the Chaos Monkey setup tutorial (https://openstax.org/r/ 76chaosmtut) and refer to the Chaos Monkey documentation (https://openstax.org/r/76chaosmdoc) to solve this question.
2. Chaos Monkey(https://openstax.org/r/76chaosmonk)を使い、自分で選んだクラウドネイティブアプリケーションをテストする方法を、実際に示しなさい。この問題を解くには、Chaos Monkeyの設定チュートリアル(https://openstax.org/r/ 76chaosmtut)に従い、Chaos Monkeyの文書(https://openstax.org/r/76chaosmdoc)を参照しなさい。
3. Explain how IaC is used in a practical cloud-native application development context.
3. 実際のクラウドネイティブアプリケーションの開発で、IaCをどう使うか説明しなさい。
4. Deploy a simple cloud-native application using VMWare Tanzu. Document your steps and compare them to the steps you took earlier to deploy a simple application using PaaS without VMWare Tanzu in an earlier question.
4. VMWare Tanzuを使い、単純なクラウドネイティブアプリケーションを配備しなさい。手順を記録し、以前の問題で、VMWare Tanzuを使わずにPaaSで単純なアプリケーションを配備した手順と比較しなさい。
5. Obtain the code of the back-end implementation (in Python) of this RESTful microservice (https://openstax.org/r/76RESTmicro) for an order resource. Deploy this cloud-native application on a public cloud of your choice (i.e., either AWS, GCP, IBM Cloud, or Microsoft Azure).
5. 注文の資源を扱うRESTfulマイクロサービス(https://openstax.org/r/76RESTmicro)の、Pythonによるバックエンド実装のコードを入手しなさい。このクラウドネイティブアプリケーションを、AWS、GCP、IBM Cloud、Microsoft Azureのいずれか、自分で選んだパブリッククラウドへ配備しなさい。
Exercises 6–7練習問題 6–7
6. Follow this IBM tutorial to gain an understanding of how Kubernetes clusters work (https://openstax.org/ r/76kubclust) by debugging and logging applications deployed in Kubernetes.
6. IBMのチュートリアルに従い、Kubernetesへ配備したアプリケーションのデバッグとログ記録を通して、Kubernetesクラスターの動作を理解しなさい(https://openstax.org/ r/76kubclust)。
7. Microservices often utilize message streaming and brokers to share data in real time across the system. Research and explain the basic operations of such tools and how they can be used in microservices applications.
7. マイクロサービスは、システム全体でリアルタイムにデータを共有するために、メッセージストリーミングやブローカーをよく使う。そのようなツールの基本的な動作と、マイクロサービスのアプリケーションでの使い方を調べ、説明しなさい。

Thought Provokers考えてみよう

Exercises 1–2練習問題 1–2
1. Consider our start-up company that is 100% committed to leveraging innovative technologies as a business growth facilitator. Describe how it can best take advantage of cloud-native application development to create products or services that can generate business. Give precise examples and explain how the start-up would be able to ensure the scalability of the resulting business (i.e., keep sustaining the cost of doing business while increasing its number of customers).
1. 革新的な技術を事業成長の促進手段として活用することに、全面的に取り組む私たちの新興企業を考えよう。クラウドネイティブアプリケーションの開発を最も効果的に生かし、商機を生む製品やサービスを作る方法を説明しなさい。具体例を挙げ、生まれた事業の拡張性をどう確保できるか、つまり顧客数を増やしながら、事業に必要な費用を継続的に賄う方法を説明しなさい。
2. Consider our start-up company that is 100% committed to leveraging innovative technologies as a business growth facilitator. Describe how it can best take advantage of cloud deployment technologies to create products or services that can generate business. Give precise examples and explain how the start-up would be able to ensure the scalability of the resulting business (i.e., keep sustaining the cost of doing business while increasing its number of customers).
2. 革新的な技術を事業成長の促進手段として活用することに、全面的に取り組む私たちの新興企業を考えよう。クラウド配備技術を最も効果的に生かし、商機を生む製品やサービスを作る方法を説明しなさい。具体例を挙げ、生まれた事業の拡張性をどう確保できるか、つまり顧客数を増やしながら、事業に必要な費用を継続的に賄う方法を説明しなさい。

Labs実習

1. Follow the tutorial provided at to develop a sample cloud-native application (https://openstax.org/r/ 76CLNATapp). This tutorial creates a cloud-native application using Python. With this first tutorial, you should be able to create an Azure function app with an HTTP-triggered function. Then, follow this tutorial to connect the Azure function to a datastore (https://openstax.org/r/76connAzure). Finally, follow this tutorial to extend your cloud-native application so that your function app sends messages to an Azure storage (https://openstax.org/r/76CLappFunc). There are other programming language options (https://openstax.org/r/76AltProgLang) to choose from. It is fine to pick another tutorial available on the Internet to achieve the same goal (see an example (https://openstax.org/r/76Alttutorial)).
1. クラウドネイティブアプリケーションの例を開発するチュートリアル(https://openstax.org/r/ 76CLNATapp)に従いなさい。このチュートリアルではPythonを使う。最初のチュートリアルを終えると、HTTPで起動する関数を持つAzure Function Appを作れるはずである。次に、Azureの関数をデータストアへ接続するチュートリアル(https://openstax.org/r/76connAzure)に従いなさい。最後に、Function AppがAzureストレージへメッセージを送るよう、クラウドネイティブアプリケーションを拡張するチュートリアル(https://openstax.org/r/76CLappFunc)に従いなさい。ほかのプログラミング言語も選べる(https://openstax.org/r/76AltProgLang)。インターネット上の別のチュートリアルを選び、同じ目的を達成してもよい。例(https://openstax.org/r/76Alttutorial)を参照しよう。
2. Build a hospital outpatient department (OPD) cloud-native application based on these approaches (https://openstax.org/r/76approachCN) and code. To get started, follow these instructions (https://openstax.org/r/76instructMSplt) to get the application up and running locally. After the application is up and running locally successfully, use an approach you have learned in this chapter.
2. ここに示す方法(https://openstax.org/r/76approachCN)とコードに基づいて、病院の外来部門(OPD)のクラウドネイティブアプリケーションを構築しなさい。まず、手順(https://openstax.org/r/76instructMSplt)に従い、ローカルでアプリケーションを起動して動かしなさい。正常に動作したら、この章で学んだ手法を使いなさい。
3. Perform some research on the Internet and locate a documented example (with code) that illustrates how to migrate a legacy/monolith application to cloud-native. Follow the steps provided in the documented example you found to build and deploy the corresponding cloud-native application.
3. インターネットで調べ、従来型・モノリスのアプリケーションをクラウドネイティブへ移行する方法を説明した、コード付きの文書化された例を見つけなさい。見つけた例の手順に従い、対応するクラウドネイティブアプリケーションを構築し、配備しなさい。
4. Follow the Microsoft Azure tutorial (https://openstax.org/r/76MSaztutr) to enable rapid development by creating a CI/CD pipeline using GitHub Actions and Azure Pipelines. Refer to documentation about GitHub actions (https://docs.github.com/en/actions) and Azure Pipelines (https://openstax.org/r/76AZpipe) for additional information. Once you complete the tutorial, apply what you learned to create a CI/CD pipeline for the first example you built in this module.
4. Microsoft Azureのチュートリアル(https://openstax.org/r/76MSaztutr)に従い、GitHub ActionsとAzure Pipelinesを使うCI/CDパイプラインを作って、迅速な開発を可能にしなさい。追加情報は、GitHub Actions(https://docs.github.com/en/actions)とAzure Pipelines(https://openstax.org/r/76AZpipe)の文書を参照しなさい。チュートリアルを終えたら、学んだことを応用して、このモジュールで最初に作った例のためのCI/CDパイプラインを作りなさい。