关于架构设计:技术白皮书现代企业架构设计

46次阅读

共计 4370 个字符,预计需要花费 11 分钟才能阅读完成。

【注】本文节译自:APIs and microservices: How to create modern enterprise architectures (bitpipe.com)

    创立和倒退 现代化的企业架构并非易事:这意味着突破繁多的、集中的零碎,转而应用 API 和微服务等工具反对更多云性能和自适应环境。在本指南中,咱们钻研了这些类型的云连贯架构的要害属性,并提供了有助于造就以 API 为核心的古代架构的实用倡议。接下来,咱们来探讨一下渐进式 Web 应用程序的呈现。
    云应用程序被认为是一种易于部署、批改、扩大和计量的服务。这为古代企业架构和利用程序设计须如何倒退提供了线索。这就是为什么,以及将来是什么样子。
    云服务自身建设在高度分布式的基础架构上,旨在对故障具备弹性,并且在不影响用户的状况下轻松挪动和调整大小。应用利用程序接口或 API 拜访和管制形象服务,将用户与实现细节齐全隔离。用户简直不晓得或不关怀服务在哪里运行或在什么类型的零碎上运行。这些外围属性坚固了云服务绝对于传统单体软件的泛滥劣势。
    然而,这些雷同的个性能够而且应该利用于构建在一个或多个云上的企业应用程序。事实上,应用共享、按需、可伸缩的云服务的细粒度微服务设计是任何古代企业架构的虚构需要,这些架构冀望满足数字业务的需要,服务于数百万挪动客户、智能机器和连贯的传感器。

互联的数字企业

    企业架构必须扭转的起因是高速连贯和数十年来计算能力指数级摩尔定律改良的交融。这使得便宜智能手机市场趋于饱和,公用事业规模的 IT 服务提供商得以创立云服务。这些技术独特推动了业务的巨大变化。无论您将其称为“新连贯经济学”(Gartner) 还是“无界企业”(AT&T Bell Labs),它都意味着企业以及随之而来的 IT 零碎和应用程序将越来越多地与人交互,还将以自动化业务流程和智能设施的模式与设施、虚构对象和其他软件交互。这是一种交互的爆炸式增长,Gartner 称之为数字网格。
    这对企业架构的影响变得更像是大型云服务——想想谷歌、Facebook 和 AWS——而不是应用单体的、集中的零碎来解决一直增长和越来越不可预测的工作负载。事实上,随着双模 IT、DevOps 和麻利开发等概念的引入以放慢数字业务翻新的步调,其影响将远远超出企业架构,深刻到 IT 如何开展业务的外围。然而咱们这里的重点是体系结构框架。

解决“连通性”

    然而,如果组织抉择施行它,演进的古代企业架构将相似于云。应用程序是否最终运行在 AWS 和 Azure 等共享的公共服务上;基于 Azure Stack、OpenStack 或 vCloud 等软件构建的公有基础设施;或者两者联合,架构必须假设共享的可用性,即便仅在组织外部,计量软件服务也能够立刻实例化、批改、扩大和互连。随着组织构建的数字服务看起来更像 Facebook 和 Uber,利用架构必须相似于云原生服务,而不是隔离在单个盒子上的单体零碎。
    古代架构应具备以下要害属性:

  • 将客户端接口与业务服务拆散:应用程序将采纳挪动和浏览器设计范式,客户端专门用于 UI 和后端服务的业务解决。
  • 人造分布式:后端应用程序将可能运行多个实例,提供弹性和可扩展性,同时反对继续、麻利开发流程所需的无中断更新。
  • 应用微服务:后端服务将针对特定性能而设计。它还能够在许多消费者之间共享,并能够轻松链接到特定应用程序的服务链中。将微服务视为用于构建任意简单性能的构件。服务能够在本人的 VM 中隔离运行,也能够作为共享操作系统实例的容器运行。它们还具备固有的自计量性能,以反对基于生产的计费、细粒度的性能跟踪和主动扩大。
  • 异步服务间通信:服务将应用音讯总线替换信息,而不是到网络套接字和文件共享的长久连贯。
  • 丰盛的服务组合:服务将公开元数据,容许它们作为宽泛服务组合的一部分进行治理、应用和编排,包含挪动和物联网利用后端、数据存储和剖析、消息传递、监控和平安。
  • 应用程序模板和设计模式库:
        该组合是模板的根底,这些模板将服务组合在一起,以解决各种利用开发需要和设计模式,比方 Azure 提供的。开发人员库还包含规范数据模型,用于抉择适合的数据服务,如对象存储、NoSQL、SQL、大数据,例如 Hadoop 和 Spark;以及满足特定需要的数据转换管道。
  • 以 API 为核心:API 是次要的,通常也是惟一的服务接口。客户端拜访通常是无状态的,但任何状态都通过音讯总线和后端数据服务解决,并且只有起码的客户端反对。
  • 自动化基础设施:服务链能够从用于部署、扩大、挪动和停用云实例的基础设施模板中实例化。服务计量和仪表用于对资源应用状况收回警报、流动、谬误状态、并触发主动修复,例如缩放、重启和人工告诉。
  • 细粒度的安全性:对单个服务的拜访通过基于角色的访问控制列表进行管制,策略定义为应用程序模板的一部分。用户身份和角色被集中管理,并可能与来自业务合作伙伴或公共在线服务的内部身份管理系统联结。

    待办事项清单

        领有正确的企业架构可能是将来数字业务打算成败的要害。对于 CIO 和 IT 高管来说,这意味着架构应该是执行层的优先级,它是通过 IT、应用程序开发人员和业务线经理之间的密切协作开发。对于 IT 经理和技术专业人士来说,企业架构的重要性须要一个由多学科专家组成的专门团队——例如 IT 经营、AppDev、DevOps、云经营和数据科学家等——他们的重点是开发、改良、更新和施行架构。
        一直倒退的企业架构是一直倒退的 IT 的一部分,它必须专一于灵便的服务翻新、开发和施行,以响应动静的数字业务需要。因而,它可能会随同 IT 外部的构造和文化变动,例如双模式和 DevOps 组织以及继续交付流程。对于 IT 业余人员来说,这是最具挑战性但又最激动人心的时刻之一。

    在网页和原生利用之间架起桥梁

        挪动利用和网站在用户体验方面从来采纳不同的模式。让用户拜访网站比装置应用程序要容易得多。但挪动利用往往会促成更具吸引力的用户体验。一种全新的全渠道利用交付模式,称为渐进式 Web 利用,无望提供两败俱伤的服务,并且是旧金山 O’Reilly Fluent 会议的热门话题。
        谷歌 Chrome 团队的一名资深软件工程师 亚历克斯·拉塞尔 (Alex Russell) 示意,他们之所以抉择“渐进式 Web 利用”这个词,是因为它们能够在标签中开始生存,并逐步变得像应用程序一样。有几个因素正在推动这一趋势,包含更好的缓存技术和使 Web 利用的行为更像挪动利用的新技术。
        一些先驱企业曾经证实了应用新模式有利于减少用户访问量和在网站上破费的工夫。Flipkart 开始施行渐进式利用,并且发现用户花在新网站上的工夫减少了三倍,每周访问者增长 40%。他们还发现 63% 转化率来自主界面访问者,他们甚至还没有公布推送告诉。

    解决分布式问题

    “我认为散发是软件中最艰难的问题,”Russell 说。在晚期,用户必须从软盘装置应用程序。当初,让用户装置应用程序要容易得多,但要让用户主屏上破费更多的精力和空间,依然有很多阻力。网络是最便捷的散发平台,但令人诧异的是,咱们还没有转向通过 URL 散发挪动利用。Web 应用程序能够更定期地更新,也能够通过单击链接进行更新,开发无需通过利用商店的审批流程。
        但依据 comScore Inc. 的钻研,用户往往会将大概 87% 的工夫花在挪动利用上,而花在智能手机上的挪动 Web 利用上的工夫只占 13%。另一方面,大多数用户将大部分工夫花在顶级利用上,而其他人则处于休眠状态。因为这些趋势,企业最终会破费大量资金让用户装置其软件的挪动利用版本。许多这些利用最终成为永远不会被应用的僵尸利用。这须要付出很大代价,因为其中许多利用都无奈进入顶层。
        与此同时,挪动网站也吸引了许多未装置该利用的独立访问者。这对于利用应用较少的企业(例如零售商)很重要。用户均匀每月应用 27 个利用,但拜访超过 100 个挪动网站。Russell 示意,用户对下载原生挪动利用的空间、带宽和工夫感到焦虑。

    超过技术

        一些解决密集型利用可能会像原生挪动一样体现得更好。但 Russell 示意,他置信挪动网络平台对于当今的大多数利用来说曾经足够了。他说,妨碍挪动网络应用应用的三个次要因素是短少主屏、短少推送告诉托盘拜访和短少离线拜访。

    主屏拜访

        Chrome 团队最近公布了 Web 利用清单(Web App Manifest)标准。晚期版本可在所有 Android 平台上运行。这提供了一个框架,用于通知挪动浏览器某个特定链接实际上是一个挪动利用。这样能够更轻松地将站点作为独自的窗口重新启动,该窗口的外观和行为相似于其余本机应用程序。
        开发人员只需在站点上蕴含一个清单文件,其中蕴含一个指向图标和利用名称的链接。Russell 说这是必要的,因为 Web 还没有利用构造的概念。直觉上,人们晓得博客与博客中的条目是不同的。清单提供了一种向浏览器显式申明这种区别的办法。

    冲破新极限

        去年,Chrome 团队在 Chrome 桌面版和 Android 版上推出了推送告诉。这使得 Web 应用程序能够更轻松地将更新定向到推送告诉托盘中。此性能也可用于三星和 Firefox 浏览器,并生成行为与本机应用程序十分类似的告诉——即便在浏览器敞开时也是如此。用户必须提供从特定站点接管告诉的权限。
        这种策略对零售商的网站很无效,例如,他们可能想向拜访商店的用户推出优惠券。它将容许用户接管这些更新,而无需在主屏上装置任何应用程序。零售商 Beyond The Rack 报告称,其 50% 的访客来自公布推送告诉。他们还发现在网站上破费的工夫和转化率有所增加。

    应用 Service worker 进行更好的缓存

        最初一个阈值是反对无效的离线性能。谷歌多年来始终致力于解决这个问题。最后,Google Gears 容许通过一组狭隘的形式来思考打造离线体验。应用程序缓存与当初被纳入 HTML5 标准的设计雷同。
        谷歌当初引入了服务工作者的概念。这种办法容许开发人员指定服务工作者在挪动设施离线或在线时的行为形式。Russell 说离线只是网络连接不稳固的一个特例。这种办法容许应用程序提供令人满意的用户体验,而不论其连通性如何。应用程序外壳能够在反复拜访时立刻缓存和加载。“当初,有了 Service Worker,你能够在没有 DNS、http 或 TLS 辅助的状况下将内容投放到屏幕上,”Russell 说。集体、网络播送、播客、视频、虚构贸易展览、钻研报告等——利用技术提供商的丰盛研发资源来应答市场趋势、挑战和解决方案。咱们的现场流动和虚构研讨会为您可能就您每天面临的问题和挑战取得中立的供应商评论、专家评论和倡议。咱们的社交社区 IT 常识交换使您能够与同行和专家实时共享事实世界的信息。

正文完
 0