如何应对云原生之旅中的安全挑战?


作者 |Pavan Belagatti

译者 | 弯月

头图 | CSDN 下载自东方 IC

来源 | CSDN(ID:CSDNnews)

以下为译文:

如果你已经接受了云原生计算的概念和原理,那么代表你已经处于领先地位。在当今先进且竞争激烈的IT环境中,你已经走上了正确的道路。但是,我们需要了解一件事,将开发环境和流程迁移到云原生环境是一项令人望而生畏又充满挑战的工作。任何人都只能建议你从单例应用程序迁移到微服务体系结构,但从哪儿迁移以及如何迁移才是需要分析的关键问题。

对遗留的应用程序进行现代化改造的问题比较棘手。你应该逐步解决问题,首先要对现有的应用程序进行部分或整体的容器化,此时无需采用微服务架构。但接下来,你需要逐步集成现代开发运维和云方法,例如CI/CD、自动化和可观察性等。经过一段时间后,你需要在现有遗留应用程序/服务的基础上添加新的微服务,或者淘汰掉代码库中的单例服务。但这只是迈向云原生的过程中相对比较简单的方面,那么安全性呢?

在本文中,我们将详细地讨论云原生之旅所涉及的安全问题,以及如何解决这些问题。

云原生的起源


大约十年前,Netflix公司首次提出了“云原生”,这是一项关于云和计算的技术。这项技术推动了Netflix的发展,帮助他们从一家邮购公司发展成为了全球最受信任以及最大的消费者按需内容提供商之一。Netflix率先开发了云原生技术,并为所有软件开发的重塑、转型和扩展方面提供了宝贵的经验。

Netflix借助云原生技术,更快地向客户提供更多功能,从那时起,每家与软件打交道的公司都希望借鉴Netflix的云原生技术。云原生能够有效地提高业务速度,并可利用容器、Docker、Kubernetes等云原生技术提供自动化和可扩展性。

云原生之旅

云原生之旅可以归结为三个关键性的决策,而这些决策都可以通过云原生得到解决。

什么是基础设施?

基础设施的基本要求之一是计算机必须具有弹性。此外,基础设施还需要支持其他功能,例如可观察性、可见性、若干托管的服务等。基础设施是一个广泛讨论的话题,我不打算在本文中详细讨论。

选择哪个平台?

云原生平台的选择比较容易,因为基本上Kubernetes已成为运行容器化微服务的默认平台。

如何有效,安全地运行容器化微服务?

这是一个复杂的决定,一般我会推荐Helm。Helm能够帮助你以更简单且可重用的方式安装Kubernetes的服务。以上我推荐的选择都是为了帮助开发人员专注于业务问题,而不必担心平台要求的负担等。

以上就是三个你需要做出的关键决策,而这就是你云原生之旅的起点。

云原生是一段旅程,而不是目的地。

各个公司可以采取多个步骤来推进这段旅程。

云原生的基本原则包括可扩展的应用、弹性架构以及频繁变更的能力。

在这段旅程中,有三个阶段需要注意:

● 第一个阶段:主要面向开发人员、采用容器。

● 第二个阶段:主要面向开发运维、部署应用程序。

● 第三个阶段:主要面向业务(端到端)、智能运营。

Vodafone 在“云原生世界”大会上展示了他们的云原生之旅。

在云原生之旅的中间,Vodafone将“为云做好准备”作为一个中间步骤。

“为云做好准备”的步骤包括向以API为中心转变,自动化应用构建和运行,消除对操作系统的依赖,并通过API实现基础设施即代码(Infrastructure as a Code,即IaaC)。

Vodafone的IT方面似乎比网络方面更成熟。大多数IT功能已经处于“为云做好准备”阶段,但是重新架构VNF以实现容器化,并让它们成为云原生是一项具有挑战性的任务。

云原生之旅面临的共同挑战

保护入口点

保护网络安全是重中之重。拥有一个VPC,使用NAT(NAT用于控制出口,确保没有P地址、节点或对象被泄漏I)。使用RBAC,专用网络等,为了确保每个人都无法访问在Kubernetes集群中运行的API服务器,这些都是必需的。在Kubernetes上运行容器化微服务时,需要使用命名空间。因此,一切都可以归结为监视和控制入口点。

指定机密数据

敏感信息非常重要,因此需要加密,因此我们需要使用机密数据。一个很好模式是在计划或设计Helm Chart时,将机密数据放到外部。然后使用约束,约束是限制集群滥用资源的关键,然后还有安全上下文,它应该是一组指定的策略。最后还有网络策略也是遏制滥用的另一种方式。

掌握微服务

如果你在选定的平台和选定的基础设施上运行微服务,那么可以通过Helm Chart来部署应用程序,从而掌握所有的微服务。有些Pod是单独的,你可以在Pod中建立一个主容器和一个初始化容器,还可以运行一个sidercar。你可以为这些Pod建立多个副本,而且也可以具有依赖项。也许你需要运行一个数据库,也许你需要在同一个集群中运行另一个微服务,而且该依赖项可能也有一个主容器和一个sidercar容器。

可观察性

微服务是云原生架构的基础,但是当你拆分单例应用程序时,可能会创建数十个、甚至数百个微应用程序。这些微应用程序中的每一个都需要进行观察和监视,这是一个很大的挑战。

由于许多微服务都涉及构建现代云原生应用程序,因此快速配置、部署、连续交付、严格的开发运维实践以及整体的监视和可观察性都是必要的。

你可以通过可观察性监视微服务的状况,确保它们的性能和行为。通过工具来掌握系统整体的运行状况和功能非常重要。

自从编程问世以来,日志记录一直被当作可观察性和监视指标的常规方法,但这对于云原生应用程序还不够。

重要的是你能够观察到系统的当前状况。你必须拥有现代化的监视工具SLA,并了解服务水平的稳健程度,以及解决问题和警告的平均时间。

GoCenter、ChartCenter等社区中心都建立了许多微服务。所有这些服务都默认在代码中加入了健康检查,并以此作为提高可观察性的良好实践。

如何以可重复的方式在K8S上部署应用程序?

假设我们在Kubernetes集群上安装了Redis,那么问题就是,我是否可以重用我的安装程序,运行100次,仍然可以获得相同的输出?如果答案是否定的,则表明你的系统存在安全隐患。除了安全问题之外,这也是维护的噩梦。对于微服务,可重用性是关键,而且不知道依赖关系来自何处,那么问题就很严重了。

那么,如何解决这个问题呢?答案很简单:使用包管理器,使用Helm。Helm可以提高可重用性以及可重复性。因此,Helm Chart和Helm Chart的各个版本都可以实现可重复性。

但是,这是真的吗?Helm生态系统是否保证可重复性?

上面提到的是一些严重的问题,并且与安全问题有很多的联系。因此,Helm生态系统虽然有其一定优势,同时也存在严重的弊端。

随着Kubernetes成为企业在云原生世界默认的容器编排平台,Helm可以帮助我们更轻松地重复安装和升级应用程序。尽管“ Kubernetes + Helm”组合是云原生的入门方法之一,但是仍然缺乏安全性,而ChartCenter满足了持续保护云原生生态系统的需求。

ChartCenter可以作为一种解决方案,帮助大家以可重复的方式提供公共的Helm Chart,从而确保云原生生态系统的安全,同时可以遏制日益增长的安全隐患。

ChartCenter可以为公开的K8s应用程序的Helm Chart提供安全可靠的来源。目前还没有标准规定生产者如何与云原生生态系统中的消费者共同承担安全隐患,也没有任何咨询说明。为了解决这个问题,我们提出了一个标准,该标准可帮助生产者使用Helm Chart提供安全缓解信息。

下面是一些ChartCenter的独特之处:

1. 中心存储库可以帮助用户轻松地设置客户端,并保持可追溯性。

2. 高可用性和可扩展性服务保障了可靠的生产服务。不可变性可以更进一步确保你放心地使用Chart,即便作者删除了Chart,你依然可以访问。

3. 出色的搜索功能,能够根据命名空间、名称、描述和标签快速找到合适的Chart。

4. 上游依赖:安装Helm Chart会拉取容器镜像以及其他子Chart,其中可能包含关系到安全和许可证的问题,因此我们不建议你使用被弃用或过时的依赖库。生产部署随时可以接收到这些重要的信息,这一点非常关键。

5. 随着Chart快速地发展,了解谁可能会受到更改的影响有助于增进稳定性和信任度。Chart的作者认为在支持向后兼容性和管理重大更改时,该功能非常有帮助性。

6. 安全扫描:ChartCenter会针对存储库中的1.2万个Docker镜像中包含的1.8M个组件进行连续扫描,这些镜像被3万多个Helm Chart版本引用。

现如今,每家公司都希望以高质量和高可靠性来巩固自家的软件产品。云原生之路让各个公司充满信心,相信他们可以快速地发布高质量的产品。Kubernetes和Helm等平台已经发展了很长一段时间,能够帮助软件公司利用云原生原则的力量,例如现代CI/CD、微服务等。希望本文提到的技术能够帮助你克服重重困难,顺利地完成云原生之旅。

原文链接:

https://dzone.com/articles/securing-your-cloud-native-journey


更多精彩推荐
  • 8000字 | 32 张图 | 一文搞懂事务+隔离级别+阻塞+死锁

  • 放弃 Windows 后 ,开源操作系统能成为主流桌面系统吗?

  • 赔偿 525 万?联想前副总裁跳槽小米仲裁案后续,常程不服提起诉讼

  • 删库跑路升级版,著名大厂员工离职为报复公司,直接删虚拟机!

  • 今年至少有75家交易所关闭,近半数没有说明原因

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云:构建全球企业内外安全网络最佳实践

5大安全产品全面升级,抢先了解:https://developer.aliyun.com/topic/securityapril 预约观看发布会:https://yq.aliyun.com/live/2670 全球连接,立体防护 网络安全的最大挑战之一来自于不同地域的网络之间的访问,连接…

[sitemap 索引情况提示] 根据 sitemap 的规则[0],当前页面 [pages/index/index] 将被索引

[sitemap 索引情况提示] 根据 sitemap 的规则[0],当前页面 [pages/index/index] 将被索引 微信小程序默认开启了索引功能,但是因为我们没有配置索引策略,导致出现了这么一个警告的问题。具体情况可以参考:https://developers.weix…

Argo 项目入驻 CNCF,一文解析 Kubernetes 原生工作流

作者 | 遥鹭、郡宝 导读:近期,CNCF 技术监督委员会(Technical Oversight Committee,TOC)投票决定接受 Argo 作为孵化级别的托管项目。作为一个新加入的项目,Argo 主要关注于 Kubernetes 原生的工作流&…

腾讯智慧出行和现代汽车集团创新中心(北京)正式建立创新战略合作伙伴关系

2020年10月16日,腾讯智慧出行与现代汽车集团创新中心(北京)(Hyundai CRADLE Beijing)正式在汽车出行领域建立创新战略合作伙伴关系,双方将充分利用各自在智慧出行和互联网生态的优势资源,共同助力中国优秀初创企业&…

五项措施,让阿里云存储更安全

5大安全产品全面升级,抢先了解:https://developer.aliyun.com/topic/securityapril 预约观看发布会:https://yq.aliyun.com/live/2670 一、存储面临的安全新挑战 1、 安全合规成为必选项 2017 年 6 月 1 日,《中华人民共和国网络…

微信小程序 AppID和AppSecret的获取方式

微信公众平台:https://mp.weixin.qq.com/ 第一次需要注册,有账号直接扫扫码登陆即可

阿里云:助力数字经济新基建,打造物联网安全基石

5大安全产品全面升级,抢先了解:https://developer.aliyun.com/topic/securityapril 预约观看发布会:https://yq.aliyun.com/live/2670 新基建大势之下的物联网 近日,中央政治局常委会会议提出,加快发展5G、数据中心、…

官宣!1024 程序员节日程发布,第一代程序员求伯君将出席大会

‍‍‍‍10月23-25日,“长沙 中国 1024 程序员节”将盛大举行。程序员节活动以开源为主议题,包括 2 场岳麓尖峰对话;2020 开源技术英雄会;10场热门技术分论坛/峰会;创意集市;体验感超强的科技文化嘉年华、…

运行项目到 微信开发者工具和浏览器

文章目录一、运行项目到 微信开发者工具1. 下载安装2. HBuilder X配置3. 设置【微信开发工具路径】4. 运行5. 运行到浏览器一、运行项目到 微信开发者工具 1. 下载安装 下载地址 安装,一路下一步即可 2. HBuilder X配置 uniapp 支持10个平台,我们已…

医生的小助手,医疗AI赋能诊断新冠肺炎新方案!

春节前夕至今的一场肺炎病毒危机席卷了中国乃至整个世界,目前通过肺部CT的检测可迅速判断疑似患者的身体情况,但是由于疑似患者基数较大所以纯粹靠人工阅片,会耗费医生极大的精力。   为此阿里云视觉智能开放平台(vision.aliyun…

饿了么交易系统 5 年演化史

个人简介: 2014年12月加入饿了么,当时参与后台系统的研发(WalisJavis>Walle),主要面向客服和BD。 2015年5月开始接触订单系统的研发,7月负责订单研发组;度过单体应用到服务化这个阶段。 2016年初搭建订单的测试团队&#xff0c…

搞不定这三大难题,根本学不会Python,别不信!

Python作为一种解释型技术脚本语言,越来越被认可为程序员新时代的风口语言。无论是刚入门的程序员,还是年薪百万的BATJ的技术大牛都无可否认:Python的应用能力是成为一名码农大神的必要项。而作为Python初学者来讲,最大的问题就是…

东方希望上云 告诉你数字化门槛儿到底有多高?

云栖号案例库:【点击查看更多上云案例】 不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策! 疫情发生前,依托钉钉平台以及云计算,东方希望集团快速实现了组织…

uniapp 创建与配置 tabbar

1. 创建页面 删除 pages 下的 index 文件夹 在 pages 文件夹处,右键 -> 选择新建页面 确认新建页面的信息 由于咱们删除了默认的index.vue页面,导致编译报错 找到pages.json文件,把鼠标选中部分配置删除即可 2. 配置 pages.json …

Serverless 架构下的服务优雅下线实践

来源 | 阿里云云栖号责编 | 晋兆雨应用发布、服务升级一直是一个让开发和运维同学既兴奋又担心的事情。兴奋的是有新功能上线,自己的产品可以对用户提供更多的能力和价值;担心的是上线的过程会不会出现意外情况影响业务的稳定性。确实,在应用…

Flink State 最佳实践

本文主要分享与交流 Flink 状态使用过程中的一些经验与心得,当然标题取了“最佳实践”之名,希望文章内容能给读者带去一些干货。本文内容首先是回顾 state 相关概念,并认识和区别不同的 state backend;之后将分别对 state 使用访问…

驻云CEO教你0门槛搭建电商网站,精选产品组合限量神券 低价买

云计算试飞员老蒋开播啦!4月27日 上午10点30分锁定云栖号直播,驻云CEO老蒋手把手教你搭建电商网站,0门槛入门;不同场景下精选产品组合,放心低价买。 观看直播: https://yq.aliyun.com/live/2707 大咖方案力…

uniapp 封装网络请求

文章目录一、前端1. 封装网络请求2. 封装模块请求方法二、后端2.1. 返回对象2.2. 热搜接口三、微信模拟请求3.1. Network3.2. Console一、前端 1. 封装网络请求 创建 utils 文件夹创建 request.js ,封装请求对象 // const BASE_URL https://api.imooc-blog.lgds…

求伯君领衔5代技术人对话,00后浪来袭1024程序员节

10 月 23-25 日,由 CSDN 等多家单位精心筹划的“长沙 中国 1024 程序员节”将盛大举行。程序员节活动以开源为主议题,包括:2 场岳麓尖峰对话,2020 开源技术英雄大会,10 场热门技术分论坛/峰会,创意集市&am…

容器环境自建数据库、中间件一键接入阿里云 Prometheus 监控

阿里云Prometheus服务4月9日发布重大升级,支持容器环境下一键接入MySQL、Redis、MangoDB、ElasticSearch等数据库和Kafka、ZooKeeper等中间件的监控,并提供开箱即用的监控大盘,现在接入更有15天免费试用。 15天免费试用地址,点击这…