前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云原生时代来临,开发者如何适应云原生开发环境?

云原生时代来临,开发者如何适应云原生开发环境?

原创
作者头像
JFrog杰蛙科技
修改2021-08-18 18:05:27
7870
修改2021-08-18 18:05:27
举报
文章被收录于专栏:JFrog杰蛙DevOpsJFrog杰蛙DevOps

云原生应用理念经过几年的落地实践已经得到企业市场的广泛认可,云原生应用更是成为企业数字化转型的必选项。基于云原生技术架构衍生的产品和工具,已经逐渐应用在开发者的日常工作当中。

近日,全球最具影响力的咨询机构Forrester联合阿里云发布《云原生开发者洞察白皮书》,JFrog中国首席架构师王青受邀参与该白皮书的编写。Forrester首次定义云原生时代开发者的能力模型,助力开发者拥抱云原生技术,实现开发者自身的转型。

早在2020 年IDC发布的报告中,曾提到在未来的 3-5 年,软件制品的数量会越来越多,到 2025 年,全球会出现520M 个应用,超过 60%的企业软件版本的部署频率为 1 天,甚至更短。软件发布的种类也越来越多,Go、Maven、Docker、NPM 等类型的制品会不断的从研发中心构建出来,并推送到云环境进行部署。同时,由于开发者不熟悉云资源的使用,且依赖大量的开源软件,导致开发的软件遇到了部署难、安全管控难、传输慢等常见问题。

这样就给开发者带来一个新的挑战:开发者如何将制品快速的分发到各个云原生环境进行快速、安全的发布?我认为开发者需要从以下几个方面做出改变。

一、软件供应链安全可控

在云原生环境下,你的服务极有可能是对互联网开发服务的,由于开发者使用的依赖包往往来自于互联网公有仓库,这就使得使用了开源软件的应用容易被黑客攻击。大家可以尝试在云环境中安装一个 Jenkins 直接对外提供服务,用不了几天就会被黑客攻击,并且在你不知情的情况下种下木马,去挖矿或者执行其他任务。

我们应该如何解决?

整个部署过程必须使用自动化工具来保障软件供应链的安全可控,应当通过自动化工具自动生成软件物料依赖清单 SBOM,并实时扫描依赖包的漏洞风险和 License 合规性。开发者应该使用实时的开源组件分析工具,进行实时的 SAST 静态应用安全扫描,在开发阶段把已知的安全漏洞扫描出来,并根据优先级进行修复。参考以下操作流程:

1.1 使用Sonarlint 进行静态代码扫描,实时修复漏洞

1.2 在IDE中安装JFrog插件,实现开源组件漏洞和License的合规性检查

通过对开源软件供应链的扫描,实现对依赖的管控。

在构建过程中,自动收集软件物料清单 SBOM 如下:

通过自动的依赖清单收集,能够清晰的定义软件版本的依赖信息,以及依赖组件的漏洞扫描信息和 License 合规性信息。

二、面向云资源的部署

开发者在云原生环境下,想要实现应用的部署,必须熟悉云资源的类型,从而将云资源的字段从应用配置中抽取出来,这样才能实现一次构建,处处运行。以 Kubernetes 应用开发为例,开发者之前在本地配置的数据库、存储、端口等配置都需要抽取出来,定义成 YAML 文件的变量,抽象成 Helm Chart,这样开发者在本地开发配置的程序内,不做任何修改,只通过修改应用的 Chart Values文件,即可实现云环境的适配

三、 Docker镜像高效分发

当版本发布之后,需要具备快速、高效的将版本分发到多地数据中心、边缘节点、IOT 设备等能力,例如支持大文件分片分发,支持 Docker 镜像的 P2P 分发等能力。

Docker 镜像的P2P分发将成为大企业在云原生环境下的必备能力,通过 P2P 分发,能够极大的提升 Docker 镜像的下载速度,快速的将新功能部署在服务器上,更快的给用户带来价值。


云原生时代已经来临,在云原生的环境下,企业及开发者想要占据先机,快人一步,就必须实现流动式的软件版本发布,才能在发布频率越来越快的将来站稳脚跟,奋勇前进。

添加小助手微信:JFrogjiewachina,您将获得《云原生开发者洞察白皮书》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、软件供应链安全可控
  • 二、面向云资源的部署
  • 三、 Docker镜像高效分发
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档