16-Nocalhost重新定义云原生开发环境-王炜Nocalhost - 重新定义云原⽣开发环境.md 2021/1/20 1 / 7 Nocalhost - 重新定义云原⽣开发环境 前⾔ 随着业务的快速发展,技术部⻔的组织架构在横向及纵向不断扩⼤和调整,与此同时,企业的⽣产资料:应 ⽤系统,也变得越来越庞⼤。为了让应⽤系统适配企业组织架构的调整,梳理组织架构对于应⽤权责的边 界,⼤部分组织会选择使⽤“微服务”架构来对应⽤系统进⾏横向拆分,使得应⽤系统的维护边界适配组织架 “微服务”带来便利的同时,对开发⼈员⽽⾔,还带来了额外的挑战:如何快速启动完整的开发环境?开发的 需求依赖于其他同事怎么联调?如何快速调试这些微服务? ⽽对于管理⼈员来说,也同样带来了⼀系列的挑战:如何管理开发⼈员的开发环境?如何让新⼊职的同事快 速进⾏开发? 试想⼀下,要开发由 200 个“微服务”组成的云原⽣应⽤,会遇到哪些困难呢? Localhost 时代 在单体应⽤的时代,对于开发者来说是极为友好的 ,�开发者使⽤本机运⾏应⽤,修改代码后实时⽣效,通过 浏览器访问 Localhost 实时查看代码效果。 单体应⽤和“微服务”应⽤不同,单体应⽤是 “ALL-IN-ONE” 组织⽅式,所有的调⽤关系仅限于在⾃身的类和函 数,应⽤对硬件的要求⼀般也不会太⾼。 ⽽开发“微服务”应⽤则⼤不相同,由于相互间的依赖关系,当需要开发某⼀个功能或微服务时,不得不将所 有依赖的服务都启动起来。随着微服务数量的增0 码力 | 7 页 | 7.20 MB | 6 月前3
云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)[5],并给出我们对于云原生安全的理解,即云原生安全是云原生理念的延伸,旨 在解决云原生技术面临的安全问题。 CSA 发布的《云原生安全技术规范》中给出了云原生安全框架[6],如图 3 所示。其中,横轴是开发运营安全的维度,涉及需求设计(Plan)、开发(Dev)、 运营(Ops),细分为需求、设计、编码、测试、集成、交付、防护、检测和响 应阶段;而纵轴则是按照云原生系统和技术的层次划分,包括容器基础设施安全、 制、入侵检测、应用安 全等,应用于云原生环境,构建安全的云原生系统; (2)安全产品具有云原生的新特性,如轻/快/不变的基础设施、弹性服务 云原生安全威胁分析与能力建设白皮书 14 编排、开发运营一体化等。通过软件定义安全架构,构建原生安全架构,从而提 供弹性、按需、云原生的安全能力,提高“防护—检测—响应”闭环的效率; (3)在安全设备或平台云原生化后,提供云原生的安全能力,不仅适用于 也带来了一系列新的问题,对企业原有的信息安全防护模式提出了新的挑战,例 如,微服务、容器运行时的短生命周期、CI/CD 全流程监控缺失、镜像及供应链 的复杂性等。另外,云原生技术生态涵盖基础设施到 DevOps 开发多个维度, 这打破了原有的信息安全视角。在应对不断出现的针对云原生基础设施、平台及 容器的安全威胁过程中,原有的安全体系也产生了变革。主要表现在如下几个方 面: 防护对象产生变化 安全0 码力 | 72 页 | 2.44 MB | 1 年前3
2.2.7 云原生技术在2B交付中的实践(3)概念验证,POC 管理 (4)客户个性化定制(价值最⼤化的关键) (5)客户应⽤的持续交付 (6)客户应⽤⽣产稳定性保障 (SLA) 追求价值最⼤化 A. ⾼效的产品交付模式; B. ⾼效的产品定制开发模式; 微服务应⽤成为2B软件的架构主流 01. 2B软件交付的困局 14% 8% 14% 64% SpringCloud Dubbo 其他微服务架构 传统架构 微服务应⽤成为2B软件的架构主流 资源模型定义 模型使⽤定义 模型驱动器 模型关联 抽象化 申明式 ⽣命周期 上下游联动 按照云原⽣技术规范设计研发的业务应⽤,覆盖了应⽤ 运维、交付等层⾯的要求。 云原⽣应⽤ 云原⽣应⽤定义 02. 云原⽣与云原⽣应⽤ ⾯向开发 单个服务 云原⽣ 12 因素应⽤规范 基础规范 云原⽣应⽤定义 02. 云原⽣与云原⽣应⽤ ⾯向交付的 “三级” 云原⽣应⽤定义 L1: 基础云原⽣应⽤ Device Pod Template Ingress ServiceMonitor Logger Workload Type/ Controller Type 能⼒模型 平台开发者/运维 应⽤模型 业务员开发者 容器模型 K8S模型 业务组件 业务组件 业务组件 流量治理 服务治理 运维能⼒ 应⽤ 应⽤模型定义⽤例 03. ⾯向交付的应⽤模型 应⽤模型 PaaS平台0 码力 | 31 页 | 6.38 MB | 1 年前3
23-云原生观察性、自动化交付和 IaC 等之道-高磊云应用交付最难的还不是RT的 碎片化,最难的是环境依赖的 碎片化,比如,硬件环境、网 络环境、运维规范等的碎片化。 尤其是运维方面的差异化,必 然导致私有Paas的出现! • 虽然服务网格、虚拟化等正在 努力解决交付困难的问题,但 是依然对除RT外的环境依赖碎 片化无能为力。 • 背后的原因在于特定环境依赖或者运维规范问题渗透到了PaaS本身, 或者大家常说的定制化场景,如果不进行解耦就会有长期存在的矛盾。 需要定制 化处理定制化场景下的软件、运维工具或者规范等等,并需要不断的测试。 • 为了应付各类的环境的问题,势必要求交付人员的能力非常强,也是成本 居高不下的原因之一。 在K8s这种环境中,存在两种定制化的手段:其一是Deployment API,但是它却 把研发和运维的描述放在了一起;其二是Operator(CRD),我们不得不为不同 客户开发很多不同特质的Operator,交付成本依然很高。 阿里和微软在19年发布了一个叫做OAM的规范,这是基于10年云原生道路锤炼得到的自动化交付方案 构建镜像 多区域分发 配置 ApplicationConfiguration Component 微服务 数据库 MQ Cache Trait 灰度 监控告警 弹性扩缩容 高可用 负载均衡 客户环境 • 关注点分离:开发者关注应用本身,运维人员关注模块化运维 能力0 码力 | 24 页 | 5.96 MB | 6 月前3
中国移动磐舟DevSecOps平台云原生安全实践决企业在数字化转型中的研发效能提升问题,提供从 “需求-开发-测试-发布-运维-运营”端到端的协同服务和研发工具支撑。助力企业产品快速创新迭代,进行 数智化化转型、实现业务价值。 • 端到端自动化交付流水线 • 开发过程自主可控 • 一键发布上磐基,实现“乘舟上云,稳如磐基” • 沉淀IT软件资产,核心代码掌控 • 提升开发交付效率 一键 上磐基 构建 打包 容器 化镜 像 自动化 部署 研发安 全扫描 需求 设计 敏捷 开发交付协同 云原生DevSecOps 安全工具链 国产化 双平面调度 敏捷开 发过程 统一代 码仓库 依赖制 品仓库 统一 镜像库 云原生 验证环境 磐基 生产运行 核心价值 核心能力 灵活的低代码能力 实现页面组件、数据组件、功能组件的快 速编排,一线人员也能自助开发功能 双模敏态管理 以敏捷研发为引导,融合瀑布式管理需求, 兼容市面绝大多数开发语言制品,提供公 用、内部共享、私有等多种使用方式。兼 容市面上制品管理客户端。 全功能云IDE开发 每个云IDE都是一个云端小笔记本,一人一 本,多人可形成云端小局域网。可独立编 写调试代码,可团队协作。 安全代码仓库托管 统一的安全代码仓库,按项目级别分级管 理,落盘加密,云IDE防护,显示水印等多 重防护。 云原生虚拟化开发集群 利用虚拟化技术实现开发集群,分钟级交0 码力 | 22 页 | 5.47 MB | 1 年前3
01. MOSN 高性能网络扩展实践 - 王发康sidecar 之一 ,用于解决传统服务治理体系下的痛点如: 多语言,中间件组件开发适配成本高、SDK 升级困难、 技术复用度差、治理体系不统一等。 MoE 背景介绍 — 为什么做 用户痛点 • east-west、north-south Gateway 技术栈不统一, 维护成本高 • Envoy C++ 编写,对于 业务方来说开发门槛高 技术趋势 • Lua extension • WASM Envoy 和 GoLong 生态打通 维护成本高、可扩展性弱 MoE 背景介绍 — 方案调研 方案名称 优势 劣势 Lua Extension Lua 编写简单业务处理方便 Lua 脚本语言,开发复杂功能不方便 支持的库(SDK)相对较少 WASM Extension 跨语言语言支持(C/C++/Rust)、 隔离性、安全性、敏捷性 处于试验阶段,性能损耗较大; WASM 目前仅对C/C++/Rust request 4 CGO response 1 Request before go 5 Request after go 同 Envoy、Cilium、WASM 社区合作共建 API 规范: MoE 方案介绍 — MOSN 和 Envoy 内存如何管理 【请求链路】将 Envoy 中的请求信息拷贝一 份传递给 MOSN ? 需要额外内存分配和拷 贝? 【响应链路】请求到 MOSN0 码力 | 29 页 | 2.80 MB | 1 年前3
09-harbor助你玩转云原生-邹佳goharbor/harbor-helm 3 K8s Operator • 通过K8s CRD实现编排 • 目标为K8s集群 • 专注于HA模式支持 • goharbor/harbor- operator (开发中) 4 资源隔离与多租户管理 项目 存储 访问控制 制品资源 Members Images Guest: Developer: 小佑科技 • 探针科技 制品安全分发-扫描 [2] 扫描报告有助于实时了解所管理镜像的相关漏洞信息和安全威胁程度 制品安全分发-安全策略 可在项目级别设置相关安全策略以阻止不符合安全规范的镜像的分发 基于漏洞严重程度或者签名状态 通过设置不可变规则来避免特定Tag被覆盖或者误删除 制品安全分发-不可变Tag 资源清理与垃圾回收 [1] 通过Artifact保留策 Restful API • 完善的API • 遵循OpenAPI规范 • 通过Swagger生成调用代码 AUTH集成 • AD/LDAP • OIDC 漏洞扫描器 • 扫描器适配API规范 • 插件式扫描器框架 DoSec P2P引擎 • 标准化Adapter接口定义 制品类型 • 遵循OCI规范 • annotation化的数据扩展 • UI自动渲染扩展数据0 码力 | 32 页 | 17.15 MB | 6 月前3
SBOM 为基础的云原生应用安全治理是治理第三方组件风险(开源+闭源)的必备工具; • 可深度融合于DevOps应用生产模式; • 可与多种DevSecOps工具链联动强化效能(SCA、RASP、漏洞情报); • 在云原生应用的开发端及运营端均发挥作用。 实践现状 SBOM的应用现状 • 根据《Anchore 2022 软件供应链安全报告》,尽管 SBOM 在提供对云原生应用可见性方面 发挥着基础性作用,但只有三分之一的组织遵循 政部、国家核安全委员会等多个政府部门遭入侵。 该事件波及全球多个国家和地区的 18000 多个用 户,被认为是“史上最严重”的供应链攻击。 “太阳风暴”攻击 2021年8月,中国台湾芯片厂商Realtek 发布安全 公告称在其软件开发套件和WiFi模块中发现了4个 安全漏洞。、攻击者可利用该漏洞绕过身份验证, 并以最高权限运行恶意代码,有效接管设备。本次 暴出漏洞的芯片至少有65家供应商在使用,生产出 的设备数量超过十万台。 Realtek 软件运营商使用SBOM为漏洞管理和资产管理提供信息,管理许可和 合规性,并快速识别软件和组件依赖关系以及供应链风险。 2)从企业角色类型来看,对SBOM有不同的使用需求: 〇 开发团队:用于管理软件资产,在开发早期即可评估安全风险,筛选 适合的组件/软件,并持续更新SBOM; 〇 安全团队:通过提交的SBOM分析软件风险,并通过统一管理进行持 续监控,及时响应安全事件; 〇 法务团队0 码力 | 30 页 | 2.39 MB | 1 年前3
1.3 MOSN 在云原生的探索及实践Sidecar 之一 ,用于解决传统服务治 理体系下的痛点如:多语言中间件组件开发适配 成本高、SDK 升级困难、技术复用度差、治理体 系不统一等。 MOE 背景介绍 — 为什么做 用户痛点 • east-west、north-south Gateway 技术栈不统一, 维护成本高 • Envoy C++ 编写,对于 业务方来说开发门槛高 技术趋势 • Lua extension • WASM Envoy 和 GoLong 生态打通 维护成本高、可扩展性弱 MoE 背景介绍 — 方案调研 方案名称 优势 劣势 Lua Extension Lua 编写简单业务处理方便 Lua 脚本语言,开发复杂功能不 方便;支持的库(SDK)相对较 少 WASM Extension 跨语言语言支持 (C/C++/Rust)、隔离性、安 全性、敏捷性 处于试验阶段,性能损耗较大; WASM 目前仅对C/C++/Rust proxy_golang API 进行封装,通过 CGO 通知 MOSN 侧 GoLang L7 extension SDK 获取处理 同 Envoy、Cilium、WASM 社区合作 共建 API 规范: MOE 方案介绍 — MOSN 和 Envoy 内存如何管理 【请求链路】将 Envoy 中的请求信息拷 贝一份传递给 MOSN ? 需要额外内存 分配和拷贝? 【响应链路】请求到 MOSN0 码力 | 36 页 | 35.61 MB | 1 年前3
22-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊1、信息管理 MIS、ERP… 2、流程规范 BPM、EAI… 3、管理监控 BAM、BI 4、协作平台 OA、CRM 5、数据化运营 SEM、O2O 6、互联网平台 AI、IoT 数据化运营 大数据 智能化管控 互联网平台 跨企业合作 稳态IT:安全、稳定、性能 企业从信息化到数字化的转型带来大量的应用需求 软件组件 运行环境 部署平台 …… …… 应用丰富及架构演进带来的开发和运维复杂性 本地IDC 虚拟化 超融合 公有云 …… 测试环境 生产环境 复杂的应用软件架构,在开发、测试、运维 团队之间建成了认知的“墙”,团队间配合效 率低,故障排查慢,阻碍了软件价值的流动 无法满足用户对于业务快速研发、 云原生应用相比传统应用的优势 低成本 高敏捷 高弹性 云原生应用 传统应用 部署可预测性 可预测性 不可预测 抽象性 操作系统抽象 依赖操作系统 弹性能力 弹性调度 资源冗余多 缺乏扩展能力 开发运维模式 DevOps 瀑布式开发 部门孤立 服务架构 微服务解耦架构 单体耦合架构 恢复能力 自动化运维 快速恢复 手工运维 恢复缓慢 云原生应用相比传统应用的优势(例子) 来实现计算资源向应用的无缝融合,以极简稳定的、0 码力 | 42 页 | 11.17 MB | 6 月前3
共 24 条
- 1
- 2
- 3













