16-Nocalhost重新定义云原生开发环境-王炜
Nocalhost - 重新定义云原⽣开发环境.md 2021/1/20 1 / 7 Nocalhost - 重新定义云原⽣开发环境 前⾔ 随着业务的快速发展,技术部⻔的组织架构在横向及纵向不断扩⼤和调整,与此同时,企业的⽣产资料:应 ⽤系统,也变得越来越庞⼤。为了让应⽤系统适配企业组织架构的调整,梳理组织架构对于应⽤权责的边 界,⼤部分组织会选择使⽤“微服务”架构来对应⽤系统进⾏横向拆分,使得应⽤系统的维护边界适配组织架 “微服务”带来便利的同时,对开发⼈员⽽⾔,还带来了额外的挑战:如何快速启动完整的开发环境?开发的 需求依赖于其他同事怎么联调?如何快速调试这些微服务? ⽽对于管理⼈员来说,也同样带来了⼀系列的挑战:如何管理开发⼈员的开发环境?如何让新⼊职的同事快 速进⾏开发? 试想⼀下,要开发由 200 个“微服务”组成的云原⽣应⽤,会遇到哪些困难呢? Localhost 时代 在单体应⽤的时代,对于开发者来说是极为友好的 ,�开发者使⽤本机运⾏应⽤,修改代码后实时⽣效,通过 浏览器访问 Localhost 实时查看代码效果。 单体应⽤和“微服务”应⽤不同,单体应⽤是 “ALL-IN-ONE” 组织⽅式,所有的调⽤关系仅限于在⾃身的类和函 数,应⽤对硬件的要求⼀般也不会太⾼。 ⽽开发“微服务”应⽤则⼤不相同,由于相互间的依赖关系,当需要开发某⼀个功能或微服务时,不得不将所 有依赖的服务都启动起来。随着微服务数量的增0 码力 | 7 页 | 7.20 MB | 5 月前322-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊
企业从信息化到数字化的转型带来大量的应用需求 软件组件 运行环境 部署平台 …… …… 应用丰富及架构演进带来的开发和运维复杂性 本地IDC 虚拟化 超融合 公有云 …… 测试环境 生产环境 复杂的应用软件架构,在开发、测试、运维 团队之间建成了认知的“墙”,团队间配合效 率低,故障排查慢,阻碍了软件价值的流动 无法满足用户对于业务快速研发、 云原生应用相比传统应用的优势 低成本 高敏捷 高弹性 云原生应用 传统应用 部署可预测性 可预测性 不可预测 抽象性 操作系统抽象 依赖操作系统 弹性能力 弹性调度 资源冗余多 缺乏扩展能力 开发运维模式 DevOps 瀑布式开发 部门孤立 服务架构 微服务解耦架构 单体耦合架构 恢复能力 自动化运维 快速恢复 手工运维 恢复缓慢 云原生应用相比传统应用的优势(例子) 来实现计算资源向应用的无缝融合,以极简稳定的、 近日,在阿里巴巴双11技术沟通会上,阿里云研究员、阿里云云原生应用平台负责人丁宇表示,今年双11实现了核心系统全面云原生化的重大技术 突破,实现资源效率、研发效率、交付效率的三大提升,万笔交易的资源成本4年下降80%,研发运维效率平均增效10%以上,规模化应用交付效率 提升了100%。阿里巴巴在2020双11完成了全球最大规模的云原生实践。 与2019年全面云化相比,2020年全面云原生化革命性重构了双10 码力 | 42 页 | 11.17 MB | 5 月前324-云原生中间件之道-高磊
由于云原生托管的应用是碎片化的,环境变化也是碎片化的,而且其业务类型越来越多,比如已经延展到边 缘计算盒子,此时攻击面被放大,在云原生环境下安全是一个核心价值,需要立体纵深式的安全保障。 由于云原生DevOps环境追求效率以及运行态的动态治理能力,导致传统安全实施方法、角色、流程、技术 都发生了很多变化,适应这些变化是落地云原生安全的关键! 标准化能力-承载无忧-E2E云原生纵深安全保障-2-商业价值 腾讯 为企业构建后疫情时代安全体系 的基石;云上原生的安全能力让成本、效率、安全可以兼得,上云正在成为企业解决数字化转型后顾之忧的最优解…… 安全是为了预防资产损失,所以当安全投入 的成本大于能够避免的资产损失价值时,变 得毫无意义! 而传统安全开发周期管理由于角色分离、流 程思路老旧、不关注运维安全等问题严重拖 慢了DevOps的效率! 所以急需一种新型的基于云原生理念的安全 角色、流程以及技术的方案! 安全问题左移一个研发阶段,修复成本就将 提升十倍,所以将安全自动化检查和问题发 现从运行态左移到研发态,将大大提高效率 和降低成本 默认安全策略,可以天然的规避大部分 安全问题,使得人员配置和沟通工作大 量减少,提高了整体效率! 安全右移是为了恰到好处的安全,一些非严 重安全问题,没有必要堵塞主研发流程,可 以交于线上安全防御系统。提高了整体实施 效率! 安全编排自动化和响应作为连接各个环 节的桥梁,安全管理人员或者部分由 AIOps组件可以从全局视角观察,动态0 码力 | 22 页 | 4.39 MB | 5 月前3Service Mesh Meetup #3 深圳站
技术架构的演进 • 如何提升工程效率?DevOps • CI/CD 实战 • ServiceMesh • 踩过的一些坑 • Q&A技术架构的演进 • 单体架构 • 一个框架 • 一个数据库 • 分模块整合架构(前后端分析) • 不同的框架或业务模块 • 多种数据源 • 微服务架构 • 各种语言、各种框架或子系统 • 各种数据源 • ServiceMesh一般的开发流程 • 1. 开启一个新的 开启一个新的 feature; • 2. Developer 从 develop 分支新建一个 feature/new_branch 来做特定 feature 的开发; • 3. 开发并自测后,提交 merge request(MR)请求合并到 develop 分 支;(执行单元测试,测试状态呈现 MR 中) • 4. Reviewer 对 MR 进行 code review ,批准合并之后, feature/new_branch 测试;(脚本或者人工)有什么问题? • 效率低 • 没有代码检查; • 没有自动化测试(包括单元测试); • 沟通成本高 • 开发需要通知负责人、测试、产品等;(而且是每次构建/部署 都需要) • 依赖多较好的开发流程(流程化、自动化) • 1. 开启一个新的 feature; • 2. Devloper 从 develop 分支新建一个 feature/new_branch 来做特定 feature 的开发; • 30 码力 | 45 页 | 18.62 MB | 5 月前327-云原生赋能 AIoT 和边缘计算、云形态以及成熟度模型之道-高磊
SLB会根据算力资源需要进行切流。 • 混合云本质是一种资源运用形式,资源 使用地位不对等,以私有云为主体。 控制台 控制台 高级能力-多云(资源角度) 调研机构Gartner公司指出,80%的内部部署开发软件现在支持云计算或云原生,不断发展的云计算生态系统使企业能够更快、 更灵活、更实时地运营,从而带来竞争压力。接受云原生和多云方法作为一种新常态,意味着企业可以避免云计算供应商锁定, 可以提供超过5 运维领域模型趋于完整、云原生底座也 更成熟的基础上,利用大数据分析根因 (关联性分析)和利用AI进行基于根因分 析的自动化处理成为可能。 • 在精细化的基础上,完整较为成熟的自 动化能力,节约了人力成本同时提高了 效率,也极大得保证了业务连续性。 • 但是,目前真正落地的企业很少,原因 在于大部分企业组织或者文化问题在落 实上的顾虑,因为“机器人”比人是否可靠 仍然在争论中,可参考或者背书的实例 少,导致落地缓慢。 全托管K8S服务带来了发布和扩容效率的提升、更稳定的容器运行时、节点自愈能力,结合发 布自动化、资源管理自动化等能力可以实现应用与基础设施层的全面解耦 统一化ServiceMesh 将应用的分布式复杂性问题托付给Mesh层的数据面和控制面组件,实现全链路精准流量控制、 资源动态隔离以及零信任的安全能力,保证应用架构的稳定性目标的实现。 Serverless化 极大地降低了开发人员,特别是服务于前端的后端开发人员的运维负担,亚秒级的容器启动0 码力 | 20 页 | 5.17 MB | 5 月前323-云原生观察性、自动化交付和 IaC 等之道-高磊
居高不下的原因之一。 在K8s这种环境中,存在两种定制化的手段:其一是Deployment API,但是它却 把研发和运维的描述放在了一起;其二是Operator(CRD),我们不得不为不同 客户开发很多不同特质的Operator,交付成本依然很高。 定制Operator这种解决方案,看似 比较合理,但是强烈依赖于K8S这种 容器调度系统,无法做到通用化, 所以客户必须要求先做针对K8S的 应用改造。 ApplicationConfiguration Component 微服务 数据库 MQ Cache Trait 灰度 监控告警 弹性扩缩容 高可用 负载均衡 客户环境 • 关注点分离:开发者关注应用本身,运维人员关注模块化运维 能力,让应用管理变得更轻松、应用交付变得更可控; • 平台无关与高可扩展:应用定义与平台层实现解耦,应用描述 支持任意扩展和跨环境实现; • 模块化应用运维特征:可以自由组合和支持模块化实现的运维 概念是: 应用组件(Components),它是整个应用的重要组成部分。应用组件既可以包括 应用运行所依赖的服务:比如 MySQL 数据库,也包括应用服务本身:比如拥 有多个副本的 PHP 服务器。开发者可以把他们写的代码“打包”成一个应用组件。 • Trait描述了应用在具体部署环境中的运维特征,比如应用的水平扩展的策略和 Ingress 规则,它们在不同的部署环境里却往往有着截然不同的实现方式。0 码力 | 24 页 | 5.96 MB | 5 月前3探讨和实践基于Istio的微服务治理事件监控
队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发。目前致力 于公司基于Istio的微服务平台打造。 来自于浙江大学SEL实验室目录 CONTENTS 微服务平台的监控演进 Mixer组件的功能介绍 基于Mixer的开发流程和实例微服务平台的监控演进典型的运维场景 传统的监控面临容器化和微服务化的困境 测试运维沟通鸿沟,如何提升沟通效率 监控工具繁杂,如何快速找到合适工具进行问题定位 • Quota:访问次数 • Report: 日志。Mixer的二次开发流程Mixer插件工作模型 上述的过程中,Envoy所做的数据收集、上传是自动完成的,而Mixer生成模版实例则 可以通过配置来完成。因此,所谓的Mixer插件实际上就是Adapter,开发Mixer插件 也就是开发Adapter。两种开发模式 几种开发模式,以及写一下两种方式的区别 Compiled In Adapter Mixer通过通过rpc调用,将属性与日志发送给Adapter。基于Mixer的二次开发的流程 • 编写grpc服务端程序,接收来自mixer的数据,并实现自身业务逻辑 • 编写handler、instance、rule配置文件 • 编译打包adapter,上传至docker仓库 • 编写k8s的deployment和service配置文件 • 部署应用基于Mixer的二次开发Hanlder Handlers 。为适配器提供配置。例如,到后端的0 码力 | 29 页 | 8.37 MB | 5 月前3Service Mesh的实践分享
API不友好问题 • 不能unwatch • 需要花费很大力气进行迁移和替换PHP Thrift效率低 • 数量众多PHP应用,开发php-sdk over thrift • 在客户端进行序列化,减少一次协议转 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置 的HTTP模块慢得多 • 性能消耗比JSON转Thrift还要大 • center 应用指标 上报 应用指标 上报 配置建议 配置下发 宿主机 用户 配置治理参数智能故障分析&告警 • 现状 • 告警信息分散,需要人工进行更多的数 据收集和整合才能定位问题,效率低下 • 告警信息偏原始,缺乏对告警信息进行 进一步推导得到具体的措施 • 目标 • 基于内部的智能根因分析大框架,通过 智能中心整合机器内、集群间、调用链 上的指标,对信息进行整合和推导,得0 码力 | 30 页 | 4.80 MB | 5 月前3TiDB中文技术文档
OLAP 分析可以通过 TiSpark 项目 来完成。 TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也 让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。 三篇文章了解 TiDB 技术内幕: 说存储 说计算 谈调度 TiDB 简介 TiDB 整体架构 README - 11 - 本文档使用 书栈(BookStack OLAP 分析可以通过 TiSpark 项目 来完成。 TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也 让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。 TiDB 简介与整体架构 TiDB 简介 TiDB 简介 - 14 - 本文档使用 书栈(BookStack.CN) 构建 三篇文章了解 TiDB 156 - 本文档使用 书栈(BookStack.CN) 构建 Prepared SQL 语句语法 TiDB 支持服务器端的 Prepared 语句,这种方式可以降低语句解析以及查询优化的开销,提高执行效率。有两种 方式可以使用 Prepared 语句: 大多数 MySQL Driver 都支持 Prepared 语句,比如 MySQL Connector/C。这种方式可以通过 Binary 协 议直接调用0 码力 | 444 页 | 4.89 MB | 5 月前325-云原生应用可观测性实践-向阳
the growing complexity © 2021, YUNSHAN Networks Technology Co., Ltd. All rights reserved. 问题1:团队耦合 开发团队100%驱动力 运维团队100%驱动力 服务 数据 ??团队??%驱动力 谁来承担业务稳定的职责? 谁来承担业务交付的职责? 谁来升级“观测Library”? 谁来观测“观测Library”? APIGW/ … 问题2:观测盲点 KVM switch VM iptables POD envoy 服务 KVM switch VM iptables POD envoy 服务 开发兄弟们辛苦打桩 全链路到底有多全? 业务 开发 桩 simplify the growing complexity © 2021, YUNSHAN Networks Technology Co., Ltd. All rights è速度1000xè è距离10xè 80%看代码 20% 看流量 20% 看代码 80%看流量 应用连接方式的变化 应用监控的变化 传统的方法: 开发人员埋点, 标准SDK/JavaAgent, 流量分光镜像。 云原生下的难题: 微服务迭代快, 侵入式监控效率低; 云网络虚拟化, 东西向流量监控难。 挑战/必要性:网络的动态性和复杂性,不监控流量谈何应用可观测 机遇/有效性:云网络连接API/函数,监控流量可零侵入实现应用可观测0 码力 | 39 页 | 8.44 MB | 5 月前3
共 67 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7