devops及混合云

目录

devops

技术栈

SRE

容量规划与实施

部署新的服务集群(serving cluster)

冗余与容错

负载均衡

上线新的服务(on-boarding service)

监控(Monitoring)

值班(on-call)

救火(Firefighting)

混合云


devops

技术栈

持续集成CI(Continuous Integration):gitlab ci。开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

持续交付CD(Continuous Delivery):gitlab cd。完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。

容器:Docker。

编排:K8S。

服务注册与发现:Consul / etcd

日志管理:Cat+Sentry,还有种常用的是ELK。

系统监控:Prometheus。

负载均衡:Nginx。

网关:Kong,zuul。

链路追踪:Zipkin。

报警:推送到工作群。

参考:什么是DevOps? - 知乎

SRE

Site Reliability Engineering 的缩写。其中 site 是指 website,可以翻译为网站可靠性工程师

SRE 的首要工作任务是保证 SLA。SLA 是 service-level agreement 的缩写,没有贴切的中文翻译,我们继续用缩写好了。SLA 一般指的是系统的功能指标,比方说系统可用性(availability)达到 99.99%;对于 95% 的请求,响应延迟(latency)低于 200 毫秒等等。

容量规划与实施

要回答两个基本问题:要支持每秒 X 个请求的流量,需要多少台机器?给你 Y 台机器,如何部署服务栈(serving stack)使其服务容量(capacity)最大,即每秒支持的请求数最多。serving stack 由很多服务程序(server)构成,各个 server 有各自的资源需求(每个进程用多少内存,多少CPU)。每个 server 有多个 replica,我们要算出各个 server 的 replica 的合理数目,让计算资源得到充分利用。SRE 开发了专门的工具来做这件事件,因为我们不想对全球多个数据中心都分别手算一遍。 server 的性能会随时间变化(新版本通常会变慢,因为加了更多的功能),我们要及时调整 replica 的数目。每个 server 的性能变化不一样,replica 的数目要“配平”。

部署新的服务集群(serving cluster)

每年都有新的数据中心(Data Center)上线,也有旧的数据中心下线,那么我们的 serving stack 也会跟着迁移。“部署”不是去机房安装机器,实际上工作这么多年,我一次也没有见过跑我写的服务程序的机器。新的数据中心通常会有新一代的硬件,我们的容量规划工具要能适应多种的硬件类型(CPU 数目、内存大小)。

冗余与容错

在 Google,我们有数据中心级别的容错,任何一个数据中心可以随时下线维护,对外服务不受影响。进一步说,我们的容量规划要做到允许两个数据中心同时下线。比方说某个数据中心正在例行下线维护,这时另外一个数据中心受突发事件影响必须立刻下线,那么我们的系统还要能正常提供服务。

负载均衡

上线新的服务(on-boarding service)

监控(Monitoring)

几个最基本的监控指标:

  • 流量 traffic, eg. queries per second
  • 延迟 latency
  • 错误率 error ratio
  • 资源使用率 utilization

值班(on-call)

救火(Firefighting)

参考:SRE 是什么,不是什么 - 知乎

混合云

混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向。我们已经知道私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。

基础架构即服务(IaaS)也称为云基础架构服务, 是广泛认可的三个云服务模型之一(另外两个分别是平台即服务(PaaS)软件即服务(SaaS)),它可以让用户享受到本地计算资源的所有优势,而又不会有额外的开销。在 IaaS 模型中,用户负责处理应用、数据、操作系统、中间件和运行时。

平台即服务(PaaS)是一种由第三方提供硬件和应用软件平台的云计算形式。PaaS 主要面向开发人员和程序员,它允许用户开发、运行和管理自己的应用,而无需构建和维护通常与该流程相关联的基础架构或平台。

SaaS 是一项通常通过 Web 浏览器将服务提供商管理的 Web 应用交付给用户的服务。该服务会为用户完成软件更新、漏洞修复及其他常规软件维护工作,而用户将通过控制面板或 API 连接至应用。此外,SaaS 还消除了在每个用户计算机上本地安装应用的必要,从而使小组或团队可根据需要使用更多方法来访问软件。

参考:什么是混合云?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值