通过Kubernetes(k8s)和容器应用敏捷性

Posted MapR社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Kubernetes(k8s)和容器应用敏捷性相关的知识,希望对你有一定的参考价值。

编者按: 这是本书的摘录,“微服务和容器实用指南:掌握云,数据和数字转换 ” - 您可以在这里下载电子书。https://mapr.com/ebook/microservices-and-containers/

容器为应用开发敏捷性提供了前排座位,这也解释了容器的快速采用和热情。要更全面地认识应用程序敏捷性的价值,重要的是要了解应用程序开发环境的变化如何。

这个环境在过去的十年中变得更加复杂和多元化。这种复杂性主要是由于处理单独的数据集或数据孤岛的困难所致。在一些组织中,这种现实使得应用程序的敏捷性几乎是一种误用。显然,需要一种方法将数据从一个环境无缝移动到另一个环境,而无需为每个环境自定义数据。事实上,人们普遍认为,在几年内,利用容器的开发人员将能够做到这一点 - 将他们的测试/开发项目移植到生产环境中,而不需要重新编写代码以适应新的数据位置,例如内部部署或到云端。


统上,企业应用程序采用单片式垂直集成结构。所有的应用程序逻辑都包含在一个单独的程序中,这通常需要花费数月甚至数年的时间。需要详细的功能规格,广泛的测试和代码审查是该流程的一部分。由此产生的应用可能符合规定的要求,但点缀的自由度很小。增强应用程序需要编写新的功能规格,广泛的测试和更多的代码审查。即使适度的增强请求也可能需要数月。航空公司,银行和信用卡处理器使用的传统应用程序是这些非常庞大,健壮但不灵活的程序的典型代表。

当今迅速变化的业务和技术格局不再容忍这种方法。一年的开发时间表创建的应用程序通常在完成时无关紧要。必须快速适应像机器人,自动助理和移动设备等新技术。像比特币和以太坊这样的新支付机制似乎无处改变了客户进行交易的方式。想要向业务伙伴公开数据或服务的组织无法这样做,因为在构建应用程序时不会预期这些需求。

应用程序敏捷性围绕模块化,松散耦合和动态架构重新开发和部署像乐高积木一样,应用程序的组件可以根据需要进行移动和重新组装。组件之间的通信由消息平面提供。新的或增强的功能是通过修改单个组件并将它们整合回网络而不会中断整个应用程序来提供的。这些组件或服务也可以存储在库中并由多个应用程序共享。只有在需要时才调用服务,这可以减少程序大小和复杂性,同时提高性能。https://mapr.com/ebooks/streaming-architecture/chapter-02-stream-based-architecture.html

集装箱化的应用程序是利用协调工具(如Kubernetes(k8s))的主要候选对象,Kubernetes支持动态分配资源,从而可以快速增加或减少这些资源,以便在当时最好地利用业务需求。在构建通过事件流进行通信解耦的应用程序时,每个与事件流对话的服务都可以轻松扩展或缩减以满足业务需求。除了编排容器之外,k8s还支持动态插入底层融合数据平台的功能,从而可以在整个数据中心内为所有集装箱化应用程序提供完整的持久性。这具有额外的好处,即可以在同一位置对该数据进行大规模分析,而无需再次进行移动。直到最近,无状态应用程序是关于容器的唯一真实用例,现在任何需要持久化的应用程序都可以成功部署在容器中并与Kubernetes协调。https://mapr.com/solutions/data-fabric/kubernetes/

应用程序敏捷性也改变了应用程序处理数据的性质。数据仓库或数据集市数据越来越少,正在成为领先的应用程序。增长领域是基于事件的数据。无论是收集机器传感器来预测并预防故障,还是向客户提供关键优惠,或者在发生欺诈之前识别并防止欺诈 - 所有这些用例均可通过基于事件的数据流和融合平台实现。https://mapr.com/solutions/enterprise-big-data-and-hadoop-use-cases/

考虑传统银行应用程序的例子。在数据处理专业人员使用绿色屏幕终端的大型机时代,这些应用程序现在必须能够被任何设备的任何客户访问。更重要的是,它们必须直观易用。毫不奇怪,许多银行花费数年时间在自助银行业务时代彻底改变其应用程序组合。

现在考虑新的移动支付应用程序之一,如Square。其开发人员必须应对持续不断的新设备,付款方式和客户要求。该公司密切关注社交媒体活动,以衡量客户满意度和发现错误,最多只有几天的时间来解决问题。最受欢迎的移动应用每周更新一次,以保持与竞争对手的功能平等。在很多情况下,这些应用必须与可在任何平台和任何浏览器上工作的桌面版本同步。

在数字化转型时代,业务的狂热步伐要求最大的应用灵活性。得益于云计算,进入门槛已经下降,市场领导者维持其职位的唯一方式是创新速度超过其他人。转换成本低,客户看似无止境的选择。

与往常一样,如果您有任何问题,可以在下面的评论部分发布,或者通过Twitter @kingmesal与联系

要了解更多关于KubernetesMapR数据结构,请点击这里。https://mapr.com/solutions/data-fabric/kubernetes/



以上是关于通过Kubernetes(k8s)和容器应用敏捷性的主要内容,如果未能解决你的问题,请参考以下文章

云原生架构中的Kubernetes可观察性挑战

云原生架构中Kubernetes可观察性的挑战

K8s核心概念详解

初识Kubernetes(K8s):从一个单机部署实现Java Web应用例子开始

k8s之Helm(快速下载yaml文件模板)

k8s容器资源可见性配置-lxcfs