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

credit: modification of "Cloud" by James Cridland/Flickr, CC BY 2.0 · CC BY 2.0 · Source出典
Figure 12.1 Cloud-native development and optimization is critical to delivering software applications securely, more rapidly, and continuously. (credit: modification of "Cloud" by James Cridland/Flickr, CC BY 2.0)
図12.1 クラウドネイティブな開発と最適化は、ソフトウェアアプリケーションを安全に、より速く、継続して届けるために不可欠である。(クレジット:James Cridland/Flickrによる「Cloud」を改変、CC BY 2.0)
Introductionはじめに
Organizations are facing more pressure today to retain customers who depend on updated or new business capabilities. This requires organizations to deliver software applications securely, more rapidly, and continuously. For organizations to adapt existing applications or build new applications using cloud-native application development, they must abide by a different set of architectural constraints to leverage cloud infrastructure in comparison to traditional on-premises infrastructure.
英語のヒント
今日の組織は、更新された、あるいは新しい事業機能を求める顧客をつなぎ留めるため、ますます強い圧力を受けている。そのため、ソフトウェアアプリケーションを安全に、より速く、継続して届ける必要がある。組織がクラウドネイティブなアプリケーション開発によって、既存のアプリケーションを適応させたり、新しいアプリケーションを作ったりするには、クラウドの基盤を活用するために、従来のオンプレミスの基盤とは異なる、一連のアーキテクチャ上の制約に従わなければならない。
The focus should be on how to optimize these applications to leverage the capabilities that cloud platforms offer. There are four key principles of cloud-native development that help with designing applications for the cloud. First, applications should adopt a microservices architecture by breaking down the software into small components or services. Second, containerization must be applied to package microservices and isolate them for development and deployment. This not only speeds up development, but also makes it easier to quickly move isolated containers from one deployment environment to another. Containerization platforms such as Docker (an open-source platform used to deploy and run containerized applications) and container orchestration systems such as Kubernetes are instrumental in achieving this. Third, microservices are also more easily managed through continuous integration and continuous delivery. This makes it easier to automate the development and scale the deployment of highly resilient, manageable, and observable cloud-native applications. Fourth, DevOps facilitates the collaborative development of cloud-native applications using continuous delivery practices and results in shorter application development and deployment life cycles. DevOps allows development teams to adapt to changing user requirements more quickly while promoting business agility.
英語のヒント
重点を置くべきなのは、クラウドのプラットフォームが提供する機能を活用するために、これらのアプリケーションをどう最適化するかである。クラウド向けの設計を助ける、クラウドネイティブ開発の重要な原則は4つある。第一に、ソフトウェアを小さなコンポーネントやサービスに分け、マイクロサービスアーキテクチャを採用する。第二に、コンテナー化を行い、マイクロサービスをパッケージにまとめ、開発と配置のために分離する。これによって開発が速くなるだけでなく、分離したコンテナーを、ある配置環境から別の環境へ素早く移しやすくなる。Docker(コンテナー化したアプリケーションを配置して動かすオープンソースのプラットフォーム)のようなコンテナー化のプラットフォームと、Kubernetesのようなコンテナーオーケストレーションシステムが、その実現に重要な役割を果たす。第三に、継続的インテグレーションと継続的デリバリーによって、マイクロサービスをより容易に管理できる。これにより、回復力が高く、管理しやすく、状態を観測できるクラウドネイティブアプリケーションの開発を自動化し、配置の規模を拡張しやすくなる。第四に、DevOpsは、継続的デリバリーの実践によって、クラウドネイティブアプリケーションの協同開発を容易にし、開発と配置のライフサイクルを短くする。DevOpsにより、開発チームは変化する利用者要件に素早く適応し、同時に事業の俊敏性を高められる。
By adopting these four key principles, organizations can speed up the process of cloud-native development and deployment. Cloud-native applications are critical to facilitate the creation of modern software solutions that interface with next-generation secure super society intelligent autonomous solutions (e.g., advanced robotics, autonomous cars, and drones, or other autonomous systems). Organizations in many industries rely on the use of cloud-native applications to conduct business daily.
英語のヒント
この4つの重要な原則を採用すると、組織はクラウドネイティブな開発と配置の過程を速められる。クラウドネイティブアプリケーションは、次世代の安全なスーパー社会の知的で自律的な仕組み、たとえば高度なロボット、自動運転車、ドローンなどの自律システムと連携する、現代的なソフトウェアによる解決策を作りやすくするために不可欠である。多くの産業の組織は、日々の業務を行うため、クラウドネイティブアプリケーションを利用している。