第12章クラウドネイティブアプリケーション開発
Chapter Review章の復習
Key Terms重要用語
Advanced Package Tool (apt)
Advanced Package Tool(apt)
used to install new packages and update existing packages
新しいパッケージをインストールし、既存のパッケージを更新するために使うもの。
Amazon Elastic Compute Cloud (EC2)
Amazon Elastic Compute Cloud(EC2)
cloud based, on-demand, compute platform that can be auto-scaled to meet demand
需要に応じて自動で規模を調整できる、クラウド上のオンデマンド計算プラットフォーム。
Amazon Web Service (AWS)
Amazon Web Service(AWS)
Amazon cloud computing platform that offers a wide range of services that allow customers to build, deploy, and manage applications and services in the cloud
顧客がクラウドでアプリケーションやサービスを構築・配備・管理できる、多様なサービスを提供するAmazonのクラウドコンピューティングプラットフォーム。
API gateway
APIゲートウェイ
used to route traffic between client apps and microservices
クライアントアプリとマイクロサービスの間で、通信を振り分けるために使うもの。
AWS CLI
AWS CLI
command-line interface used to manage Amazon cloud services
Amazonのクラウドサービスを管理するための、コマンドラインインターフェース。
AWS Portal
AWS Portal
web-based console that allows customers to manage their cloud services and subscriptions
顧客がクラウドサービスやサブスクリプションを管理できる、Webベースのコンソール。
Azure
Azure
cloud computing platform that offers a wide range of services that allow customers to build, deploy, and manage applications and services in the cloud
顧客がクラウドでアプリケーションやサービスを構築・配備・管理できる、多様なサービスを提供するクラウドコンピューティングプラットフォーム。
Azure Function App
Azure Function App
event-driven serverless compute platform without provision or managing infrastructure
インフラストラクチャーの用意や管理を必要としない、イベント駆動のサーバーレス計算プラットフォーム。
Azure Portal
Azure Portal
web-based console that allows customers to manage their cloud services and subscriptions
顧客がクラウドサービスやサブスクリプションを管理できる、Webベースのコンソール。
Backend as a Service (BaaS)
サービスとしてのバックエンド(BaaS)
third-party service that can be integrated with an application where the BaaS code does not need to be managed, and there are no servers
アプリケーションに組み込める第三者のサービス。BaaSのコードを管理する必要はなく、サーバーもない。
bare metal server
ベアメタルサーバー
high-performance cloud server that is composed of a single-tenant, nonvirtualized physical server
仮想化されていない、単一利用者専用の物理サーバーで構成される、高性能なクラウドサーバー。
cloud computing
クラウドコンピューティング
delivery of computing services, such as databases, software, analytics, and storage over the Internet
データベース、ソフトウェア、分析、ストレージなどの計算サービスを、インターネット経由で提供すること。
cloud mashup
クラウドマッシュアップ
combines multiple cloud applications or services with shared datasets and integrated functionalities
データセットの共有と機能の統合によって、複数のクラウドアプリケーションやサービスを組み合わせること。
cloud-native application
クラウドネイティブアプリケーション
uses microservices architecture that takes full advantage of the benefits of the cloud, such as scalability and on-demand services
拡張性やオンデマンドサービスなど、クラウドの利点を十分に生かすマイクロサービスアーキテクチャを使うアプリケーション。
community cloud
コミュニティークラウド
cloud deployment model where resources are only accessible by a selected group of organizations
選ばれた組織の集団だけが資源へアクセスできる、クラウドの配置モデル。
Container as a Service (CaaS)
サービスとしてのコンテナー(CaaS)
type of IaaS specifically geared toward efficiently deploying, running, scaling, and managing a single application using a container-based virtualization
コンテナーによる仮想化を使って、1つのアプリケーションを効率的に配備・実行・拡張・管理することに特化した、IaaSの一種。
container image
コンテナーイメージ
binary state that is built by “layering” an application and its dependencies on top of the required “layer” of binaries and libraries of the OS where there is a parent-child relationship between image layers
必要なOSのバイナリーやライブラリーの「層」の上に、アプリケーションとその依存関係を「層として重ねて」作る、バイナリーの状態。イメージの層の間には親子関係がある。
containerization
コンテナー化
packaging of a standardized unit of software that isolates an application enabling it to run independently of physical resources
アプリケーションを分離し、物理資源に依存せずに動かせるようにする、標準化されたソフトウェア単位のパッケージ化。
continuous delivery
継続的デリバリー
automates the deployment stage
配備の段階を自動化すること。
continuous integration
継続的インテグレーション
automates the application compile, build, package, and testing process, enabling it to run independent of physical resources, which allows for a more consistent integration process
アプリケーションのコンパイル・ビルド・パッケージ化・テストを自動化し、物理資源に依存せず実行できるようにして、統合の過程をより一貫させること。
continuous integration and continuous deployment (CI/CD)
継続的インテグレーションと継続的デプロイメント(CI/CD)
set of DevOps operating principles that enable development teams to focus on rapid and frequent integrations of new code into the application in development as well as fast and frequent delivery or deployment of new iterations of the application
開発チームが、開発中のアプリケーションへの新コードの迅速で頻繁な統合と、新しい版の迅速で頻繁な提供・配備に集中できるようにする、DevOpsの運用原則の集合。
DevOps
DevOps
methodology that combines Agile software development and IT operations to deliver software faster and of higher quality
アジャイルなソフトウェア開発とIT運用を組み合わせ、より高品質なソフトウェアをより速く提供する方法論。
disaster recovery
災害復旧
ability of the application to recover from rare but major incidents: nontransient, wide-scale failures, such as service disruption that affects an entire region
まれだが重大な事故から、アプリケーションを回復できる能力。地域全体に影響するサービス停止のような、一時的でない広範囲の障害を対象とする。
Django
Django
open-source web application framework
オープンソースのWebアプリケーションフレームワーク。
Docker
Docker
open-source platform that creates, deploys, and manages containers using a common operating system; it isolates resources allowing multiple containers to use the same OS without contention
共通のオペレーティングシステムを使って、コンテナーを作成・配備・管理するオープンソースのプラットフォーム。資源を分離し、競合せずに複数のコンテナーが同じOSを使えるようにする。
Docker Compose
Docker Compose
tool used for defining, via descriptor files, and managing applications that consist of multiple Docker containers
複数のDockerコンテナーからなるアプリケーションを、記述ファイルによって定義し、管理するツール。
Docker Engine
Docker Engine
open-source containerization platform used to build Docker images and manage Docker containers
Dockerイメージの構築とDockerコンテナーの管理に使う、オープンソースのコンテナー化プラットフォーム。
enterprise service bus (ESB)
エンタープライズサービスバス(ESB)
implements a bus-like communication system between interacting service providers and service consumers
相互作用するサービス提供側とサービス利用側の間に、バス状の通信システムを実装するもの。
event-driven architecture
イベント駆動アーキテクチャ
architecture where functions are invoked by an event
イベントによって関数を呼び出すアーキテクチャ。
Express.js
Express.js
back-end Node web application framework used to implement RESTFul APIs
RESTFul APIを実装するために使う、バックエンドのNode Webアプリケーションフレームワーク。
Function as a Service (FaaS)
サービスとしての関数(FaaS)
compute platform for serverless where developers can run functions that are single units of deployment of the code, which is run by events
コードを配備する単一の単位である関数を開発者が実行できる、サーバーレスの計算プラットフォーム。コードはイベントによって実行される。
GitHub
GitHub
cloud-based developer platform used for software development, collaboration, and security
ソフトウェア開発、共同作業、セキュリティーのために使う、クラウド上の開発者プラットフォーム。
GitLab
GitLab
cloud-based DevOps platform used to monitor, test, and deploy application code
アプリケーションのコードを監視・テスト・配備するための、クラウド上のDevOpsプラットフォーム。
high availability
高可用性
ability for an application to continue running in a healthy state without significant downtime
アプリケーションが、大きな停止時間を生じず、正常な状態で稼働を続けられる能力。
high-performance computing (HPC)
高性能計算(HPC)
when a workload is compute- and memory-intensive
ワークロードが、大量の計算とメモリを必要とする場合のこと。
Homebrew
Homebrew
open-source package management system used to install and manage packages on MacOS and Linux operating systems
macOSとLinuxのオペレーティングシステムで、パッケージをインストール・管理するために使う、オープンソースのパッケージ管理システム。
hybrid cloud
ハイブリッドクラウド
combines private and public clouds, and bare metal or virtual environments
プライベートクラウドとパブリッククラウド、およびベアメタル環境や仮想環境を組み合わせたもの。
Infrastructure as a Service (IaaS)
サービスとしてのインフラストラクチャー(IaaS)
on-demand access to a cloud-hosted computing infrastructure that includes servers, storage, and network resources
サーバー、ストレージ、ネットワーク資源を含む、クラウド上の計算基盤へ、必要に応じてアクセスできるサービス。
integrated development environment (IDE)
統合開発環境(IDE)
software application that provides developers access to resources (e.g., source code editor, build automation tools, debuggers) to design, develop, debug, and test programs
プログラムの設計・開発・デバッグ・テストのために、ソースコードエディター、自動ビルドツール、デバッガーなどの資源を、開発者が利用できるようにするソフトウェアアプリケーション。
Kuard (Kubernetes Up and Running Demo)
Kuard(Kubernetes Up and Running Demo)
basic dashboard highlighting exposed application metrics
公開されたアプリケーションの指標を目立つ形で示す、基本的なダッシュボード。
Kubectl
Kubectl
Kubernetes command-line tool that is used to manage Kubernetes clusters
Kubernetesクラスターを管理するための、Kubernetesのコマンドラインツール。
kubelet
kubelet
responsible for scheduling and making sure applications deployed within the worker nodes are running properly
ワーカーノード内へ配備されたアプリケーションのスケジューリングと、正常に稼働していることの確認を担当するもの。
Kubernetes
Kubernetes
open-source orchestration platform used for automating deployment, scaling, and management of container-based workloads
コンテナーを基にするワークロードの配備・拡張・管理を自動化するための、オープンソースのオーケストレーションプラットフォーム。
monolith
モノリス
application that conforms to a monolithic architecture
モノリシックアーキテクチャに従うアプリケーション。
monolithic architecture
モノリシックアーキテクチャ
not designed to leverage an orchestration platform and requires the use of load balancers
オーケストレーションプラットフォームを利用するようには設計されておらず、負荷分散装置を使う必要があるアーキテクチャ。
Next.js
Next.js
open-source React framework used to create full-stack web applications
フルスタックのWebアプリケーションを作るための、オープンソースのReactフレームワーク。
object-relational mapping (ORM)
オブジェクト関係マッピング(ORM)
technique to convert a data object in the Express.js code to a table in the PostgreSQL relational database
Express.jsコード内のデータオブジェクトを、PostgreSQL関係データベースの表へ変換する技法。
Octant
Octant
open-source web interface for Kubernetes that is used to inspect Kubernetes clusters and applications deployed in them
Kubernetesクラスターと、そこへ配備されたアプリケーションを調べるために使う、Kubernetes用のオープンソースのWebインターフェース。
orchestration platform
オーケストレーションプラットフォーム
helps schedule microservices and containers, and optimizes the use of the computing resource
マイクロサービスとコンテナーのスケジューリングを助け、計算資源の利用を最適化するもの。
Platform as a Service (PaaS)
サービスとしてのプラットフォーム(PaaS)
on-demand access to a cloud-hosted platform for developing, running, and managing applications by prepackaging middleware, language runtimes, and tools as containers
ミドルウェア、言語のランタイム、ツールをあらかじめコンテナーにまとめることで、アプリケーションの開発・実行・管理を行うクラウド上のプラットフォームへ、必要に応じてアクセスできるサービス。
pod
Pod
small, logical unit that runs a container in a worker node in the Kubernetes cluster
Kubernetesクラスターのワーカーノード内でコンテナーを実行する、小さな論理単位。
Prisma
Prisma
Node ORM used to map data objects to tables in a relational database
データオブジェクトを関係データベースの表へ対応付けるための、NodeのORM。
private cloud
プライベートクラウド
cloud deployment model where resources are dedicated to one customer such as a single organization for internal use where cloud resources are accessed and managed by an organization
組織がクラウド資源へアクセスし、管理するモデル。社内利用を行う1つの組織など、1顧客専用に資源を割り当てるクラウドの配置モデルである。
public cloud
パブリッククラウド
cloud deployment model where resources are remotely accessible by anyone offered through subscriptions or on-demand pricing plans
サブスクリプションや従量料金プランを通じて、誰でも遠隔から資源へアクセスできる、クラウドの配置モデル。
remote procedure call (RPC)
遠隔手続き呼出し(RPC)
request-response protocol used by one program to request services from other programs over a network in a distributed computing environment
分散計算環境で、あるプログラムがネットワーク経由でほかのプログラムへサービスを要求するために使う、要求・応答のプロトコル。
representational state transfer (REST)
表現状態転送(REST)
architectural style for providing standards between resources so they can communicate with each other over the Web
資源同士がWeb経由で通信できるように、それらの間の標準を定めるアーキテクチャの様式。
resiliency
回復力
ability of a system to recover from failures and continue to function
システムが障害から回復し、動作を続けられる能力。
resource group
リソースグループ
container that holds related resources used in a cloud solution
クラウドのソリューションで使う、関連する資源をまとめて保持する容器。
Sequelize
Sequelize
used as an ORM to convert data objects in the Express.js code to data records in the inventory table the database
Express.jsコード内のデータオブジェクトを、データベースの在庫表のデータレコードへ変換するORMとして使うもの。
serverless computing
サーバーレスコンピューティング
cloud-native development model where developers can build and run applications but are not responsible for provisioning, maintaining, and scaling the server infrastructure as this is outsourced to the cloud service provider (CSP)
開発者がアプリケーションを構築・実行できる一方、サーバー基盤の用意・保守・拡張の責任は負わない、クラウドネイティブの開発モデル。これらの作業はクラウドサービス事業者(CSP)に外部委託する。
service-oriented architecture (SOA)
サービス指向アーキテクチャ(SOA)
requires that conforming applications be structured as discrete, reusable, and interoperable services that communicate through an enterprise service bus (ESB)
アプリケーションを、独立し、再利用でき、相互運用可能なサービスとして構成し、エンタープライズサービスバス(ESB)を介して通信させることを求めるアーキテクチャ。
Software as a Service (SaaS)
サービスとしてのソフトウェア(SaaS)
cloud-hosted, ready-to-use software or application that end users access with a client (e.g., web browser, desktop client, mobile app) via a subscription model
クラウドで提供される、すぐに使えるソフトウェアやアプリケーション。エンドユーザーはサブスクリプション方式で、Webブラウザー、デスクトップクライアント、モバイルアプリなどのクライアントからアクセスする。
Tanzu
Tanzu
modular, application platform that provides a rich set of developer tools and a pre-paved path to production to build and deploy applications quickly and securely on any compliant public cloud or on-premises Kubernetes cluster
豊富な開発者ツールと、あらかじめ整備された本番運用への道筋を備える、モジュール式のアプリケーションプラットフォーム。対応するパブリッククラウドや、オンプレミスのKubernetesクラスター上で、アプリケーションを迅速かつ安全に構築・配備できる。
Terraform
Terraform
open-source infrastructure as code tool used to build, update, and version cloud and on-premises resources
クラウドとオンプレミスの資源を構築・更新し、バージョン管理するための、オープンソースのInfrastructure as Codeツール。
unikernel
ユニカーネル
single-purpose machine image that is compile-time specialized into a dedicated stand-alone kernel with only the libraries needed to run the application
コンパイル時に、アプリケーションの実行に必要なライブラリーだけを持つ、専用で独立したカーネルへ特化される、単一用途のマシンイメージ。
virtual machine (VM)
仮想マシン(VM)
virtualization of a computer system
コンピューターシステムの仮想化。
web service
Webサービス
unit of software that is available as a resource over the Internet
インターネット上で資源として利用できる、ソフトウェアの単位。
workload
ワークロード
application being run on Kubernetes
Kubernetes上で実行されるアプリケーション。