阿里云代理商-阿里云服务器-阿里云数据库-重庆典名科技

需要确保安全的云原生应用程序和数据

发布时间: 2020-08-18 10:10:28文章作者: 网站编辑阅读量: 263
  需要确保安全的云原生应用程序和数据   云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
  
  这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。
 确保安全的云原生应用程序和数据 
  为了采取必要的措施,开发人员正在研究如何利用云原生方法。但是,这不仅仅是将现有应用程序迁移到云平台上并添加更多基础设施那样简单。它需要围绕软件容器构建的新架构和采用的业务流程工具如何在从构建到生产的自动化应用程序中发挥作用,如何在容器之间有效地使用API,然后如何通过应用程序基础设施的动态更改来处理数据。
  
  将数据作为云原生应用程序的一部分进行管理非常困难。对于许多企业而言,当前冠状病毒疫情带来的压力加剧了他们在软件开发方面所面临的挑战。数字化转型已从一种增长战略变成了一种生存之道。在线商务几乎在一夜之间得到爆炸式增长,达到了只有在假日期间才会出现的水平。这将是一个推动更多变革的推动力,因为企业或者致力采用新技术,或者努力在竞争中保持领先。基于云原生IT的新方法将会有所帮助。
  
  阿里巴巴是国内最早布局云原生技术的公司之一,丁宇在 26 日的主题演讲中表示:“早在 2011年,阿里巴巴就率先开始了容器化进程,开启了中国公司将云原生技术体系在电商、金融、制造等领域中大规模应用的先河。”
  要确保安全的云原生应用程序和数据
  敏捷、多数据……多问题?为了采取必要的措施,开发人员正在研究如何利用云原生方法。但是,这不仅仅是将现有应用程序迁移到云平台上并添加更多基础设施那样简单。它需要围绕软件容器构建的新架构和采用的业务流程工具如何在从构建到生产的自动化应用程序中发挥作用,如何在容器之间有效地使用API,然后如何通过应用程序基础设施的动态更改来处理数据。
  
  Kubernetes现在是基于这种方法来编排容器和管理应用程序的一种首选方法。Kubernetes可以处理设置应用程序工作负载,确保其继续运行,并应对规模挑战。但是,尽管Kubernetes可以编排应用程序,但它不能解决数据管理问题。应用程序创建的所有信息仍然需要管理。
  
  传统上,要想成功地使用像Apache Cassandra这样的数据库,用户必须从操作系统开始理解整个软件堆栈。他们还必须确保其一致性并遵循严格的操作和部署手册。这种方法不仅需要深入了解数据库的工作原理,还需要随着时间的推移进行一些人工干预以处理扩展。
  
  经过云原生的探索与改造,阿里基础架构体系是现代化和标准化的。利用容器技术,应用与宿主机运行时完成了解耦;利用 Kubernetes 对 Pod 与 Volume 等的抽象,完成了对多种资源实现的统一化;通过智能调度与 PaaS 平台,让自动迁移应用,修复不稳定因素成为了可能,阿里通过云原生技术大大降低了上云的难度。
  
  使数据与应用程序一样易于编排
  
  与Kubernetes一起管理云原生应用程序数据需要一些计划。一种方法是使每个服务的数据库实例位于Kubernetes集群之外。这使企业的数据基础设施脱离了控制平台,并为那些现在必须管理两个环境的用户创建了额外的工作。而这种情况并不理想。
  
  更好的方法是从物理角度将数据与应用程序组件一起分布,但需要在同一控制平台内。这确保了每个应用程序服务都可以有效地读写数据,企业可以将这些数据和应用程序作为一个整体进行管理。更重要的是,这种方法应该能够像任何软件容器映像一样在多个云服务或云平台上进行扩展。
  
  为了与诸如Apache Cassandra之类的数据库一起运行Kubernetes,企业将需要在Kubernetes集群中使用Cassandra Operator。这使Cassandra节点可以作为服务在现有Kubernetes集群内部运行。运营商在Kubernetes和更复杂的流程(例如Cassandra)之间提供了接口,以允许对其进行一起管理。启动和停止Cassandra集群,对其进行扩展和处理故障都通过Kubernetes Operator以Cassandra理解的方式进行处理。
  
  更好地参与Kubernetes环境意味着需要深入了解集群状态。实际上,这意味着以前属于数据库内部的某些操作(例如自动重试或建立Gossip链接以跟踪内部集群状态)被提升到API层。然后,Kubernetes可以基于整个集群的健康状况做出决策,以便可以采取任何行动,例如如果需要更多节点,则可以启动这些元素以自动弥补。通过可用指标可以观察到所有这些情况。
  
  广泛的云原生应用实践全链路压测、极速弹性扩缩容以及云原生的全栈技术已广泛服务于互联网、金融、零售、制造、政务等领域企业和机构,大幅降低了应用开发的门槛,让企业轻松享受云的技术红利。例如,企业可以通过云原生架构简化云上预演及实战,提升应对流量高峰的效率及可靠性,使用阿里云 ACK 可在容器应用层面实现业务高弹性,还可以通过 PolarDB 实现数据库的横向纵向扩缩容,通过 PTS 性能测试服务模拟真实业务流量进行全链路压力测试。奥组委通过容器服务 ACK,在欧洲助力奥运 OCS 频道敏捷开发高效运维;西门子使用阿里云 ACK,实现开放式物联网操作系统 MindSphere 微服务架构、DevOps 以及系统的高可用;迅雷使用容器混合云方案,完成云下及云上混合部署和调度,在享受极致弹性的同时降低成本。
  
  阿里巴巴持续优化性能,可以分为以下四个维度:工作负载追踪、性能分析、定制化调度、大规模镜像分发。首先对工作负载调度有完整的追踪、重放机制,其次将所有性能问题的进行细致分析,逐一攻克技术瓶颈。Kubernetes 本身的可定制性很强,阿里巴巴针对自身业务场景沉淀了定制化的调度能力和镜像分发系统。开源Dragonfly 项目脱胎于双十一,具备极强的镜像分发能力。数十个超级集群,每个超级集群具有数万节点,数百万的容器。
  需要确保安全的云原生应用程序和数据
  围绕数据思考状态
  
  通常情况,Kubernetes中的容器实例是无状态的——根据需要创建它们,然后将其删除,而不是随时间存储。存储需求被认为是短暂的。但是数据管理是不同的。对于像Cassandra这样的数据库,节点将需要持久化数据,因此必须被视为有状态服务。因此,必须使用PersistentVolumes和StatefulSets来添加这些对象,以确保在任何重新启动事件之间将数据卷连接到相同的运行节点。
  
  这种基于Kubernetes的自动化的使用可以使开发人员和操作人员的工作更加轻松。可以使现有服务更高效、更轻松地进行升级,同时可以添加新服务来满足客户需求。除了一起运行Kubernetes和数据库外,还可以考虑它们如何为内部开发人员提供数据库即服务或DBaaS功能。
  
  对于尚未熟悉设置和运行Kubernetes或不想花费太多时间的团队来说,将这些技术结合使用的数据库即服务(DBaaS)选项可以从云平台中按需提供。数据库即服务(DBaaS)可以消除一些管理开销,并使企业更容易专注于如何处理数据,而不是人工管理数据库实例。
  
  支持企业业务的数据处理方法
  
  对于希望更快地实施并交付客户所需的企业而言,迁移到云原生应用程序和数据至关重要。从开发人员的角度来看,将“全局”方法与保持系统运行所需的方法联系起来可能是一项挑战,特别是在扩展数据库需要工作人员具有一定经验的情况下。先前的流程和组织孤岛可能是阻碍这些变化的主要问题,因此需要消除转变为数据驱动的业务所面临的障碍。
  
  对于正在寻求如何为他们的公司提供支持的团队来说,跟上客户需求并更有效地提供服务的压力都是巨大的。微服务的采用无疑对这一过程有所帮助,因为与原有的整体应用程序相比,微服务更容易分解应用程序并快速改进。然而,这种方法日益增加的复杂性会使扩展服务和支持数据变得更加困难。
  
  为了使这一过程更简单,将分布式数据库设计(例如Apache Cassandra)作为带有Kubernetes的云原生应用程序的一部分可以提供帮助。同时,随着围绕Cassandra的更多数据库即服务选项的增长,也使采用和运行分布式数据库设计变得更加容易。
  
  阿里云一直致力于回馈社区、积极拥抱开源,是国内在云原生领域的开源贡献最全面的科技公司,涵盖编排调度、作业管理、无服务器框架等:
  
  主导维护 etcd、containerd、dragonfly 等多个 CNCF 明星项目的发展,已有超过 10 个项目进入 CNCFlandscape;
  
  项目建设层面:积极建设 Kubernetes 项目,贡献量位居全球前 10;
  
  开源生态支持:加入 CNCF、OCI、CDF 等基金会,成为多个基金会的顶级会员,共建开源生态。
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠