企业IT基础架构的重新平台化是不小的任务,重新平台化通常是由一组不断变化的关键业务驱动因素引发的,简而言之,就是目前支持企业业务的平台不能再处理和推动业务发展所需的工作负载。

数字化转型的核心是数据,数据已经成为商业中最有价值的货币。由于格式不兼容、传统数据库的局限性以及无法灵活地合并来自多个来源的数据,企业长期以来一直受到其使用数据的困扰,而新技术则可以解决这一困境。

改善软件部署模式是消除数据使用障碍的一个主要方面,更高的“数据灵活性”是需要更灵活的数据库和更具可扩展性的实时流式传输平台。目前想要为企业提供灵活的实时“数据结构”需要至少七种基础技术的相互结合。

与原先技术不同,这七种技术能够扩展以满足很多用户和用例的需求,对于企业而言,能够实现更快、更明智的决策并创造更好的用户体验。

1. NoSQL数据库

RDBMS在数据库市场上占据了近30年的主导地位。但是,面对数据量的不断增长以及数据处理速度的加快,传统关系数据库已经显示出不足。NoSQL数据库由于其速度和扩展能力而渐渐崭露头角。就文档数据库而言,从软件工程的角度提供了一个更简单的模型。这种更简单的开发模式可加快产品上市速度,并帮助企业更快响应客户和内部用户的需求。

2.实时流媒体平台

实时响应客户对客户体验至关重要。在过去的10年中,面向消费者的行业经历了巨大的破坏,这与公司对用户实时作出反应的能力不无关系。

消息驱动的应用程序已存在多年,但流媒体平台的规模要远远好于前者,而且成本要低得多。流媒体技术的进步为许多优化业务的新方式打开了大门。流媒体平台不仅要实时响应客户,还要为软件开发和测试团队提供实时反馈回路,事件流还可以帮助公司提高产品质量、更快地获得新的软件。

3.Docker和容器

容器对开发人员、操作人员以及企业本身都有很大的好处。传统的基础设施隔离方法是静态分区,即为每个工作负载分配一个单独的固定资源片段(无论是物理服务器还是虚拟机)。静态分区更容易排除故障,但是不能充分利用硬件,导致成本较高,交付实质性未充分利用的硬件成本很高,例如,Web服务器平均只消耗可用总计算量的10%。

容器技术的巨大优势在于其创造了新型隔离的能力。不了解容器的人可能会认为他们通过使用Ansible,Puppet或Chef等工具也可以获得同样的效果,但事实上这些技术具有很强的互补性。

此外,无论你如何尝试,这些自动化工具都无法创建在不同基础架构和硬件设置之间自由移动工作负载所需的隔离。同一个容器可以在本地数据中心的裸机硬件上或公共云中的虚拟机上运行,无需进行任何更改,这才是真正的工作负载移动。

4.容器存储库

容器存储库对于敏捷性至关重要,如果没有用于构建容器映像的devops进程以及用于存储它们的回购站,那么每个容器都必须在该容器可以运行的机器上构建。通过存储库,可以在配置为从该存储库读取的任何计算机上启动容器映像。

在处理多个数据中心时,情况会变得更加复杂。如果在一个数据中心内建立一个容器图像,那么如何将图像移动到另一个数据中心?理想情况下,通过利用融合数据平台,可以在数据中心之间对存储库进行镜像。这里的一个关键细节是,内部部署和云之间的镜像功能可能与原先内部部署数据中心之间的镜像功能大不相同。

5.容器编排

不是静态硬件分区,每个容器看起来都是它自己的私有操作系统。与虚拟机不同,容器不需要计算和内存的静态分区,管理员能够在服务器上启动大量容器,而无需担心内存量。有了像Kubernetes这样的容器编排工具,启动、终止和移动容器,甚至是在其它重新启动容器都会变得非常容易。

添加了新的基础设施组件之后(例如MapR-DB或MongoDB等文档数据库),容器中很多东西的部署问题就需要我们考虑了,例如,MapR-ES或Apache Kafka之类的事件流式传输平台、Kubernetes之类的编排工具以及实施用于构建和部署软件的DevOps流程。这就引出了我们第六个要讲的技术——微服务。

6.微服务

从历史上看,微服务的概念并不新鲜,但是今天的不同之处是在于启用技术(NoSQL数据库,事件流,容器编排)可以随着数千个微服务的创建而扩展。如果没有数据存储、事件流和架构编排的新方法,大规模微服务部署将不可能实现,管理大量数据、事件和容器实例所需的基础架构将无法扩展到所需的级别。

微服务都是关于提供敏捷性,通常由一个功能或一小组功能组成。工作的功能单元越小且越集中,创建、测试和部署服务就越容易。这些服务必须解耦,否则就会失去敏捷性。

微服务可以依赖于其他服务,但通常是通过负载平衡的REST API或事件流。通过使用事件流,可以利用请求和响应主题轻松跟踪事件的历史记录。由于整个请求流和请求中的所有数据都可以在任何时间点重播,因此这种方法对故障排除具有重大益处。

由于微服务封装了一小部分工作,并且彼此分离,所以随着时间的推移,更换或升级服务几乎没有障碍。在旧模式下,依赖像RPC这样的紧密耦合就意味着必须关闭所有连接,才能重新建立,而负载均衡就成了一个大问题,手动配置非常容易出错。

7. Function as a service

微服务在行业中已占据了主导地位,因此无服务器计算也渐渐兴起。以FaaS方式创建微服务,代码可以包装在轻量级框架中,并内置于容器中按需执行,然后自动进行负载平衡。FaaS的优点在于能够使开发人员专注于功能。

触发事件是FaaS的关键组成部分。如果没有它,那么只有在完成工作的情况下,才能调用函数和消耗资源。功能的自动调用使得FaaS真正具有价值。想象一下,每当有人读取用户的配置文件时,都会有一个审计事件,一个必须运行以通知安全团队的功能。需要注意的是,使用像FaaS这样的部署模型来完成工作流程是非常简单的。

七剑合璧,天下无敌

触发服务的其实是事件流中的事件,虽然某些类型的事件会被普遍的用作触发器,但其实任何事件都可以作为触发器,例如将文档更新设置为触发事件,对新文档运行OCR过程,然后将OCR过程中的文本添加到NoSQL数据库。如果我们以更有趣的方式思考,每当上传图像时,都可以通过机器学习框架进行图像识别和评分,定义一个函数,该事件触发该函数,并且函数完成其工作。

FaaS将成为采用微服务的下个阶段。但是使用FaaS时要考虑一个问题,那就是供应商锁定。FaaS隐藏了特定的存储机制、特定的硬件基础架构和编排,这对开发人员来说都是伟大的事情。但也由于这种抽象,托管的FaaS产品是行业有史以来最大的供应商锁定机会之一。由于这些API不是标准化的,所以从公有云提供的FaaS迁移而无需放弃已经执行的近100%工作,几乎是不可能的。如果FaaS采用一种更有系统的方法,利用聚合数据平台中的事件,那么在云提供商之间移动就变得更容易了。

如何协助企业IT架构转型相关推荐

  1. 从阿里中台战略看企业IT架构转型之道(下)

    此文是我阅读<企业IT架构转型之道>一书的学习笔记的下半部分,所有内容出自钟华老师的这本书. 上半部分Part1~Part5请点击这里 Part 6 异步与缓存原则 异步化 事务 => ...

  2. 从阿里中台战略看企业IT架构转型之道(上)

    此文是我阅读<企业IT架构转型之道>一书的学习笔记的上半部分,所有内容出自钟华老师的这本书. 零.为何阅读<企业IT架构转型之道> 在加入X公司后,开始了微服务架构的实践,也开 ...

  3. 共享服务中心建设原则-《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》

    一.前言 今天重看了<企业IT架构转型之道-阿里巴巴中台战略思想与架构实战>的第4章-共享服务体系搭建. 书中所描述的共享服务中心,提到的实际上包含两个层次. 其一,底层的PaaS能力,它 ...

  4. 《企业IT架构转型之道》随笔之SOA、ESB、微服务、API网关(2019-08-07)

    <企业IT架构转型之道>随笔之SOA.ESB.微服务.API网关(2019-08-07) 名词注释 为什么会进化 展望 作者在本章中提到的"烟筒式"系统建设模式,在目前 ...

  5. 企业IT架构转型之道:阿里巴巴中台战略思想与架构实战. 3.1 淘宝平台“服务化”历程...

    3.1 淘宝平台"服务化"历程 2007年,淘宝已经拥有超过500人的技术团队规模,整个淘宝网站是一个几百兆字节的WAR包,大小功能模块超过200个,在当时淘宝业务计划处于每隔几个 ...

  6. 读《企业IT架构转型之道》

    本书还没读完,暂摘抄一些概念,因为自身做的新系统也在转型,从单体式到一体化一年来遇到很多问题有技术上的,也有团队协作的,过程是痛苦且复杂的,所以在刚翻阅前几十页时候,对于淘宝技术团队转型共享团队很有同 ...

  7. 企业IT架构转型之道:阿里巴巴中台战略思想与架构实战. 2.4 赋予业务快速创新和试错能力...

    2.4 赋予业务快速创新和试错能力 在如今的互联网时代,企业都在全力谋求着自身在互联网环境下的发展和转型,特别是在2015年,国务院出台<关于积极推进"互联网+"行动的指导意 ...

  8. 奇文共赏之--企业IT架构转型之道/中台战略/数据中台

    现如今互联网+深入各行各业,这几年对我们传统行业的冲击越来越大,大家的危机感越来越强,我想大家都有同感.阿里巴巴作为互联网领域的先行者,从1999年到现在做了十分有启发意义的实践与探索. 此书中,作者 ...

  9. 企业IT架构转型是大势所趋

    2017年4月26日,南京,我们又来了. 这一次,我们还是一如既往的火爆.但是,这一次我们有点不一样,带来了非常多新鲜的话题.一起来看看有哪些不一样吧. 在"企业级互联网架构-南京峰会&qu ...

最新文章

  1. docker 常用命令集合
  2. 常考数据结构与算法:删除链表的倒数第n个节点
  3. Android5.1.1源码 - 让某个APP以解释执行模式运行
  4. 五十八、Vue中的计算属性,方法和侦听器
  5. 小论接口(interface)和抽象类(abstract class)的区别
  6. [Java网络编程基础]InetAddress的使用
  7. 简而言之Java.io:22个案例研究
  8. C++实现单链表的反序
  9. 抽一个读者,送她一台MacBook!
  10. mongodb聚合操作之group
  11. php对浮点数小数取整,php除法取整数
  12. 绥化二中高考成绩查询2021,2014绥化中考
  13. 小水智能-智能楼宇智慧建筑3D可视化系统,实现对实时数据的整合处理
  14. 小米怎么快速回到顶部_实在没想到,小米有6种截屏方法!以前只知道3种,实在太吃亏了...
  15. 浮点数详解(一篇彻底学通浮点数)
  16. 777后无效 执行chmod_执行chmod -R 777 / 补救
  17. 权限梳理_请梳理头发,擦鼻子-我单身父亲的月
  18. vue手写上一页下一页
  19. excel图片技巧:如何为报表配上节日祝福动画
  20. 微信小程序开发——实现修改文章富文本(hf_editor)输入框回显文章功能

热门文章

  1. 如何使用Node.js来制作电子音乐-和弦
  2. ping命令常用参数
  3. 2021年,自媒体人该怎么建立自媒体矩阵?
  4. 程序员必看:一款巨好用的免费简历“神器”(据说有了它,再也不发愁找工作啦!)
  5. 案例-背景图片的使用(background)
  6. iOS基础-高级进阶面试题
  7. 有同学问我Java工程师怎么入门?我马上甩出C认证模拟测试推荐给他!
  8. java版,实现人民币的大小写转换
  9. 今天我被微软狠狠地雷翻了
  10. 项目非组件文件进行路由跳转【react与vue等其他框架均可使用】