Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ja] Revise content/ja/*.md #3040

Merged
merged 1 commit into from
Apr 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions content/ja/agile-software-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ tags: ["方法論", "", ""]
---

アジャイルソフトウェア開発は、繰り返しの開発サイクルと自己組織化チームを重視する一連の実践です。
プロジェクトの最後にのみ価値が生み出されるウォーターフォール型のプロジェクトとは対照的に、
アジャイルソフトウェア開発は、継続的かつ段階的な価値の提供とプロセス自体の進化的な改善に焦点を当てています。
プロジェクトの最後にのみ価値が生み出されるウォーターフォール型のプロジェクトとは対照的に、アジャイルソフトウェア開発は、継続的かつ段階的な価値の提供とプロセス自体の進化的な改善に焦点を当てています。

## 解決すべき問題はなんですか

Expand Down
21 changes: 7 additions & 14 deletions content/ja/api-gateway.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,18 @@ category: テクノロジー
tags: ["ネットワーキング", "", ""]
---

[API](/ja/application-programming-interface/)ゲートウェイは、いくつかのアプリケーションAPIを集約し、
それらを一か所で利用可能にするツールです。
これにより認証や認可、
またはアプリケーション間のリクエスト数を制限するなどの重要な機能を中央管理された場所に集約することができます。
[API](/ja/application-programming-interface/)ゲートウェイは、いくつかのアプリケーションAPIを集約し、それらを一か所で利用可能にするツールです。
これにより認証や認可、またはアプリケーション間のリクエスト数を制限するなどの重要な機能を中央管理された場所に集約することができます。
APIゲートウェイは、(しばしば外部の)APIの利用者に対する共通のインターフェースとして機能します。

## 解決すべき問題はなんですか

外部の利用者にAPIを提供する場合、
すべてのアクセスを管理・制御するための一つのエントリーポイントが必要になります。
さらに、それらのやり取りに機能を適用する必要がある場合、
APIゲートウェイを使用するとアプリのコードを変更することなく、すべてのトラフィックに対して一様にそれを適用することができます。
外部の利用者にAPIを提供する場合、すべてのアクセスを管理・制御するための一つのエントリーポイントが必要になります。
さらに、それらのやり取りに機能を適用する必要がある場合、APIゲートウェイを使用するとアプリのコードを変更することなく、すべてのトラフィックに対して一様にそれを適用することができます。

## どのように役に立つのでしょうか

アプリケーション内のさまざまなAPIに対して単一のアクセスポイントを提供するAPIゲートウェイは、
組織の横断的なビジネスロジックやセキュリティロジックを一箇所に集中して適用するのを容易にします。
アプリケーション内のさまざまなAPIに対して単一のアクセスポイントを提供するAPIゲートウェイは、組織の横断的なビジネスロジックやセキュリティロジックを一箇所に集中して適用するのを容易にします。
また、アプリケーションの利用者がすべてのニーズに対して単一のアドレスを通じてアクセスできるようにもします。
APIゲートウェイは、システム内のすべてのウェブサービスへのリクエストに対して単一のアクセスポイントを提供することで、
セキュリティや[オブザーバビリティ](/ja/observability/)などの運用上の懸念を簡素化することができます。
すべてのリクエストがAPIゲートウェイを通過するため、
メトリクス収集、レート制限、認証などの機能を追加するための単一の場所となります。
APIゲートウェイは、システム内のすべてのウェブサービスへのリクエストに対して単一のアクセスポイントを提供することで、セキュリティや[オブザーバビリティ](/ja/observability/)などの運用上の懸念を簡素化することができます。
すべてのリクエストがAPIゲートウェイを通過するため、メトリクス収集、レート制限、認証などの機能を追加するための単一の場所となります。
15 changes: 11 additions & 4 deletions content/ja/bare-metal-machine.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,21 @@ category: テクノロジー
tags: ["インフラストラクチャー", "", ""]
---

ベアメタルとは物理コンピューターを意味し、具体的にはサーバーのことでありオペレーティングシステムが1つしかないものです。最近のコンピューティングでは、サーバーの多くが[仮想マシン](/ja/virtual-machine/)であるため、この区別は重要です。物理サーバーは、一般的に強力なハードウェアを内蔵したかなり大型のコンピューターです。[仮想化](/ja/virtualization/)せずに、物理ハードウェア上にオペレーティングシステムをインストールし直接アプリケーションを実行することを"ベアメタル"上で実行すると呼ばれます。
ベアメタルとは物理コンピューターを意味し、具体的にはサーバーのことでありオペレーティングシステムが1つしかないものです。
最近のコンピューティングでは、サーバーの多くが[仮想マシン](/ja/virtual-machine/)であるため、この区別は重要です。
物理サーバーは、一般的に強力なハードウェアを内蔵したかなり大型のコンピューターです。
[仮想化](/ja/virtualization/)せずに、物理ハードウェア上にオペレーティングシステムをインストールし直接アプリケーションを実行することを"ベアメタル"上で実行すると呼ばれます。

## 解決すべき問題はなんですか

1つのオペレーティングシステムと1台の物理コンピューターの組み合わせはコンピューティングの原型です。物理コンピューターのすべてのリソースがオペレーティングシステムで直接利用可能であり、仮想化レイヤーが存在しないため、オペレーティングシステムの命令をハードウェアに変換する際に人工的な遅延が発生しません。
1つのオペレーティングシステムと1台の物理コンピューターの組み合わせはコンピューティングの原型です。
物理コンピューターのすべてのリソースがオペレーティングシステムで直接利用可能であり、仮想化レイヤーが存在しないため、オペレーティングシステムの命令をハードウェアに変換する際に人工的な遅延が発生しません。

## どのように役に立つのでしょうか

コンピューターのすべての計算リソースを単一のオペレーティングシステムに割り当てることで、オペレーティングシステムに最高のパフォーマンスを提供できる可能性があります。ハードウェアリソースに極めて高速にアクセスしなければならないワークロードを実行する必要がある場合、ベアメタルが適切なソリューションかもしれません。
コンピューターのすべての計算リソースを単一のオペレーティングシステムに割り当てることで、オペレーティングシステムに最高のパフォーマンスを提供できる可能性があります。
ハードウェアリソースに極めて高速にアクセスしなければならないワークロードを実行する必要がある場合、ベアメタルが適切なソリューションかもしれません。

[クラウドネイティブアプリケーション](/ja/cloud-native-apps/)のコンテキストでは、私たちは一般的にパフォーマンスを、[水平スケーリング](/ja/horizontal-scaling/)(リソースプールにマシンを追加する)で処理できる多数の並行イベントへの[スケーリング](/ja/scalability/)という観点から考えます。しかし、ワークロードによっては[垂直スケーリング](/ja/vertical-scaling/)(既存の物理マシンにさらにパワーを追加する)が必要な場合や、極めて高速な物理ハードウェアのレスポンスが必要になる場合はベアメタルが適しています。また、ベアメタルにおいては、タスクを達成するために、物理ハードウェアや場合によってはハードウェアドライバをチューニングすることもできます。
[クラウドネイティブアプリケーション](/ja/cloud-native-apps/)のコンテキストでは、私たちは一般的にパフォーマンスを、[水平スケーリング](/ja/horizontal-scaling/)(リソースプールにマシンを追加する)で処理できる多数の並行イベントへの[スケーリング](/ja/scalability/)という観点から考えます。
しかし、ワークロードによっては[垂直スケーリング](/ja/vertical-scaling/)(既存の物理マシンにさらにパワーを追加する)が必要な場合や、極めて高速な物理ハードウェアのレスポンスが必要になる場合はベアメタルが適しています。
また、ベアメタルにおいては、タスクを達成するために、物理ハードウェアや場合によってはハードウェアドライバをチューニングすることもできます。
3 changes: 1 addition & 2 deletions content/ja/client-server-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ Amazonの商品カタログ全体を、ブラウジングする前に自分の

## どのように役に立つのでしょうか

リモートサーバーやサービスでアプリケーションロジックを実装することにより、
オペレーターはクライアント側のロジックを変更することなく、それを更新できます。
リモートサーバーやサービスでアプリケーションロジックを実装することにより、オペレーターはクライアント側のロジックを変更することなく、それを更新できます。
これによって更新をより頻繁に行うことができます。
データをサーバー上に保存することで、多くのクライアントが同じデータを見て共有することができます。
オンラインのワードプロセッサーを使用することと、従来のオフラインのワードプロセッサーを使用することの違いを考えてみてください。
Expand Down
12 changes: 9 additions & 3 deletions content/ja/cloud-computing.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,18 @@ category: コンセプト
tags: ["インフラストラクチャー", "基礎", ""]
---

クラウドコンピューティングは、CPU、ネットワーク、ディスクなどの計算資源をインターネット上でオンデマンドで提供し、ユーザーは物理的に離れた場所にある計算能力にアクセスし、使用することができるようにします。一般に、クラウド基盤が組織専用のものか、オープンな公共サービスのために共有されているかによって、プライベートクラウドとパブリッククラウドに区別されます。
クラウドコンピューティングは、CPU、ネットワーク、ディスクなどの計算資源をインターネット上でオンデマンドで提供し、ユーザーは物理的に離れた場所にある計算能力にアクセスし、使用することができるようにします。
一般に、クラウド基盤が組織専用のものか、オープンな公共サービスのために共有されているかによって、プライベートクラウドとパブリッククラウドに区別されます。

## 解決すべき問題はなんですか

組織は従来、コンピューティングパワーを拡大しようとする際、主に2つの課題に直面していました。物理的なサーバーとネットワークをホストするための(新しい)設備を取得、サポート、設計するか、既存の設備を拡張、維持するかです。クラウドコンピューティングは、企業がコンピューティングニーズの一部をアウトソースできるようにすることで、この課題を解決しています。
組織は従来、コンピューティングパワーを拡大しようとする際、主に2つの課題に直面していました。
物理的なサーバーとネットワークをホストするための(新しい)設備を取得、サポート、設計するか、既存の設備を拡張、維持するかです。
クラウドコンピューティングは、企業がコンピューティングニーズの一部をアウトソースできるようにすることで、この課題を解決しています。

## どのように役に立つのでしょうか

クラウドプロバイダーは、企業がオンデマンドでコンピューティングリソースを借り、使用量に応じて料金を支払うことを可能にし、2つの重要な利点をもたらします。第一に、企業は新しい物理的なインフラストラクチャーを待つことなく、計画し、リソースを費やすことなく、製品やサービスに集中することができます。そして2つ目は、必要に応じてオンデマンドで[拡張](/ja/scalability/)できることです。クラウドコンピューティングでは、必要な分だけインフラを導入することができます。
クラウドプロバイダーは、企業がオンデマンドでコンピューティングリソースを借り、使用量に応じて料金を支払うことを可能にし、2つの重要な利点をもたらします。
第一に、企業は新しい物理的なインフラストラクチャーを待つことなく、計画し、リソースを費やすことなく、製品やサービスに集中することができます。
そして2つ目は、必要に応じてオンデマンドで[拡張](/ja/scalability/)できることです。
クラウドコンピューティングでは、必要な分だけインフラを導入することができます。
16 changes: 13 additions & 3 deletions content/ja/cloud-native-apps.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,22 @@ category: コンセプト
tags: ["アプリケーション", "基礎", ""]
---

クラウドネイティブアプリケーションは、[クラウドコンピューティング](/ja/cloud-computing/)の技術革新を活用するため特別に設計されています。これらのアプリケーションは、それぞれのクラウドアーキテクチャと容易に統合でき、クラウドのリソースと[スケーリング](/ja/scalability/)機能を活用できます。また、クラウドコンピューティングによるインフラストラクチャーの技術革新を活用するアプリケーションのことも指します。今日のクラウドネイティブアプリケーションには、クラウドプロバイダーのデータセンターで実行されるアプリケーションと、オンプレミスのクラウドネイティブプラットフォームで実行されるアプリケーションがあります。
クラウドネイティブアプリケーションは、[クラウドコンピューティング](/ja/cloud-computing/)の技術革新を活用するため特別に設計されています。
これらのアプリケーションは、それぞれのクラウドアーキテクチャと容易に統合でき、クラウドのリソースと[スケーリング](/ja/scalability/)機能を活用できます。
また、クラウドコンピューティングによるインフラストラクチャーの技術革新を活用するアプリケーションのことも指します。
今日のクラウドネイティブアプリケーションには、クラウドプロバイダーのデータセンターで実行されるアプリケーションと、オンプレミスのクラウドネイティブプラットフォームで実行されるアプリケーションがあります。

## 解決すべき問題はなんですか

従来、オンプレミス環境では、コンピューティングリソースをかなり特化した方法で提供していました。各データセンターは、アプリケーションを特定の環境に[密結合](/ja/tightly-coupled-architecture/)するサービスを持っており、多くの場合、[仮想マシン](/ja/virtual-machine/)やサービスのようなインフラストラクチャーの提供は手作業に大きく依存していました。その結果、開発者とそのアプリケーションは、特定のデータセンターに制約されることになりました。クラウド用に設計されていないアプリケーションは、クラウド環境の耐障害性やスケーリング機能を活用することができません。例えば、正しく起動するために手作業が必要なアプリケーションは、自動的にスケーリングすることができず、障害発生時に自動的に再起動することもできません。
従来、オンプレミス環境では、コンピューティングリソースをかなり特化した方法で提供していました。
各データセンターは、アプリケーションを特定の環境に[密結合](/ja/tightly-coupled-architecture/)するサービスを持っており、多くの場合、[仮想マシン](/ja/virtual-machine/)やサービスのようなインフラストラクチャーの提供は手作業に大きく依存していました。
その結果、開発者とそのアプリケーションは、特定のデータセンターに制約されることになりました。
クラウド用に設計されていないアプリケーションは、クラウド環境の耐障害性やスケーリング機能を活用することができません。
例えば、正しく起動するために手作業が必要なアプリケーションは、自動的にスケーリングすることができず、障害発生時に自動的に再起動することもできません。

## どのように役に立つのでしょうか

クラウドネイティブアプリケーションへの万能な道はありませんが、いくつかの共通点はあります。クラウドネイティブアプリケーションは弾力性があり、管理しやすく、それに付随する一連のクラウドサービスによって支援されます。さまざまなクラウドサービスによって、高度な[オブザーバビリティ](/ja/observability/)が有効になり、ユーザーは問題が深刻化する前に発見して対処することができます。堅牢な自動化と組み合わせることで、エンジニアは最小限の労力で、インパクトの大きい変更を頻繁にかつ予想通りに行うことができます。
クラウドネイティブアプリケーションへの万能な道はありませんが、いくつかの共通点はあります。
クラウドネイティブアプリケーションは弾力性があり、管理しやすく、それに付随する一連のクラウドサービスによって支援されます。
さまざまなクラウドサービスによって、高度な[オブザーバビリティ](/ja/observability/)が有効になり、ユーザーは問題が深刻化する前に発見して対処することができます。
堅牢な自動化と組み合わせることで、エンジニアは最小限の労力で、インパクトの大きい変更を頻繁にかつ予想通りに行うことができます。
Loading