爱吧机器人网 » 技术 > 大数据 > 正文

经典实操!如何实施大数据微服务基础架构?

大约一年前,我们遇到了一些阻碍我们开发和部署过程的挑战,所有这些都来自我们当时所采用的单体架构。事实上,团队对下一次部署过程充满了担忧,这个过程变得困难并且涉及到了,部署新功能与开发它们一样是一个巨大的挑战。部署也非常耗时,即使在所有事情都应该如期完成的情况下也需要半天的时间才能完成。

为了缓解这些问题,我们着手建立新的精简基础设施。更具体地说,我们的目标是创建一个定义明确的流程,用于部署需要的任何基础设施,实现通用的基础设施元素,为所有区域和层提供可重复的环境,并确保流程不会对参与其中的任何人造成困扰。

为了实现这些目标,我们开始探索基于微服务架构的可能实现。因为我们所在的公司主要业务在金融服务领域,帮助电子商务企业检测并防止消费者欺诈。我们在追求这种新架构的同时,意识到需要采取充分有效的安全和数据处理措施。这样做可以最好地满足客户的要求,并满足监管我们行业的非常严格的数据保护法规。

正如您在本图中看到的那样,我们以前存在的架构是一个非常传统的架构,包括应用空间,单体应用,分段数据库以及在我们的企业内不可信的第三方软件。

\

当时我们的基础架构显示了一个复杂的环境,其中使用了大量的KVM。更复杂的是,这些KVM中的每一个都是独特的。这意味着它们不可复制,并且很难维护。

\

使用基于微服务的基础架构,对于该我们来说是第一次,对我们的团队来说也是一个全新的挑战。为了开始实施这个新的基础架构,我们开始引导旧环境,建立一个可编排的并丢弃一些对我们来说效果不好的组件。但我们也调整了我们的整个流程(包括构建管道),并为新基础架构准备并运行了服务器。然后,我们开始制作一个高度灵活的原型,适合与Docker和我们新的工具链完全集成。

我们早期学到的关于微服务的一点是:完美的微服务是完全解耦的。它什么都不知道。它不知道与谁交谈,在哪里或是谁。它不一定依赖于队列,也不应该(我们需要建立一个队列让我们学习这一点)。我们甚至不知道微服务在哪里,除非我们在基础设施中查找它。

从去年创建的最初原型开始,这种新的基础架构发展非常迅速。随着Docker的投入使用,我们能够设置一键式部署并实现我们的目标,即拥有可重复的环境。我们在迁移旧服务时遇到了一些问题,这导致我们发现节点包rc对Dockerize来说是一个非常有利的配置包。

为了支持我们的新基础架构,我们改变了我们的堆栈,我们利用GitLab作为解决方案的存储库。正如前面提到的,Docker使我们能够在重现性,通用性和可追踪性方面实现我们的目标。我们将Rancher作为我们的编排解决方案,因为它对我们的开发人员来说是最原生的体验,并且允许我们快速编译我们的遗留基础架构。Instana为我们提供强大的应用性能监控和微服务监控框架,能够实现有用的自动化,为我们提供对我们所需系统的深入了解。Kibana,Elasticsearch和Logstash也有关键部分。为了满足我们独特但关键的监管需求,NeuVector在这里扮演着一个重要角色,作为创建防火墙规则的自动化解决方案,并在微服务环境的复杂性中处理安全问题。

现在看看我们新的基于微服务的基础设施,显示我们的数据库是相同的,基本设计非常相似。改变之处在于,现在一切都变成了微服务,除了一些正在开发的遗留的庞然大物以及不可更改的必要第三方应用之外。

\

以前,我们依靠网络分段,使用四个分段网络来满足必要的数据保护法规。由于这些法规,我们有某些数据是不允许合并的,我们必须严格控制哪些应用可以访问哪些其他应用。

今天,我们能够满足我们的监管需求,同时利用更简单,更易维护的基于微服务的基础架构,这比以前更安全,因为由于docker和不可变的基础架构,环境约束可能更严格。现在只使用两个网络:数据库网络和应用网络。

\

分离数据库不是必需的,但是在这种情况下完成是为了提供高性能的专用服务。该设置还提供通用数据存储,Docker通常不需要这些数据存储,但可用于满足传统需求。同时,数据库等特殊服务需要特殊待遇;你想要保护他们更多,因为这是你的数据所在。还有一些例子,你可能需要解决某些特殊硬件需求,例如安装NVMe磁盘或安装特殊的CPU架构,如IBM的POWER8。将一个数据库放到Docker中会带来一些好处:它使数据库具有可重复性,通用性并且更容易扩展。我们使用CockroachDB来满足这些需求。

从这里开始,我们准备生产的最后一步就是准备好安全性,日志记录和监控功能。这样做需要深入了解我们的流量以及我们的应用的行为方式,不仅仅是为了安全的目的,而且还有助于解决问题。请记住,在微服务框架内,了解哪些服务可以相互沟通至关重要。这里Docker通过提供不变性产生另一个好处,它允许严格的访问规则来控制服务之间的内部通信或外部与互联网的通信。

对于安全自动化,我们严重依赖NeuVector来处理容器环境的复杂性。由于手动防火墙规则太大而无法在微服务系统中管理,因此需要一种自动安全的安全方法(NeuVector提供了这些规则自动为你创建优势)。此策略还有助于处理常见漏洞和CVE,这些漏洞和CVE是在问题修复程序可用时发布的。当生产中的镜像需要CVE修补程序时,NeuVector会通过触发我们的CI管道自动应用此修补程序,从而重新部署这些易受攻击的镜像。

关于它还有一点:容器安全软件在容器环境中也具有系统智能,进一步提高了安全性。不变性允许详细的行为分析,说明系统在受到攻击之前和之后如何行动,以便环境中的通常流量被列入白名单,并且立即识别并阻止任何异常行为造成伤害。这些安全功能是我们内部系统智能的完美延伸,并为实现我们公司合法维护的数据安全提供了巨大的支持。

有了新的微服务基础设施,我们将需要1-2个月的周期加速到1-2周。我们的小功能周期加速到以前正常sprint的时间。现在,小功能可以在准备就绪后立即推出,这意味着客户不会等待重要更新的部署。以前,分段不能按需完成,但是由于其过于复杂而在夜间部署,而且在每次部署之前我们都有大量准备时间,因为担心会发生什么。这被称为恐惧驱动的业务(fear driven business),最终导致更糟糕的软件:你遭受瘫痪,做出的恐惧决定会伤害你,而不是帮助你。现在,分阶段会根据需求进行,并且不需要准备时间。我们以前的麻烦部署流程已经很简单,开发和部署都更加迅速。

在实施这些解决方案的过程中,我们学到了一些重要的东西。我们发现,进行这些变革的主要挑战是在公司文化中赢得对他们的支持,因为毕竟系统和流程并不像人们那样情绪激动。当其他人看到商业案例有意义并为他们带来好处时,他们会接受并希望使用。实际上,许多开发人员非常讨厌操作,自动化不是替代方案,而是解决方案。根据我们团队的经验,如果你能够成功驾驭所涉及的文化变迁,那么实施高度自动化的基于微服务的架构会带来巨大的收益,因为Docker可以将你的步伐加快几个数量级。

上一篇:大数据——人工智能的“营养剂” 它的来源及应用介绍
下一篇:五分钟读懂大数据MapReduce架构及原理
精选推荐
基于生物启发的机器人很容易适应丢失附属器官
基于生物启发的机器人很容易适应丢失附属器官

[2017-12-17]  很多机器人被设计应用在危险环境,如灾难现场。在这些地方,他们的运动系统完全有可能被损坏。那这样会吓跑这些机器人吗?也许不是,如果它们像日本的东北和北海道大学创造的......

如何让人工智能机器人快速自我纠正错误并吃一堑长一智?
如何让人工智能机器人快速自我纠正错误并吃一堑长一智?

[2017-08-23]  莱斯特大学数学系的研究人员在《Neural Networks》杂志上发表了一篇文章,概述了新算法的数学基础,可以使人工智能收集错误报告并立即纠正,而不影响现有技能 ,同时还会积......

搭载人工智能的太空机器人CIMON 2乘SpaceX抵达国际空间站
搭载人工智能的太空机器人CIMON 2乘SpaceX抵达国际空间站

[2019-12-09]  12月5日,搭载人工智能的太空机器人西蒙2号(CIMON 2)乘坐SpaceX火箭Dragon货运舱,从佛罗里达州卡纳维拉尔角空军基地升空,前往国际空间 ...

MIT最新“人机”互连系统 让双腿机器人复制人体技能
MIT最新“人机”互连系统 让双腿机器人复制人体技能

[2019-11-01]  MIT的小爱马仕想借用你的大脑 ,图片来自: João Ramos爱吧机器人网消息,麻省理工学院(MIT)的研究人员展示了一种新型遥操作系 ...

谷歌在中国成立一个新的人工智能(AI)研究中心
谷歌在中国成立一个新的人工智能(AI)研究中心

[2017-12-13]  谷歌正在中国建立一个新的人工智能(AI)研究中心,希望进一步扩展到中国,以充分利用中国高度重视的人工智能技术。人工智能是目前地球上最具竞争力的领域之一,亚马逊,微软......

MIT用深度学习处理3D点云数据 应用于无人汽车等领域
MIT用深度学习处理3D点云数据 应用于无人汽车等领域

[2019-10-23]  如果你见过自动驾驶汽车,也许会对车顶上那个一直在旋转的圆柱体感到好奇。这是一个雷达传感器,无人驾驶汽车依靠它在现实世界中进行导航。 ...

美国喷气推进实验室的AI驱动无人机挑战人类飞行员
美国喷气推进实验室的AI驱动无人机挑战人类飞行员

[2017-12-08]  随着无人机及其组件越来越小,效率越来越高,功能越来越强大,我们已经看到越来越多的研究开始让无人机自主飞行在半结构化的环境中,而不依赖于外部定位。 宾夕法尼亚大学在......

农业将为高科技行业 农业机器人的应用领域
农业将为高科技行业 农业机器人的应用领域

[2017-12-17]  农业正在迅速成为一个令人兴奋的高科技产业,吸引了新专业人士,新公司和新投资者。技术发展迅速,不仅提高了农民的生产能力,而且促进了我们所知道的机器人和自动化技术的发展。...

本周栏目热点

[1970-01-01]   这可能是未来最具发展潜力的职业之一,我们从职场角度为你解读如何成为 大数据 工程师,以及它的职业发展 ...

从Facebook社交媒体情绪实验看大数据道德困境

[1970-01-01]   今年曝光的Facebook私自进行社交媒体用户情绪实验的新闻引起了不小的争议,这把很多数据实验卷入到社会 ...

大数据时代的美国隐私权保护制度

[1970-01-01]   2014年5月,美国总统执行办公室(Executive Office of the President)发布2014年全球大数据白皮书 ...

那些年,曾经被我们误读的大数据

[1970-01-01]   如今,业界和学术界一直在热议大数据,不管是学术圈还是IT圈,只要能谈论点儿大数据就显得很高大上。然 ...

未来农业将在田里处理大数据

[1970-01-01]   基普·汤姆(Kip Tom)是第7代家庭农场主,他的农场种植的主要农作物是玉米和大豆,他同时也在进行玉 ...