プリンキピア

第10章エンタープライズアーキテクチャーとソリューションアーキテクチャーの管理

ArchDev (SecOps)ArchDev(SecOps)
DevOps describes an approach to improving collaboration between the development and operation of services. DevOps is a blend of the terms development and operation.
英語のヒント
DevOpsは、サービスの開発と運用の協力を改善する手法を表す。development(開発)とoperation(運用)を組み合わせた言葉である。
ArchDev is an example of an Accelerated Architecture-Driven Digital Transformation Process, which helps companies proactively embed stakeholder interest and sustainability into the company’s digital growth. Agile EA Management (AEAM) is a methodology used for software development and project management. AEAM uses divide and conquer methodology by breaking individual projects into smaller pieces to make them easier to manage, which speeds up design processes and produces quality products. ArchDev is enabled by methodology, tooling, and IP. It incorporates AEAM, and is compatible with TOGAF, to assess As-Is and To-Be states and a gap analysis to identify transformation initiatives that feed into the portfolio management process.
英語のヒント
ArchDevは、アーキテクチャ主導のデジタル変革を加速するプロセスの一例であり、企業のデジタル面の成長に、利害関係者の利益と持続可能性を積極的に組み込むのを助ける。アジャイルEA管理(AEAM)は、ソフトウェア開発とプロジェクト管理に用いる方法論である。個々のプロジェクトを小さな部分に分け、管理しやすくする分割統治の方法論を使うことで、設計プロセスを速め、品質の高い製品を生み出す。ArchDevは、方法論、ツール、知的財産(IP)によって実現する。AEAMを取り入れ、TOGAFとも互換性を持つ。現状(As-Is)と将来の姿(To-Be)を評価し、ギャップ分析を行って、ポートフォリオ管理のプロセスへつながる変革の取り組みを特定する。
The business context driving prioritization is a major factor in selecting appropriate architectures for initiatives. Where DevOps integrates the tasks required to accelerate the development to deployment cycle, ArchDev (SecOps) integrates the disciplines required to identify a target architecture, which informs the solution design, monitors its implementation, and ensures its continued validity in the face of a changing environment. If changes in requirements or business context necessitate architecture revisions at any point in the development cycle or thereafter, ArchDev (SecOps) processes facilitate identifying the best replacement and following the most efficient path to migrating to it. ArchDev (SecOps), therefore, enables businesses to strike a balance between expedience and architecting business, which allows preserving business agility and sustainability.
英語のヒント
優先順位を決める事業上の状況は、各取り組みに適したアーキテクチャを選ぶ際の主要な要因となる。DevOpsが、開発から配備までのサイクルを速めるために必要なタスクを統合するのに対し、ArchDev(SecOps)は、目標のアーキテクチャを特定するために必要な作業分野を統合する。そのアーキテクチャは、仕組みの設計を導き、実装を監視し、環境が変化しても引き続き妥当であるようにする。開発サイクルの途中、またはその後のいずれかの時点で、要求や事業上の状況の変化からアーキテクチャの見直しが必要となれば、ArchDev(SecOps)のプロセスは、最善の代替案を特定し、最も効率的な経路で移行することを容易にする。したがってArchDev(SecOps)は、企業が迅速な実行と事業のアーキテクチャ構築との釣り合いを取り、事業の俊敏性と持続可能性を保てるようにする。
Blueprinting Templates設計図作成のテンプレート
An enterprise architecture blueprint is a visualization of the architecture at the conceptual, logical, and physical level of an enterprise, showing concepts, their elements, and the components that implement the elements and their interrelationships. Various blueprinting templates are available to help derive architecture diagrams. Figure 10.37 illustrates a template that may be used to create conceptual business architectures. The diagram shows how the template may be applied in an insurance industry context. The diagram represents the enterprise value chain, which includes sales and marketing, product development, underwriting, finance and accounting, servicing, and claim processing. The blueprint includes many components and services, such as BPM processes, business capabilities, and business services.
英語のヒント
エンタープライズアーキテクチャの設計図は、企業の概念、論理、物理の各水準のアーキテクチャを可視化し、概念とその要素、要素を実装する部品、それらの相互関係を示すものである。アーキテクチャ図の作成を助ける、さまざまな設計図用テンプレートがある。図10.37は、概念的な業務アーキテクチャを作るために使えるテンプレートを示す。保険業の状況への適用例であり、販売とマーケティング、商品開発、引受審査、財務と会計、契約管理サービス、保険金請求処理を含む、企業の価値連鎖を表す。設計図には、BPMプロセス、事業能力、業務サービスなど、多くの部品とサービスが含まれる。
Figure 10.37

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.37 The diagram represents the enterprise value chain, which includes sales and marketing, product development, underwriting, finance and accounting, servicing, and claim processing. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.37 この図は、販売とマーケティング、商品開発、引受審査、財務と会計、契約管理サービス、保険金請求処理を含む、企業の価値連鎖を表している。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
To specify the conceptual business architecture of the underwriting value chain element, Figure 10.38 drills down into the “underwriting” value chain element.
英語のヒント
図10.38では、価値連鎖の「引受審査」という要素を掘り下げ、その概念的な業務アーキテクチャを具体的に示している。
Figure 10.38

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.38 Underwriting is an element of the value chain and incorporates new business and fulfillment. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.38 引受審査は価値連鎖の一要素であり、新契約業務とその履行を含む。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Representing the logical architecture models using a blueprint template is different. Figure 10.39 illustrates a blueprint for the logical architecture model, shows the separation of concerns through layering, and enables high cohesion and low coupling across the application component. This blueprint represents interaction integration, bus process integration, application integration, service integration, data integration, and infrastructure integration. Using this template helps to create a detailed logical architecture model that may then be split into separate layers to convey more readable details.
英語のヒント
設計図用テンプレートによる論理アーキテクチャモデルの表現は、これとは異なる。図10.39は論理アーキテクチャモデルの設計図で、層に分けることによる関心の分離を示し、アプリケーション部品全体で高い凝集度と低い結合度を実現する。やり取りの統合、バスプロセスの統合、アプリケーション統合、サービス統合、データ統合、基盤の統合を表す。このテンプレートを使うと、詳細な論理アーキテクチャモデルを作れる。それを個別の層へ分けることで、細部をさらに読み取りやすく伝えられる。
Figure 10.39

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.39 This blueprint represents interaction integration, business process integration, application integration, service integration, data integration, and infrastructure integration. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.39 この設計図は、やり取りの統合、業務プロセス統合、アプリケーション統合、サービス統合、データ統合、基盤の統合を表す。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Architectural and Implementation Stylesアーキテクチャスタイルと実装スタイル
As you may recall, the specification of architectures starts at a high level within the enterprise to help align business and IT strategy. The main strategies are typically to achieve operational excellence as well as competitiveness. Figure 10.40 represents the relationship between the customer and the enterprise to improve the digital customer experience and digital operational excellence. The digital customer experience architect roles develop architecture strategy for a customer life cycle, collaborate on digital product and service design, and guide customer technology choice. The digital operational excellence roles guide integration with ecosystem partners, support innovation with technology, and codevelop agility strategy.
英語のヒント
思い出してほしいが、アーキテクチャの仕様化は、事業とITの戦略の整合を助けるため、企業内の高い水準から始める。主要な戦略は通常、競争力に加え、業務運営の卓越性を実現することである。図10.40は、デジタルの顧客体験と業務運営の卓越性を向上させるための、顧客と企業の関係を示す。デジタル顧客体験を担当するアーキテクトは、顧客のライフサイクルに対するアーキテクチャ戦略を策定し、デジタル製品とサービスの設計に協力し、顧客向け技術の選択を導く。デジタルの業務運営の卓越性を担当する役割は、生態系内のパートナーとの統合を導き、技術で革新を支え、俊敏性の戦略を共同で作る。
Figure 10.40

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.40 The relationship between the customer and the enterprise can improve the digital customer experience and digital operational excellence. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.40 顧客と企業の関係は、デジタル顧客体験と、デジタルの業務運営の卓越性を向上させることができる。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
This leads to the creation of enterprise reference architectures and specific business and technical architecture blueprints that represent the various views of architecture within the business, application, information, and technology domains. The scope of these views may then be refined to drill down into specific business units (portfolio) and project-level architectures. Within each level of scope, it is possible to apply architectural styles and corresponding implementation styles available within a pattern catalog. As we have learned, patterns can be applied to project-level architectures as part of high-level design and via leveraging of the architecture management umbrella activity.
英語のヒント
これにより、企業の参照アーキテクチャと、具体的な業務・技術アーキテクチャの設計図が作られる。業務、アプリケーション、情報、技術の各ドメインの中で、アーキテクチャのさまざまなビューを表すものである。次に、ビューの範囲を具体化し、個別の事業部門(ポートフォリオ)やプロジェクト水準のアーキテクチャへ掘り下げられる。各適用範囲の水準で、カタログにあるアーキテクチャスタイルと、対応する実装スタイルを適用できる。すでに学んだように、パターンは高水準設計の一部として、またアーキテクチャ管理というアンブレラ活動を活用して、プロジェクト水準のアーキテクチャに適用できる。
Architectural and implementation styles may be reflected within blueprints. For example, Figure 10.41 represents how a conceptual technical architecture blueprint leverages the Business Process Management (BPM) architectural style. The diagram answers six questions:
アーキテクチャスタイルと実装スタイルは、設計図に反映できる。たとえば図10.41は、概念的な技術アーキテクチャの設計図で、業務プロセス管理(BPM)のアーキテクチャスタイルを活用する方法を示す。この図は、六つの問いに答える。
1. Who is initiating the business event?
1. 業務イベントを開始するのは誰か。
2. What is the classification of the business event type?
2. 業務イベントの種類は、どのように分類されるか。
3. What channels are provided to initiate the business event?
3. 業務イベントを開始するために、どのような経路が用意されているか。
4. What is the method used to digitize recognized business events?
4. 認識した業務イベントをデジタル化する方法は何か。
5. How are business events digitally managed during their life cycle?
5. 業務イベントは、そのライフサイクルの間、どのようにデジタルで管理されるか。
6. What automation, organizations, and processes are needed to support digital business event management?
6. デジタルの業務イベント管理を支えるには、どのような自動化、組織、プロセスが必要か。
Figure 10.41

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.41 A conceptual technical architecture blueprint leverages the Business Process Management (BPM) architectural style. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.41 概念的な技術アーキテクチャの設計図では、業務プロセス管理(BPM)のアーキテクチャスタイルを活用する。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Figure 10.42 illustrates a technical implementation architecture blueprint that leverages specific implementation styles, and Figure 10.43 illustrates the same along with callouts identifying specific products and related vendors selected to implement and deploy the solution.
英語のヒント
図10.42は、特定の実装スタイルを活用する、技術実装アーキテクチャの設計図である。図10.43は同じものに、仕組みの実装と配備に選んだ具体的な製品と関連する供給業者を示す、引き出し注記を加えている。
Figure 10.42

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.42 A technical implementation architecture blueprint leverages specific implementation styles. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.42 技術実装アーキテクチャの設計図は、特定の実装スタイルを活用する。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Figure 10.43

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.43 Technical implementation architecture blueprint shown earlier with callouts specifying products and related vendors selected to implement and deploy the solution. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.43 先に示した技術実装アーキテクチャの設計図に、実装と配備に選んだ製品と関連する供給業者を指定する引き出し注記を加えたもの。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Human-Centered Computing Architectures and Related Patterns
人間中心コンピューティングのアーキテクチャと関連パターン
Human-centered computing (HCC) is a newer term that subsumes human-computer interaction (HCI) and includes social computing and HCI. HCC studies the design, development, and deployment of mixed-initiative human-computer systems. HCC/HCI is a subfield within computer science that is concerned with the study of interaction between people and computers.
英語のヒント
人間中心コンピューティング(HCC)は、ヒューマン・コンピューター・インタラクション(HCI)を包含し、ソーシャルコンピューティングとHCIを含む、比較的新しい用語である。人とコンピューターの双方が主導権を持つシステムの、設計、開発、配備を研究する。HCC/HCIは、人とコンピューターのやり取りを研究する、コンピューターサイエンスの一分野である。
The main objective of HCC/HCI is to make computer systems more user-friendly and more usable. HCI studies the design, evaluation, and implementation of user interfaces for computer systems that are receptive to the user’s needs and habits. It is a multidisciplinary field, which incorporates computer science, behavioral sciences, and design. The field of computing basically seeks to provide a framework for the integration of human sciences and computer science in a manner that promotes the progress of human activities. With this respect, human-centered computing models design computing systems that support and enrich human existence.
英語のヒント
HCC/HCIの主な目標は、コンピューターシステムを、ユーザーにとってより親しみやすく、使いやすくすることである。HCIは、ユーザーのニーズや習慣に応えるコンピューターシステムの、ユーザーインターフェースの設計、評価、実装を研究する。コンピューターサイエンス、行動科学、デザインを取り込む学際的な分野である。コンピューティングの分野は基本的に、人間の活動の進歩を促す形で、人間科学とコンピューターサイエンスを統合する枠組みを提供しようとする。この観点から、人間中心コンピューティングのモデルは、人間の存在を支え、豊かにするコンピューティングシステムを設計する。
Users interact with computer systems through a user interface, which consists of hardware and software that provides means of input, allowing users to manipulate the system, and output, allowing the system to provide information to the user. The design, implementation, and evaluation of interfaces is, therefore, a central focus of HCC/HCI. Corresponding process patterns are applied when designing HCC/HCI architectures. Pattern-based frameworks may be used to study, analyze, and translate the interactions of people with their surroundings into collaborative solution architectures.
英語のヒント
ユーザーは、ユーザーインターフェースを通してコンピューターシステムとやり取りする。これは、ユーザーがシステムを操作するための入力手段と、システムがユーザーに情報を示すための出力手段を提供する、ハードウェアとソフトウェアからなる。そのため、インターフェースの設計、実装、評価は、HCC/HCIの中心的な関心事である。HCC/HCIのアーキテクチャの設計では、それに対応するプロセスパターンを適用する。パターンに基づく枠組みは、人と周囲の環境とのやり取りを研究・分析し、それを協調的な仕組みのアーキテクチャへ置き換えるために使うことができる。
Cloud-Based Architectures and Related Patterns
クラウド型アーキテクチャと関連パターン
Big clouds (e.g., Amazon AWS, Google Cloud Platform, IBM Cloud, Microsoft Azure) are available today to help put together complex solutions in an enterprise context by providing Platform as a Service (PaaS) capabilities that can be assembled very quickly. For example, the cloud-based implementation architecture shown in Figure 10.44 uses three different clouds (social media cloud for data collection, private cloud for predictive analysis, and public cloud for data mining). These clouds collaborate in a mashup configuration and provide a cost-effective way to devise and implement solution architectures that leverage data collection, secure data mining, and intelligent analytics patterns. Scalable data processing framework implementations (e.g., Hadoop, Spark) are also readily available on the big clouds to provide efficient means of handling large amounts of data.
英語のヒント
現在、Amazon AWS、Google Cloud Platform、IBM Cloud、Microsoft Azureなどの大規模クラウドは、非常にすばやく組み合わせられるPlatform as a Service(PaaS)の機能を提供し、企業の中で複雑な仕組みを組み立てる助けとなっている。たとえば図10.44のクラウド型実装アーキテクチャは、三つの異なるクラウドを使う。データ収集のためのソーシャルメディアクラウド、予測分析のためのプライベートクラウド、データマイニングのためのパブリッククラウドである。これらがマッシュアップ構成で協力し、データ収集、安全なデータマイニング、知的な分析のパターンを活用するソリューションアーキテクチャを、費用対効果の高い方法で考案・実装できるようにする。HadoopやSparkなど、規模を拡大できるデータ処理の枠組みの実装も、大規模クラウド上ですぐに利用でき、大量のデータを効率的に扱う手段を提供する。
Figure 10.44

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.44 Three different clouds that include a social media cloud for data collection, private cloud for predictive analysis, and public cloud for data mining are collaborating in a mashup configuration. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.44 データ収集用のソーシャルメディアクラウド、予測分析用のプライベートクラウド、データマイニング用のパブリッククラウドという三つの異なるクラウドが、マッシュアップ構成で協力している。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Microservices Architectures and Related Patterns
マイクロサービスアーキテクチャと関連パターン
A microservices architecture, called a microservice, is an approach to building a software solution as a set of small services (i.e., independent parts) that may be deployed locally or on the cloud. The cloud holds data, software, and services that run on the Internet instead of on a local computer. While microservices architectures are mainly oriented toward providing backend services, the approach is also being used to enable solutions’ front ends. Each service runs in its own process and communicates with other processes using protocols such as HTTP/HTTPS, WebSockets, or AMPQ. Each microservice implements a specific business capability within a certain context boundary, and each must be developed autonomously and be deployable independently. Finally, each microservice should own its related domain data model and domain logic and could be based on different data storage technologies such as SQL or NoSQL, and different programming languages. Figure 10.45 illustrates many patterns associated with microservices architectures such as motivating patterns and solution patterns. Multiple service hosts, database per service, access token, and health check API are examples of microservices. At a high level, microservices provide long-term agility and enable better maintainability in complex, large, and highly scalable systems by making it possible to create applications based on many independently deployable services that each have granular and autonomous life cycles.
英語のヒント
マイクロサービスと呼ばれるマイクロサービスアーキテクチャは、ローカルやクラウド上に配備できる、小さなサービス、すなわち独立した部分の集合として、ソフトウェアによる仕組みを構築する手法である。クラウドは、ローカルのコンピューターではなく、インターネット上で動作するデータ、ソフトウェア、サービスを保持する。主にバックエンドのサービス提供に向けられた手法だが、仕組みのフロントエンドを実現するためにも使われている。各サービスは独自のプロセスで動作し、HTTP/HTTPS、WebSockets、AMPQなどのプロトコルを使って、ほかのプロセスと通信する。各マイクロサービスは、特定の状況の境界内で、具体的な業務能力を実装する。それぞれを自律的に開発し、独立して配備できなければならない。さらに、各マイクロサービスは、関連するドメインのデータモデルと論理を自分で持つべきであり、SQLやNoSQLなどの異なるデータ保存技術や、異なるプログラミング言語に基づいていてもよい。図10.45は、動機付けのパターンや解決策のパターンなど、マイクロサービスアーキテクチャに関わる多くのパターンを示す。複数のサービスホスト、サービスごとのデータベース、アクセストークン、ヘルスチェックAPIは、マイクロサービスの例である。高水準で見ると、マイクロサービスは、個別に独立して配備でき、それぞれが細かい単位で自律したライフサイクルを持つ、多数のサービスに基づくアプリケーションの作成を可能にする。それによって、複雑で大規模かつ高い拡張能力を持つシステムに、長期的な俊敏性と、よりよい保守性をもたらす。
Figure 10.45

data source: C. Richardson, "Microservice Architecture pattern," https://microservices.io/patterns/microservices.html; attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 10.45 Multiple service host, database per service, access token, and health check API are examples of microservices. (data source: C. Richardson, "Microservice Architecture pattern," https://microservices.io/patterns/microservices.html; attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.45 複数のサービスホスト、サービスごとのデータベース、アクセストークン、ヘルスチェックAPIは、マイクロサービスの例である。(データ出典:C. Richardson「Microservice Architecture pattern」、https://microservices.io/patterns/microservices.html。帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
As an additional benefit, microservices can scale out independently. Instead of having single monolithic applications that must be scaled out as units, specific microservices may be scaled instead. This enables scaling just the functional area that needs more processing power or network bandwidth to support demand rather than scaling out other areas of the application that do not need to be scaled, which results in cost savings because less hardware is required.
英語のヒント
さらに、マイクロサービスには、独立してスケールアウトできるという利点がある。一つの単位としてスケールアウトしなければならない単一の一体型アプリケーションに代えて、特定のマイクロサービスだけを拡張できる。これにより、需要に対応するために追加の処理能力やネットワーク帯域幅が必要な機能領域だけを拡張し、必要のないほかの領域までスケールアウトせずに済む。必要なハードウェアが少なくなるため、費用の節約につながる。