云原生应用与容器架构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Ops
Dev
DevOps 就 是
把所有系统整合起来 自动化资源
开放权限
Ops
Dev
DevOps ቤተ መጻሕፍቲ ባይዱ 是
部署脚本化
自动化部署
Ops
DevOps
DevOps 是一种文化和方法,旨在改 善开发团队和运维团队的协作和沟通
如何实现 DevOps ?
“Three Ways” of DevOps
• Systems Thinking (宏观思维) • Amplify Feedback Loops (反馈闭环) • Culture of Continual Experimentation And Learning
• 让开发者参与客户支持
Dev
项目实施
Ops
敏捷规划
让 Ops 参与架构设计
开发 让 Ops 了解开发进 模拟类似度的部署环境
让 Dev 参与资源规划 让 Dev 了解部署环境 CMDB 让 Dev 参与监控设计
。。。
。。。
提交上线 问题定位,修复,提交。。。 Ops 通过监控发现几个小问题,修复
(持续的验证和提升的文化)
阶段一 : 价值流
交付的挑战
笔记本 SQLite JDK on Win

物理机 Oracle OpenJDK

提交代码
打包
部署运维
微服务变革之下
~2000
Monolithic Slow changing Big Servers
Today
Loosely Coupled Services Rapidly updated
“在我这可以跑。。。”
“服务器监控正常,是 你代码的问题。。。”
嗯,我似乎找到原因了。。。
Dev
持续交付
变化 变化 变化 。。。
需求驱动
动态更新 的环境
频繁部署
持续保持
稳定 稳定 稳定 。。。 流程驱动
控制变化 的环境
不频繁的部署
Ops
什么是 DevOps ?
Dev
Ops
Dev
DevOps
微服务拆分驱动力
• 快速迭代
• 解耦服务的独立更新
• 独立扩展
• 三层架构
• 技术栈
• 最合适的技术 • 团队能力
• 组织结构
• Conway法则 • 团队和服务对应
• 特殊的考虑因素
• 数据安全 • 审计 • 合规
微服务架构 的优势
化繁为简
独立迭代
技术创新
按需优化
主人翁精神
面向云原生应用交付
阶段二 : 快速反馈
滞后的业务反馈 - 现状
安装包 运维文档 。。。
Dev
吃资源 不稳定 应用报错 性能不会 。。。
生产环境
• 打造一个便于协作和沟通的平台 • 通过运维专业知识增强系统设计
• 可靠性/可用性 • 性能/APM • 网络/安全
• 提供生产环境的数据反馈
• 监控和数据度量 • 事故分析 • 日志分析
面向云原生应用架构
传统“单块”应用架构
展现层 逻辑层 数据访问层 WAR/EAR Tomcat Server
传统应用架构的弊端
开发者壁垒 小功能、大更新 漫长的 QA 流程
整体故障风险 难以按需优化 技术栈锁定
微服务架构
Loosely coupled service oriented architecture with bounded contexts
Many Small Servers
带来了更大的挑战
Static Website
Background Workers
User DB
Web Front End
Queue
Development
Test & QA
Production
Analytics DB
API Endpoint
Scale Out
Virtual machines
Dev
项目实施
Ops
迭代 敏捷
用户故事 开发 开发 开发 。。。
资源规划 存储/网络 高可用 CMDB 标准监控 。。。
提交上线
问题定位,修复,提交。。。 定位,修复,定位,修复。。。
生产部署,失败,再。。。 部署成功
压测,失败,推回开发。。。“成功”。。。 500错误,拒绝服务,系统崩溃,重启。。。
Developer Laptop
Server
Server Cluster Data Center
Disaster Recovery
Public Cloud
货物运输的问题
他山之石可以攻玉
静态网站
用户数据库
站点前端或 API
队列
分析数据库
开发环境的虚 拟机
测试用的 QA 服务器
客户的 数据中心
大规模的 公有云部署
Significantly increase the overall agility and maintainability of applications.
动态管理 Dynamically Managed
Actively scheduled and actively managed by a central orchestrating process.
1990s 紧耦合架构
2000s 松耦合 SOA
2010s 解耦合 微服务
微服务架构
Micro-Service WAR/EAR Micro-Service WAR/EAR Micro-Service WAR/EAR Tomcat Server
弹性立方体(The Scale Cube)
需求驱动
Ref: MonolithFirst
Improves overall developer experience, fosters code and component reuse and simplify operations for cloud native applications.
面向微服务 Micro-Services Oriented
云原生应用与容器架构
内容摘要
1
什么是云原生应用
2
云原生应用的架构转型
3
云原生应用的运维转型
4
云原生应用的生命周期转型
5
DaoCloud 云原生解决方案
6
提问与交流
云原生应用的崛起
规划设计 高可靠性 纵向扩展 桌面应用 控制互联
高速迭代 永远可用 横向扩展 移动优先 自治进化
云原生系统关键属性
容器交付 Container Packaged
生产集群
开源贡献者 的自有环境
清除沟通的障碍
反模式
• 仅容器化中间件 • 环境相关的镜像 • 应用日志文件 • latest 版本
DaoCloud 企业实践 - 某大型制造企业
• 容器无感知 • 跨环境统一配置管理
• 应用日志统一收集和汇总 • 应用版本可追溯
DaoCloud 企业实践 - 某大型制造企业 Cont.
相关文档
最新文档