企业级DevOps落地实践分享
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先,企业客户面临传统应用和互联网新型应用并存的现状
传统应用
➢服务内部用户为主
➢需求明确、功能全,覆盖广,大集成,中央控制,适合稳定发展阶段
➢刚性强,难以快速变化,维护成本高,快速变革的新
业态无法支持
新兴互联网应用
➢服务外部客户和合作伙伴
➢需求变动快,功能简单,独立和分散,分布式进化,一切都从零开始,业务与IT 无法分开,需要快速创新
➢运用规模变化大,大范围广泛的尝试,易失败(淘汰),对业务弹性、快速
发布要求高
互联网时代,企业IT架构趋势呈现双态化,运维价值输出前移
关注功能性需求关注功能性需求以及非功能性需求
双态IT的本质:实现业务、技术和治理的三者和谐统一
功能性需求和非功能性需求并重
数人云轻量级PaaS平台关注非功能性需求,提供IT技术架构并落地IT治理
数人云轻量级PaaS平台逻辑架构图
Site Reliability Engineering (SRE) 是Google 的DevOps 实践
➢SRE起源
➢由开发工程师执行运维工作
➢不喜欢重复性工作
➢有能力进行研发
➢实现运维工作自动化
➢SRE文化
➢减少琐事,保障50%
➢坚持推演与演习,区分责任与指责➢自主决策权、产品建言权
➢SRE最佳实践➢建设平台化服务体系
➢容量规划和容量管理
➢实战演习
➢ONCALL
➢多写事后总结
➢SLO预算
业务规模运维事务
SRE
强调建设平台化服务体系,关注非功能性需求,开发、运维各司其职
•平台和工具实现自动化、自助化•
平台和工具落地各项规章管理制度
十个被中国用户验证的落地场景
➢场景01:互联网相关业务流量集中爆发场
景
➢场景02:开发测试环境中的手工上线问题
➢场景03:在线业务变更发布流程长的问题
➢场景04:提升自动化运维能力
➢场景05:U2L场景
➢场景06:利用容器集群管理碎片化应用
➢场景07:批量任务管理
➢场景08:单体架构升级到微服务架构
➢场景09:多环境应用配置统一管理
➢场景10:应用监控日志标准化管理
数人云轻量级PaaS平台落地DevOps / SRE 的实践
CI/CD
高并发
应对前端瞬间高峰流量压力
自动化
运维
提升运维效率,降低运维复杂度
微服务敏捷开发框架,以及微服务治理平台、工具提升自动化水平,开发、运维各司其职
实践1:持续集成、持续交付和持续部署
实践1:持续集成、持续交付和持续部署(CI/CD)
持续集成和发布模块
开发环境测试环境生产环境
实践1:持续集成和持续交付实践
实践1:持续集成和持续交付
实践2:高并发(弹性扩展)
2015年4月300 万注册用户视频App
同时在线30万人,并发数5000
接口反应时间攀升到1000 毫秒
自动扩容
实践2:高并发(弹性扩展,监控触发自动扩容,数十秒内完成)
弹性扩展控制
实例
实践3:自动化运维
标准化应用管理(应用统一管理)资源池化(提高资源利用率)
横向扩展(基于负载弹性扩缩容)自动恢复(故障自愈)
平台自动运维触发总结:将80%重复性应用运维工作自动化
实践3:自动化运维(资源池化,便于资源分配)
实践3:自动化运维(横向扩展)
实践3:自动化运维(故障自愈)
实践4:微服务(微服务化是一个体系)
服务
化
开发框架
服务治理
监控告警
容器管理
安全管理
配置管理
实践4
:微服务(微服务化对于系统演进的影响)
中间服务聚合
服务层
Svr1Svr2
Svr3
Svr5
Svr6
SvrN
Svr7
Svr4
SQL NSQL
FS
FS
实践4:微服务(RPC开发框架)
用户代码Java:长链接,PHP:短链接长链接
实践4:微服务(消息队列开发框架)
•IDL == Message Definition
•异步一对一或一对多响应
•无法确认/很难确认消息是否被消费
•延迟性是否比同步慢?
•需要服务注册与发现么?
实践4:微服务(注册与发现框架)
OSP ZK Service
应用
Local Proxy
Client
Zookeeper
服务注册: IP+Port=>ServiceName
服务发现: ServiceName=>List[IP+Port]
服务路由
1233
服务调用
127.0.0.1
SKYDNS+CONFD+HAPRO XY
实践4:微服务(服务治理)
数人云轻量级PaaS平台,构建灵动新IT
数人云平台架构图
关注数人云。