云端进化

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 云端进化 从 “All in Cloud” 到 “Cloud Native” 蔡超 2022.9
2.
3. Mobvista No.1 C h i n a 200+ C o u n t r i e s / R e g i o n s TOP 10 2.2B world- wide D M P ’s D A U 430M Mintegral SDK DAU 110B Daily Ads request
4. All in Cloud Publisher Advertiser Big Data & ML Tracking Service Volume Processing Service EMR S3 S3 Kinesis Spot Fleet ElastiCache Auto Scaling Auto Scaling Kinesis Metrics & Alarm CloudWatch Lambda function Offer management RDS instances SQS instances Online DMP ES DynamoDB Redshift* Spot Fleet RTB
5. “Pain + Re ection = Progress” – Ray Dalio
6. 变异:应对变化的生存环境
7. 适者生存 单体架构 C/S 多层架构 SOA/EDA 微服务 ? 软件架构 基础设施 {SOAP , Restful} ?
8. 云计算特点对架构的影响 快速弹性伸缩 非确定性失效 高可伸缩性 高可用性 按需获取 低成本 按使用付费 高可维护性 资源维护托管
9. 微服务化更有效利用弹性
10. 更细粒度的伸缩 更细粒度的伸缩 更合理的计算资源 更低的成本
11. 计算资源收费模式 付费模式 特点 按需实例-OD $ $ $ $ $ $ $ $ $ $ 预留实例-RI 竞价实例-Spot $ $ $ $ $ $ 根据需求随时获取 ⻓期持有,固定套餐 按使用时间付费,价格最贵 价格相对优惠 $ 云商闲置资源 灵活获取,随时可能被回收 价格最低可达按需实例价格的10%
12. 竞价实例调度 Report Interruption Data • 利用大数据及机器学习技术对不同 类型实例的回收率进行预估,并以 CloudMeta Scored Instances Availability Predictions Real Time Learning Collect Interruption Data Big Data & ML 此持续优化集群构成,大大降低集 群实例中断的发生 • 通过实时学习预测大规模中断,预 先替换包括按需实例在内的稳定型 Collect Interruption Data Optimize Cluster Composition 实例,提前获取将有效避免资源紧 缺时的无法补偿 Cluster
13. “Everything fails all the time!” — Werner Vogels, Amazon AWS CTO
14. 微服务更好的应对失效 面向失效的设计 单体 vs 微服务 • 错误隔离 • 进程级的错误隔离 • 熔断与服务降级 • 多级熔断与服务降级 • 冗余 • 更细粒度的冗余 • 限流控制 • 分级多层次的限流控制
15. 面向恢复的设计 • 不要采用单体系统 • 保持无状态 • 在依赖系统失效的情况下,仍可提 供服务 • 可以快速重启 • 健康检测 https://www.infoq.cn/article/k4atypotbb-5icoakuvq
16. 更快更精准利用弹性 Microservice Function Function Microservice Function Function Monolith Microservice Function Function Microservice Function
17. 更具弹性的无服务架构 Collect Transfer Analyze Android Real time Kinesis iOS Lambda function S3 bucket Lambda function Kinesis Druid Batch S3 bucket EMR
18. 进化的不只是架构
19. 宠物 vs 牛群 弹性伸缩让“宠物”变成“牛群” Scale Out V.S. Scale Up
20. 发布变更 发布 发布 Patch2 Patch1 应用 运行环境 VM 镜像1 镜像2 应用 应用 运行环境 运行环境 发布 发布 VM “宠物”模式 “牛群”模式
21. Make The Things Immutable Immutable => Stable + Repeatable Lock Business logic Compile .Java 0101110001100 1001 11110000000 …… Lock runtime Build Lock solution topology Define Lock environment Deploy .yaml
22. 康威定律 Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure. — Melvin E. Conway
23. 把组织映射到Kubernetes集群 Cluster 1 1..* Namespace 1 * Service 1 1..* Organization * Developer * * Project 1 apiVersion: v1 kind: ResourceQuota metadata: name: compute-resources spec:apiVersion: v1 kind: ResourceQuota metadata: name: compute-resources spec: hard: requests.cpu: 64 requests.memory: 256Gi limits.cpu: 64 limits.memory: 256Gi
24. DevOps需要开发者视⻆ DevOps的应用视⻆ 将资源 聚合到
25. GitOps Keep all the historical versions Bundle V1.0.0 Bundle V1.0.1 Service Con gMap Auto sync to multi-cluster Deployment Quick setup for GitOps Secret Auto-package the resources according to the dependencies
26. 运维自动化 Desired State Oriented Management Kubernetes Operator Pattern 获取和恢复该应用程序状态的备份 处理应用程序代码的升级以及相关的更改,例 如数据库模式或额外的配置设置 接入Kubernetes外的服务 混沌工程,模拟失效
27. 云原生技术的定义 • • • 应用容器化 面向微服务架构 应用支持容器的编排调度 2015 云原生技术有利于各组织在公有云、私有云和混合 云等新型动态环境中,构建和运行可弹性扩展的应 用。云原生的代表技术包括容器、服务网格、微服 务、不可变基础设施和声明式API。这些技术能够 构建容错性好、易于管理和便于观察的松耦合系 统。结合可靠的自动化手段,云原生技术使工程师 能够轻松地对系统作出频繁和可预测的重大变更。 2018 “云原生”是一种充分利用云计算模式 的优点来构建和运行应用的方法。
28. 进化 = 变异 + 遗传
29. “I very frequently get the question: ‘What’s going to change in the next 10 years?’ And that is a very interesting question; it’s a very common one. I almost never get the question: ‘What’s not going to change in the next 10 years” – Je Bezos
30. 不变的核心复杂性 软件项目的关键复杂性在于理解领域本身。
31. “I believe that the hardest part of software projects, the most common source of project failure, is communication with the customers and users of that software.” — Martin Fowler
32. 不变的好架构标准 • 好的架构应该向读者展示的你的系统是什 么,而不是用了什么样的framework • 一个好的软件架构允许最大程度的推迟有 关框架、数据库、Web 服务器和其他环境 问题和工具的决策。
33. “DDD”分层结构 Application Execute the users’ transactions/tasks • 领域模型可以用于实现不同的业务 Domain Business Domain Model • Stable 领域模型可以使用不同技术栈来实现 Infrastructure Evolvable Framework/Lib/MessageQueue/Database/…
34. 不变的基本原则 Saga Pattern for Distributed Transaction
35. 不变的软件设计思想 • 关注点分离 • 单一责任原则 SRP • 面向接口 • 封装及适配
36. New Building Block Function Class Component Container Service
37. Sidecar Pattern Single Responsibility Reusable Pod Main Container Localhost Sidecar Adapter/Isolate Volume
38.
39. 为云而生,共筑未来 SpotMax 智能调度Spot instance,在不妥协可用性的情况 下,实现最高90%的计算成本节省。 MaxCloud 封装云原生技术栈的复杂性,提供开发者视⻆的运维平 台,内置DevOps的最佳实践。
40.
41. “Stay hungry, stay foolish.” — Steve Jobs

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.129.0. UTC+08:00, 2024-06-29 15:30
浙ICP备14020137号-1 $访客地图$