[51CTO.com クイック翻訳] 過去 10 年間で、クラウド コンピューティング関連のアプリケーションが急速に発展したことは否定できません。ガートナーの統計と予測によると、世界のパブリッククラウドサービス市場は2019年に2,278億ドルに達し、今年は17%成長を続け、2,664億ドルに達すると予想されています(https://www.gartner.com/en/newsroom/press-releases/2019-11-13-gartner-forecasts-worldwide-public-cloud-revenue-to-grow-17-percent-in-2020#:~:text=The%20worldwide%20public%20cloud%20services,research%20vice%20president%20at%20Gartnerを参照)。 Airbnb、Netflix、Uber など、クラウド サービスをベースとするスター企業は、クラウド ネイティブ テクノロジーを使用して、競合他社よりも早く市場を獲得し、さらには業界を再構築しました。適切なクラウド ネイティブ テクノロジーを理解して選択することで、アプリケーションとサービスの開発がスピードアップし、メンテナンス ツールの複雑さが軽減され、限られたインフラストラクチャの利用率が向上することがわかります。この記事では、企業向けのクラウド ネイティブ属性の構築に役立つ 13 のクラウド ネイティブ ツールを紹介します。 クラウドネイティブとは何ですか?Cloud Native Computing Foundation (CNCF) が提供する公式の定義は次のとおりです。クラウド ネイティブ テクノロジーにより、組織はパブリック クラウド、プライベート クラウド、ハイブリッド クラウドの動的な環境でスケーラブルなアプリケーションを構築および実行できます。これらのアプリケーションには、コンテナ、サービス メッシュ、マイクロサービス、不変インフラストラクチャ、宣言型 API が含まれます。これらのテクノロジーにより、疎結合されたシステムに、クラウドベースの弾力性、管理性、および監視可能性をある程度持たせることができます。自動化された技術的機能のおかげで、開発者は作業負荷を増やすことなく、頻繁かつ予測可能な変更と反復を行うことができます。つまり、クラウド ネイティブの目標は、ビジネス ニーズに応じてソフトウェア製品をユーザーに迅速かつ機敏に提供し、全体的な IT コストを削減することです。 クラウドネイティブの価値クラウド ネイティブ テクノロジーには、次の 3 つの利点があります。
上記の利点に基づき、Microsoft、Google、Amazon などの多くの大規模組織は、運用コストを最小限に抑えながらクラウド コンピューティングの莫大な利益を享受しています。 クラウドネイティブを実現する方法アプリケーションをクラウドネイティブ システムに移行するには、多くの場合、次のいずれかの構造化されたアプローチを使用する必要があります。
注: リスクを軽減し、移行が成功する可能性を最大化するには、ミッションクリティカルでないシステムを選択することが重要です。 クラウドネイティブツール以下は、業界で一般的に使用されているクラウド ネイティブ ツールのリストです。企業は、これらを使用して、製品の提供を迅速化し、摩擦を減らし、開発および保守コストを削減します。 1. マイクロサービス マイクロサービスは、製品の機能を個別に展開できる複数のユニットに分割できます。たとえば、従来のクラウドネイティブ以前の展開では、さまざまな API とクライアント間のやり取りを管理する Web サイト サービスが 1 つだけあるのが一般的です。しかし、マイクロサービスを使用すると、Web サイトをアカウント サービスやユーザー サービスなどの複数のサービスに分割できます。これに基づいて、これらのサービスを個別に開発、展開、拡張できます。 同時に、マイクロサービスは通常ステートレスであるため、開発チームはクラウドネイティブ ツールを活用するためのさまざまな柔軟性を得ることができます。 推奨テクノロジー: Node.js (https://nodejs.org/) 代替テクノロジー: Kotlin(https://kotlinlang.org/)、Golang(https://golang.org/) 2. 継続的インテグレーション/継続的デプロイメント 継続的インテグレーション/継続的デプロイメント (CI/CD) は、自動テスト実行 (およびオプションのデプロイメント)、プル リクエストのマージ、およびバージョン管理イベントをサポートするインフラストラクチャ コンポーネントです。 CI/CD により、企業はユニット テスト、静的分析、セキュリティ分析などの品質ゲートを実装できます。さらに、クラウド ネイティブ エコシステムの基本ツールとして、CI/CD はエンジニアリングの効率を向上させ、エラーの数を減らすこともできます。 推奨テクノロジー: Gitlab CI/CD (https://docs.gitlab.com/ee/ci/) 代替テクノロジー: Github Actions (https://github.com/features/actions) 3. コンテナ コンテナはクラウド ネイティブ エコシステムの中核です。開発者の作業を簡素化することで、配信速度と製品品質が向上します。コンテナを Docker ツールとともに使用することで、開発チームはターゲット システムへの依存関係を指定しながら、統一された共通の実行プレーンを提供できます。このレベルでは、チームは Kubernetes などのコンテナ オーケストレーションなどの単一のインフラストラクチャにのみ集中する必要があります。 同時に、エンジニアリング チームはコンテナ イメージをコンテナ レジストリに保存して、脆弱性分析ときめ細かいアクセス制御を提供できます。この分野で人気のあるサービスには、Docker Hub (https://hub.docker.com/)、Google Container Registry (https://cloud.google.com/container-registry)、Quay (https://quay.io/) などがあります。 推奨テクノロジー: Docker (https://www.docker.com/) 代替テクノロジー: Podman(https://podman.io/)、LXD(https://linuxcontainers.org/lxd/introduction/) 4. コンテナオーケストレーション 前述のコンテナ オーケストレーションは、多数のコンテナを起動および管理するためのツールです。言語やチーム固有の展開戦略は必要ありませんが、代わりに、ユーザーは構成用にコンテナ イメージまたはコンテナ イメージのセットを指定できます。オーケストレーションの最終ステップは、これらの仕様を実行中のワークフローに変換することです。したがって、開発チームは、OCI 仕様のいずれかを実行するためのコンテナを 1 つだけ維持できます (https://github.com/opencontainers/runtime-spec/blob/master/spec.md)。 推奨テクノロジー: Kubernetes (https://kubernetes.io/) 代替テクノロジー: Google Cloud Run (https://cloud.google.com/run) 5. インフラストラクチャ・アズ・コード Infrastructure as Code は、バージョン管理下でクラウド構成を実装するための戦略です。これまで、企業は通常、管理パネルを通じてクラウド リソースを手動で構成および管理する必要がありました。ただし、これにより、チームがさまざまな手動の変更を追跡することが困難になる可能性があります。 Infrastructure as Code は、クラウド リソースをコードとして定義し、バージョン管理下に置くことでこの問題を解決します。つまり、コード内でインフラストラクチャの構成を変更し、それをピアレビュー、CI、CD などを含む会社の展開プロセスを通じて推進することができます。バージョン管理では、誰がどのリソースをいつ変更したかを示す監査ログが提供されます。 推奨テクノロジー: Terraform (https://www.terraform.io/) 代替技術: Pulumi (https://www.pulumi.com/) 6. パスワード管理 パスワード、秘密鍵、API 認証情報などの秘密を管理することは、クラウド ネイティブ ソリューションにとって不可欠です。これらは暗号化され、対応する構成で保存される必要があります。成熟したソリューションでは、一時的なデータベース資格情報を発行したり、資格情報をローテーションしたりすることで、パスワード管理のセキュリティを確保することがよくあります。コンテナ化されたサービスは水平方向に拡張でき、さまざまなマシンにデプロイできるため、パスワード漏洩のリスクが増大しないように、クラウドネイティブ アプリケーションに適したパスワード管理ソリューションを構成する必要があります。 推奨テクノロジー: Vault (https://www.vaultproject.io/) 代替技術: Sealed Secrets (https://github.com/bitnami-labs/sealed-secrets) 7. 証明書 コンテナベースのソリューションでは、同じ物理マシン上でさまざまなサービスを実行できます。データが暗号化されていない場合、ホスト ネットワークにアクセスした攻撃者は、サービス間のすべての通信を簡単に読み取ることができます。 TLS を介した安全な通信はベストプラクティスであるだけでなく、不可欠です。もちろん、クラウドネイティブ証明書の更新を自動化するソリューションは、手動での展開よりもはるかに信頼性が高くなります。 推奨テクノロジー: cert-manager (https://github.com/jetstack/cert-manager) 代替テクノロジー: Google マネージド証明書 (https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs) 8. APIゲートウェイ 実際のアプリケーションでは、API ゲートウェイはリバース プロキシとして使用されることが多く、Apache (https://httpd.apache.org/) や NGINX (https://www.nginx.com/) などの従来のリバース プロキシ製品と同様の機能を提供します。さらに、API Gateway は次のものもサポートします。
推奨テクノロジー: Ambassador (https://github.com/datawire/ambassador) 代替技術: Kong (https://konghq.com/) 9. ログ ログ記録は、可観測性の基盤 (https://www.oreilly.com/library/view/distributed-systems-observability/9781492033431/ch04.html) として、開発チームにとって非常に馴染み深いものです。クラウドネイティブ ツールは、ログの観点から監視対象指標の時系列を重視し、コスト効率の高い方法でインシデントの原因を把握することを目指しています。同時に、ログはクラウド アプリケーションの開発、デバッグ、監視に欠かせない「必須アイテム」でもあります。 推奨テクノロジー: EFK (https://www.cncf.io/blog/2020/07/27/logging-in-kubernetes-efk-vs-plg-stack/) 代替技術: Loki (https://github.com/grafana/loki) 10. 監視 上記の時系列ログは、多くの場合、監視システムから取得されます。システムは、すべてのイベントを保存しないように監視データを集約します。つまり、クラウドネイティブ システムでは、コスト効率の高い方法で、次の側面からシステムの状態を把握する必要があります。
監視対象のメトリックにさまざまなディメンションを割り当てて、個々のホスト、オペレーティング システム、バージョンなどのパフォーマンスに関する洞察を得ることができます。 推奨テクノロジー: Prometheus(https://prometheus.io/)/Grafana(https://prometheus.io/docs/visualization/grafana/) 代替技術: Datadog (https://www.datadoghq.com/) 11. アラーム アラートはログ監視の結果であり、システムの問題と対応する時系列インジケーターをオペレーターに通知します。たとえば、システムの HTTP 500 シリーズのステータス コードが増加したり、要求の待機時間が長くなったりすると、そのようなアラートがタイムリーに運用チームに送信されます。クラウドネイティブ システムの場合、問題はそれほど深刻ではありません。恐ろしいのは、問題がどこにあるのか誰も知らないことだ。したがって、アラームの役割は自明です。 推奨テクノロジー: Prometheus Alertmanager (https://prometheus.io/docs/alerting/latest/alertmanager/) 代替テクノロジー: Grafana Alerts (https://grafana.com/docs/grafana/latest/alerting/) 12. 追跡 サービスの立ち上げと拡張にかかるコストを削減するために、開発チームはクラウド サービスがリリースされる前に、クラウド サービスにさらに多くのリソースを割り当てることがよくあります。サポート チームは、さまざまなサービス間の通信を監視および追跡して、ユーザーの最終的なステータス、およびユーザーの使用の各段階での時間とリソースの使用状況を把握できます。これに基づいて、パフォーマンスの問題が発生した場合、チームはタイムリーにエラー情報を取得できます。したがって、観察およびデバッグ ツールの強化として、クラウド ネイティブ テクノロジーのトレース機能により、チームは問題をより迅速に診断し、ダウンタイムを大幅に短縮できるようになります。 推奨テクノロジー: Jaeger (https://www.jaegertracing.io/) 代替技術: Zipkin (https://zipkin.io/) 13. サービスメッシュ 上記の機能の組み合わせとして、クラウド サービス メッシュは、動的ルーティング、負荷分散、サービス検出、ネットワーク ポリシー、サーキット ブレーカー (https://docs.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker) や再試行メカニズム (https://docs.microsoft.com/en-us/azure/architecture/patterns/retry) などのクラウド サービス回復力機能を提供できます。サービス メッシュは、負荷分散の観点からクラウド ネイティブ アーキテクチャの進化形と考えることができます。 推奨テクノロジー: Istio (https://istio.io/) 代替技術: Consul (https://www.consul.io/) まとめ上記のクラウドネイティブツールを柔軟に選択することで、クラウドサービス製品の提供速度を適切に向上させ、サービスの可用性とパフォーマンスを高め、企業の競争優位性を維持することができます。一度にすべてを試す必要はありません。単一のテクノロジーから始めて、クラウド ビジネスにもたらす大きなメリットと改善を活用できます。 原題: クラウドネイティブ企業になる方法と、そこに到達するための 13 のツール、若山健太郎 [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。 |
<<: Linux 仮想化 KVM-Qemu 割り込み仮想化の分析
>>: Microsoft AKS は企業のクラウドへの迅速な移行を支援します
重慶市涪陵区公安局は26日、重慶帥牌科技有限公司(以下、「重慶帥牌」)が自社開発した「扇本易牌」ネッ...
2009年、私は誰もが羨む公務員という楽な仕事を正式に辞め、ウェブマスター業界に飛び込みました。私が...
10月19日、中国国内の統合HR SaaSリーダーであるBeisenとInternational D...
SEO 業界では、データが非常に重要な中核を占めています。私たちは毎日、さまざまな種類のデータに注目...
企業が経済の不確実性を乗り越え続ける中、IT リーダーは予算を最適化し、クラウド インフラストラクチ...
SEO に取り組み始めて以来、アルゴリズムは絶えず更新されてきました。では、Baidu のアルゴリズ...
ライムウェーブはどうですか? Limewaveは最近とても人気がありますが、これはおそらくブラックフ...
fatcow からメールでプロモーション情報を受け取りました。無制限の Web サイト構築と仮想ホス...
simplecloud は 2000 年から運営されているロシアの企業です。主に KVM 仮想化に基...
テンセントテクノロジーニュース(ファン・シャオドン)5月6日のニュースによると、国内のビットコイン取...
A5 Webmaster Network (www.admin5.com) は 12 月 24 日、...
SEO 担当者であれば、改訂が検索エンジン上のウェブサイトに影響を与えることは誰もが知っています。影...
VMware (NYSE: VMW) は、VMware vSphere、VMware vCenter...
KVMLA (2011 年に設立、登録企業、中国商人が所有、すでに中国の VPS で多少有名) の別...
私が所属する技術チームは、数十のプロジェクトの開発と保守を担当しています。各プロジェクトには、少なく...