有问题?

分类
< 所有主题

利用CORE策略和架构C/P来管理技术

来源:https://www.infoq.com/articles/corearchitecture/
翻译:周金根

信息技术的架构分为不同的层次 – 企业、解决方案或软件,以及不同的领域 – 业务、信息、应用、平台或基础架构。IT 架构师通过协作解决方案想法和理解技术,在业务转型、系统设计和发展以及技术进步方面发挥着至关重要的作用。

Architecture in information technology comes in different levels –enterprise, solution or software, and different domains –business, information, application, platform or infrastructure. The IT architect plays a crucial role in business transformation, system design & evolution and technological advancement by collaborating solution ideas and making sense of technologies.

用正确的技术和架构帮助企业不仅需要运用我们的左脑,还需要运用右脑来实现审美、沟通和其他因素。为了有效地管理技术和架构,IT 架构师需要在他们的思维过程中采取结构化的方法。本文介绍了一个名为 CORE 策略的新工具,并重点介绍了使用C和P进行架构设计的关键考虑因素。

Helping business with right technology and architecture involves the application of not only our left brains, but also right brains for aestheticism, communication and other factors. To manage the technology and architecture effectively, IT architects need to take a structured approach in their thought processes. This article presents a new tool called the CORE strategy, and highlights key considerations of architecture design with the C’s and P’s.

CORE 策略

在信息技术领域,我们肩负着创新和变革的使命。为了完成这一任务,技术领导者需要关注能够为战略执行和业务增长提供充满活力和可持续解决方案的能力和机会。

In information technology, we are in the mission of innovation and transformation. To accomplish this mission, technology leaders need to focus on capabilities and opportunities which will produce vibrant and sustainable solutions for strategy execution and business growth.

你如何在组织中寻找机会?在我看来,这些机会可以通过采取四项行动来实现 – 整合 Consolidate优化 Optimize刷新 Refresh使能 Enable(CORE)组织的技术和系统组合。

What do you do to pursue the opportunities in an organization? In my opinion, these opportunities can be realized by taking four actions –Consolidate,Optimize,Refresh and Enable(CORE) on organization’s technology and system portfolios.

这四个机会向量构成了一个便利的规划工具的基础,我称之为 CORE 策略。受到 Kim&Mauborgne[1] 的四行动框架的启发,CORE 的想法来自我作为 IT 经理和架构师的经验。CORE 的全部内容是管理技术、根据提高或创造能力(如图右侧所示)确定 IT 支出的优先级和分配资源,以及降低或消除成本和风险(如图左侧所示)。

These four opportunity vectors form the basis of a handy planning tool, which I call the CORE strategy. Inspired by Kim & Mauborgne [1]’s Four Actions Framework, the idea of CORE came from my experience as IT manager and architect. CORE is all about managing technologies, prioritizing IT spending and allocating resource on the basis of raising or creating capabilities (represented at right-hand side in the diagram), and reducing or eliminating cost & risk (represented at left-hand side in the diagram).

它应该促使人们为有效管理 IT 投资组合和项目付出更多的代价。让我举一个例子,美国一家大型银行采取了类似的行动,以提高客户体验并节省数亿成本。其 IT 职能部门在一个多年转型项目中将多个会计系统(继承自并购)整合为一个战略目标系统。

It should drive to get more bangs for the buck for the effective management of IT portfolio and program. Let me give you an example where a major US bank took the similar action to enhance customer experience and save hundreds of millions in cost. Its IT function consolidated several accounting systems (inherited from mergers & acquisitions) into a strategic target system in a multi-year transformative project.

行动1:整合 是指企业中目前存在多个解决方案的机会领域,但需要通过消除冗余系统和平台,将其合理化并整合为一个可重复使用的制胜解决方案,以节约成本。整合有助于组织在消除多年来形成的竖井和复杂性的同时,确定应遵循哪些标准,以及有助于实现这些目标的特定技术、蓝图和参考模型。最大限度地减少技术多样性,仅定制提供竞争差异化的解决方案始终是一个不错的选择。这一行动也被称为“合理化”。

ACTION 1: CONSOLIDATE refers to the opportunity area where multiple solutions currently exist in the enterprise, but need to be rationalized and consolidated into one reusable, winning solution by eliminating redundant systems and platforms in order to save cost. Consolidation helps an organization identify what standards to move towards as they eliminate the silos and complexities they have built up over the years, along with the specific technologies, blueprints and reference models that will help them get there. Minimizing technical diversity and only customizing solutions that provide competitive differentiation is always a good option. This action is also known as “Rationalize”.

行动2:优化 描述了当前解决方案在性能、可扩展性、可用性或成本等方面不是最佳的改进机会,需要找到更好、高效的解决方案来消除性能瓶颈并提高业务流程的能力。为了转型和推动业务发展,我们必须拿出更快、更好、更便宜的下一代解决方案。系统应该是松散耦合的,并且可以使用开放和基于标准的技术(如 SOA)而不是专有工具轻松连接。互操作性是优化和整合计划的关键考虑因素。

ACTION 2: OPTIMIZE describes the improvement opportunity where current solution is non-optimal in terms of performance, scalability, availability or cost etc., and need to find a better and efficient solution to remove performance bottleneck and raise the capabilities of business process. To transform and move the business forward, we have to come up with next generation solution which is faster, better and cheaper. System should be loosely-coupled and easily connectable using open and standard based technologies like service oriented architecture (SOA), instead of proprietary tools. Interoperability is a key consideration in optimization and consolidation initiatives.

行动3:刷新(也称为“更新”或“升级”)涉及现有系统或技术正在衰退的机会领域,需要更换或升级以降低风险和控制成本。技术资产具有自然的可用寿命,需要在达到该寿命之前进行更新。维护旧技术的成本有时超过替换同等资产的成本。例如,使用 8 年的存储框架的维护成本可能超过购买新框架的成本。技术能力继续快速发展。考虑一下具有最新 HTML5 功能的浏览器技术。在企业中,将员工的浏览器升级到较新版本并不是一项简单的活动,因为它可能涉及多个核心业务应用程序中的代码更改和测试。认识、规划和执行技术更新战略将使技术组合保持在适当的水平,以限制技术债务和平衡投资。

ACTION 3: REFRESH (also known as “Renew” or “Upgrade”) pertains to the opportunity area where existing system or technology is waning, and need to be replaced or upgraded in order to reduce the risk and control the cost. Technology assets have a natural usable lifespan and need to be refreshed before that lifespan is reached. The costs of maintaining old technology sometimes exceeds to the cost of replacing the equivalent asset. For example, the maintenance costs of eight year old storage frame can exceed the costs of purchasing a new one. Technology capabilities continue to evolve on a rapid basis. Consider the browser technology with the latest HTML5 features. Upgrading employee’s browser to newer version is not a simple activity in the enterprise, as it may involve code change and testing in several core business applications. Recognizing, planning, and executing a technology refresh strategy will maintain the technology portfolio at an appropriate level to limit technology debt and balance investment.

行动4:使能 代表新的机会领域,在该领域中,企业当前不存在特定的业务或技术能力,需要引入新的服务或解决方案。架构师需要试验、创新,并为未来的增长和战略投资提出新的解决方案。他们将不确定性转化为机会,产生洞察,发现要做的工作,并通过生产新产品和服务创造商业价值。在当今的数字时代,制定新技术和新兴平台孵化战略至关重要。

ACTION 4: ENABLE represents the new opportunity area where a particular business or technology capability does not currently exist in the enterprise, and new service or solution needs to be introduced. Architects need to experiment, innovate and come up new solutions for future growth and strategic investment. They turn uncertainty into opportunity, generate insights, discover the job to be done and create business value by producing new products and services. Having a strategy for new & emerging technologies and platform incubation is crucial in today’s digital age.

C 架构

IT 架构用于以经济高效的方式为业务问题实施高效、灵活和高质量的技术解决方案。在开发架构时,您会考虑什么?在 IT 行业,许多人过去都试图定义架构。尽管在定义上存在差异,但仍有一些共同的线索。

IT architecture is used to implement an efficient, flexible and high quality technology solution for a business problem in a cost-effective way. What do you consider in your mind while developing the architecture? In the IT industry, lots of people have tried to define architecture in the past. Despite having differences in the definition, there are certain common threads.

Perry&Wolf[2] 将软件架构模型定义为 {元素、形式和原理} 。根据 IEEE 标准 1471-2000[3] 和其他研究人员,软件架构代表运行系统的组织结构,体现在其构建块中,并以它们之间的关系以及与外部生态系统环境的关系为特征,以满足功能需求并实现所需的一组质量属性。这些结构构建块是组件、连接器和内容。就结构特征或架构关系而言,它们由约束、配置、容器和组成来表示。

Perry & Wolf [2] defined the software architecture model as {Elements, Form & Rationale}. According to IEEE Standard 1471-2000 [3] and other researchers, software architecture represents the organization structure of a running system – embodied in its building blocks and characterized in their relationships to each other, and to external ecosystem environment, in order to satisfy the functional requirements and achieve a desired set of quality attributes. These structural building blocks are component, connector and content. In terms of structural characteristics or architectural relationship, they are represented by constraint, configuration, container and composition.

根据 TOGAF[4] 和其他方法,企业或解决方案架构侧重于基于业务场景和客户需求发现和交付能力

As per TOGAF [4] and other methodologies, enterprise or solution architecture focuses on discovering and delivering capabilities based on business scenarios and customer’s requirements.

最后,架构归结为一个 C 的列表,这是架构的“什么”部分。

In the end, architecture comes down to a list of C’s (see above in italics) which are the “what” part of architecture.

组件:执行计算和处理,并在内部转换数据。这些结构构建块是子系统、流程、层、对象和服务模型,通常用方框表示。它们为系统提供了主要特性和功能。在 Perry&Wolf[2] 的模型中,它被描述为处理元素,而 Garlan 和 Shaw[5] 的模型中它被称为组件。

Component: Performs computation and processing, and transforms data internally. Theses structural building blocks are subsystems, processes, layers, object & service models, and usually represented as boxes. They provide main features and functionalities for the system. In Perry & Wolf [2]’s model, it is described as processing element, whereas Garlan and Shaw [5]’s model, it is called as component.

连接器:使能组件之间的外部和内部通信和交互。这些构建块(通常表示为一行)集中于集成接口、数据流以及组件和外部系统之间的协作机制。上下文定义了端到端生态系统环境中系统与外部上游和下游系统的依赖性、集成关系和流程。连接器的示例包括消息传输协议、远程过程调用。它们通常与 EAI 域中的 EIP 模式相关。Perry 和 Wolf[2] 将其描述为连接元件,而 Garlan 和 Shaw[5] 将其描述成连接器。

Connector:Enables the external and internal communication and interaction between components. These building blocks (usually represented as a line) concentrate on the integration interface, data-flow and the collaboration mechanics between components and external systems. Context defines the system’s dependency, integration relationship and process flow with external upstream and downstream systems in an end-to-end ecosystem environment. Examples of connector include message-transfer protocols, remote procedure calls. They are usually related to EIP patterns found in EAI domain. Perry & Wolf [2] describe it asconnecting element, whereas Garlan and Shaw [5] describe it asconnector.

内容:是通过连接器在组件之间传输的数据元素,并显示应用程序状态。该数据元素提供系统架构的信息视图,通常表示为消息文档。示例包括消息、数据模型和数据交换格式。Perry&Wolf[2] 将其描述为数据元素。

Content:Is the data element that is transferred between the components via a connector, and reveals the application state. This data element provides the information view of system architecture, and is usually represented as message document. Examples include message, data model and data interchange format. Perry & Wolf [2] describe it asdata element.

约束:定义交互组件、连接器和内容(即数据)之间的属性和关系规则,以实现所需的一组质量属性。它们通常通过应用架构原理来引入。示例包括无状态服务中的无状态状态,REST 中的统一接口。Perry 和 Wolf[2]将其描述为表单。

Constraint:Defines the properties and rules of relationship among interacting components, connectors and content (i.e. data) in order to achieve a desired set of quality attributes. They are usually introduced by the application of an architecture principle. Examples include statelessness in stateless service, uniform interface in REST. Perry & Wolf [2] describe it as form.

配置:是约束的集合,表示交互组件、连接器和数据之间关系的总体结构。配置可以命名为特定的体系结构样式,例如 REST。

Configuration: Is a collection of constraints, and represents the overall structure of relationships among interacting components, connectors and data. Configuration can be named as a specific architectural style, such as REST.

容器:是为架构组件提供统一生命周期管理功能的运行时、现场环境。Spring 的 DI/IoC 框架是容器的一个例子。

Container:Is the runtime, live-in environment that provides uniform life-cycle management capabilities for architectural components. Spring’s DI/IoC framework is an example of container.

组合:定义如何从其他几个组件中组合一个更大的组件。示例包括使用 SOA 中的几个后端服务构建的前端复合服务。分解正好相反,其中较大的组件被拆分为较小的组件。

Composition:Defines how to compose a larger component from the several other components. Examples include front endcomposite servicewhich is built using several backend services in SOA. Decomposition is just the opposite scenario, where a larger component is split into smaller components.

选择:架构师在决定或推荐业务问题的最佳解决方案之前,探索和评估多种设计选项(或选择)、它们的利弊、一种方案对另一种方案的权衡。解释想法、理由和替代方案后果的能力是关键。决策通常由架构原则和组织技术标准决定。这可以与 Perry&Wolf 的[2]理论进行比较。

Choice:Architects explore and evaluate multiple design options (or choices), their pros & cons, trade-offs of one alternative over another before deciding or recommending the best possible solution of the business problem. The ability to explain ideas, rationale and the consequences of the alternatives is the key. Decision is usually governed by architecture principles and organizational technology standards. This can be compared with Perry & Wolf’s [2]rationale.

客户:是指对计算机系统有利害关系和兴趣的人,通过提供业务目标、用例和需求,在任何架构工作中扮演关键角色。架构师将解决方案与利益相关者进行社会化,以获得支持并建立共识。对工程解决方案、架构模型和路线图进行审查并验证其可行性,以获得批准和认可。客户和用户体验是整个解决方案空间的关键因素。

Customer:Is the people who has the stakes and interest in the computer system, and plays a key role in any architecture work by providing the business goals, use cases and requirements. Architect socializes the solution with stakeholders in order to garner support and establish consensus. Engineering solutions, architecture models and roadmap are reviewed and validated for viability to get their approval and buy-in. Customer & user experience is a key factor in overall solution space.

关注:是利益相关者感兴趣的系统的关键方面,并决定系统的可接受性。它们也称为架构属性或质量属性。关注点分为两类:纵向关注点(如功能性、可用性)和横向关注点(例如安全性、验证、事务等)。

Concern:Is the key aspect of the system where stakeholders have interest, and determines the acceptability of the system. They are also known as architecture properties or quality attributes. Concerns are classified into two categories: vertical concerns such as functionality, usability and horizontal concerns such as security, validation, transaction etc.

沟通:架构师与跨职能团队分享和交流他们的想法和观点,以便为提议的解决方案达成共识。软技能在与业务和技术社区有效沟通和协作设计解决方案和可交付成果方面发挥着重要作用。

Communication:Architects share and socialize their ideas and views with cross-functional teams in order to bring consensus for the proposed solution. Soft-skill plays a significant role in communicating and collaborating the design solution and deliverables effectively with business and technical communities.

能力:描述 IT 组织通过使用人员、流程和技术来执行某些业务功能或满足客户需求的能力。示例包括客户关系管理(CRM)、人力资本管理(HCM)、企业资源规划(ERP)、单点登录(SSO)等。基于能力的建模用于将业务从一种状态转换为另一种状态,以实现企业业务架构中的业务执行和增长机会。

Capability: Describes the ability of IT organization to perform certain business functions or meet customer requirements by using people, process and technology. Examples include customer relationship management (CRM), human capital management (HCM), enterprise resource planning (ERP), single sign-on (SSO) etc. Capability based modeling is used to transform business from one state to another for business execution and growth opportunities in enterprise business architecture.

变革:是当今商业环境中唯一不变的因素,需要迅速接受和采纳,以便在市场上具有竞争力。如果架构易于配置,并且基于通用基础和构建块,以实现灵活性和灵活性,那么架构会更好。重点不仅应放在持续构建上,还应放在适应不断变化的业务需求上。架构师应该扮演变更代理和变更仲裁者的角色。

Change:Is the only constant factor in today’s business environment, and need to be embraced and adopted quickly in order to be competitive in the market place. Architecture will be better off if it is easily configurable and based on common foundation and building blocks to enable agility and flexibility. Focus should be on not onlybuild-to-last, but alsobuild-to-adopt to meet the ever-changing business demands. Architect should play the role of change agent, as well as, change arbiter.

挑战:指我们当前在组织或行业中面临的重大问题。除了业务问题,有时架构师还面临技术或设计挑战。一个好的架构师应该能够有效地应对这些挑战。物联网、移动计算、大数据、网络安全和其他破坏性技术带来了新的IT挑战。

Challenge:Refers to the big issue we are facing currently in the organization or industry. In addition to business problem, sometimes architects face technical or design challenges. A good architect should be able to tackle these challenges effectively. Internet of things, mobile computing, big data, cyber security, and other disruptive technologies present new IT challenges.

复杂性:在企业中有时不可避免。架构师应该能够识别必要的系统复杂性,并通过抽象或分解来管理它。在现实世界中,复杂系统由简单的工作系统演变而来。

Complexity:Is sometimes unavoidable in the enterprise. Architects should be able to identify the necessary system complexity and manage it by abstraction or decomposition. In the real world, complex systems evolve from simple working systems.

成本:最小化成本和最大化质量是IT领域每个人的业务,包括架构师。建筑师需要找出设计方案,并决定更快、更好、更便宜的解决方案。高效的技术总是有利于公司的底线。

Cost: Minimizing cost and maximizing quality is everybody’s business in IT including architect. Architects need to find out the design options and decide a faster, better and cheaper solution. Efficient technology is always good for company’s bottom-line.

P 架构

除了结构构建块及其关系之外,架构还代表了控制系统设计和发展的原则和原理(根据IEEE标准1471-2000[3]和TOGAF[4])。这些原则通常由架构委员会制定,以管理 IT 治理和企业政策。这里是架构 P 的亮点,通常是“为什么”部分。

In addition to structural building blocks and their relationships, architecture represents the principles and rationales governing system’s design and evolution (as per IEEE Standard 1471-2000 [3] and TOGAF [4]). These principles are usually formulated by the architecture board to manage IT governance and enterprise policies. Here is the highlights of architectural P’s which are usually the “why” part.

原则:描述组织中获取、设计、配置和管理技术和服务的指导原则。这些公认的规则存在于架构和设计领域,以推动系统的设计和发展。例如,简单设计是一种架构原则,而依赖注入是一种设计原则。

Principle: Describes the fundamental tenet of guidance to acquire, design, configure and manage technologies and services in an organization. These well-accepted rules exist in both architecture and design domains to drive the system’s design and evolution. For example, simple design is an architecture principle, where as dependency injection is a design principle.

政策:公司制定政策以降低风险,满足法律法规要求和合规性。架构师应该认识到在设计架构时执行这些策略。

Policy:Companies formulate policies to mitigate risks and to meet legal and regulatory requirements and compliance. Architects should be cognizant to enforce those policies while designing the architecture.

实践:在设计或实现架构时,架构师需要制定和应用好的实践,避免坏的实践。最小化对象的分布边界是面向对象设计中实现性能的最佳实践的一个例子。

Practice:Architects need to formulate and apply good practices and avoid bad practices while designing or implementing the architecture.Minimize distribution boundaries for objects is an example of best practice in object-oriented design to achieve performance.

模式:是在给定上下文中设计问题的一个经过验证的实现解决方案,通常以一致的格式命名和记录。模式适用于架构和设计空间。例如,模型视图控制器是一种架构模式,其中作为观察者是一种设计模式。范式是一种超级模式,代表了SOA、面向对象(OO)和表示状态转移(REST)等架构风格。

Pattern:Is a proven implementation solution of a design problem within a given context, and usually named and documented in a consistent format. Patterns are applicable in both architecture and design space. For example, model-view-controller is an architecture pattern, where as observer is a design pattern. Paradigm is sort of supper pattern and represents the architectural style like SOA, object orientation (OO) and representational state transfer (REST).

人员:仅靠技术无法解决所有的商业问题。从长远来看,拥有人员、流程和技术的平衡组合将创造一个双赢的可持续解决方案。要执行一个商业模式,需要具备特定技能、思维和经验的人。通过对员工的投资,我们建立了一个强大而成功的 IT 组织。

People:Technology alone cannot solve all business problems. Having a balanced mix of people, process and technology will create a winning and sustainable solution in the long run. To execute a business model, it calls for people with particular skills, mindset and experience. By investing in people, we build a strong & winning IT organization.

流程:流程在业务运营模式中起着关键作用。架构师需要标准化和集成业务和 IT 流程,以构建业务执行和增长的核心能力。流程应该是精益、自动化和高质量的。

Process:Process plays a key role in business operational model. Architects need to standardize and integrate business and IT processes that will build the core capabilities for business execution and growth. Process should be lean, automated and of high quality.

产品:除了基本的问题解决技能和业务基础知识外,架构师还应具备技术产品的领域知识,这样他们才能更有效地解决业务问题。

Product:In addition to basic problem-solving skills and business fundamentals knowledge, architects should have domain knowledge on technology products, so that they can solve business problems more efficiently.

激情:架构师应该充满激情和活力,学习和探索新的和新兴的技术趋势。他们需要在自己的卓越中心试验这些技术。

Passion:Architects should be passionate and energetic to learn and explore new and emerging technological trends. They need to experiment these technologies in their own center of excellence.

实用主义:架构师运用实用知识和常识方法,通过技术、流程和实用主义的正确组合来解决商业问题。

Pragmatism:Architects apply practical knowledge and common-sense approach by using a right mix of technology, process, and pragmatism to solve business problem.

结论

架构师和技术经理应该努力寻求更好的架构和设计,以经受住时间的考验,并为成千上万的用户创造系统使用环境。CORE 将是一个指南针工具,用于确定重大计划的优先级、提高业务绩效、推动技术方向和设计有效的解决方案。该框架可以帮助 IT 领导者调整业务决策,推进技术路线图和成熟度,而不必过于深入战术问题或陷入运营细节。它应该有助于建筑师取得成功,并在他们的角色中获得奖励。

Architects and technology managers should strive for better architecture and design which will survive the test of time and create the milieu for system use by thousands of users. CORE would be a compass tool to prioritize major initiatives, elevate business performance, drive technology direction, and design effective solution. This framework can help IT leaders align business decisions, and advance technology roadmaps and maturity without diving too deeply into tactical issues or getting bogged down into operational details. It should help architects to succeed and earn stripes in their roles.

感谢

我想感谢我过去和现在的同事和经理,他们让我了解了架构和管理的细微差别。特别感谢 Mark Little 对本文的评论和反馈。本文提出的观点是我个人的观点。

I’d like to acknowledge my past and present colleagues and managers from whom I learned the nuances of architecture and management. A special thank you to Mark Little for his great review and feedback on this article. The ideas presented in this article are my personal opinions.

参考

  1. Kim and Mauborgne: Blue Ocean Strategy – How to Create Uncontested Market Space and Make Competition Irrelevant. Harvard Business School Press, 2005.
  2. Perry and Wolf: Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes, 17(4), Oct. 1992, pp. 40–52.
  3. IEEE Standard 1471-2000: Recommended Practice for Architectural Description of Software-Intensive Systems.
  4. The Open Group Architectural Framework (TOGAF).
  5. Garlan and Shaw: An introduction to Software Architecture. Advances in Software Engineering and Knowledge Engineering, Volume I, World Scientific Publishing Company, New Jersey, 1993.

About the Author

Suman Pradhanis a senior IT professional with 20 years of experience in healthcare, financials and technology sectors. His research and interest includes architecture & technology management, information security, application development & management, and web, integration & distributed technologies. He is currently a technical architect at a Fortune 500 healthcare company based in Chicago, USA.

下一个 书籍推荐《企业架构即战略》
目录