关于serverless:从零入门-Serverless-架构的演进

46次阅读

共计 2115 个字符,预计需要花费 6 分钟才能阅读完成。

作者 | 许晓斌 阿里云高级技术专家

本文整顿自《Serverless 技术公开课》,关注“Serverless”公众号,回复 入门,即可获取 Serverless 系列文章 PPT。

传统单体利用架构

十多年前支流的利用架构都是单体利用,部署模式就是一台服务器加一个数据库,在这种架构下,运维人员会小心翼翼地保护这台服务器,以保障服务的可用性。

▲ 单体架构

单体利用架构面临的问题

随着业务的增长,这种最简略的单体利用架构很快就面临两个问题。首先,这里只有一台服务器,如果这台服务器呈现故障,例如硬件损坏,那么整个服务就会不可用;其次,业务质变大之后,一台服务器的资源很快会无奈承载所有流量。

解决这两个问题最间接的办法就是在流量入口加一个负载均衡器,使单体利用同时部署到多台服务器上,这样服务器的单点问题就解决了,与此同时,这个单体利用也具备了程度伸缩的能力。

▲ 单体架构(程度伸缩)

微服务架构

1. 微服务架构演进出通用服务

随着业务的进一步增长,更多的研发人员退出到团队中,独特在单体利用上开发个性。因为单体利用内的代码没有明确的物理边界,大家很快就会遇到各种抵触,须要人工协调,以及大量的 conflict merge 操作,研发效率直线降落。

因而大家开始把单体利用拆分成一个个能够独立开发、独立测试、独立部署的微服务利用,服务和服务之间通过 API 通信,如 HTTP、GRPC 或者 DUBBO。基于畛域驱动设计中 Bounded Context 拆分的微服务架构可能大幅晋升中大型团队的研发效率。

2. 微服务架构给运维带来挑战

利用从单体架构演进到微服务架构,从物理的角度看,分布式就成了默认选项,这时利用架构师就不得不面对分布式带来的新挑战。在这个过程中,大家都会开始应用一些分布式服务和框架,例如缓存服务 Redis,配置服务 ACM,状态协调服务 ZooKeeper,音讯服务 Kafka,还有通信框架如 GRPC 或者 DUBBO,以及分布式追踪零碎等。

除分布式环境带来的挑战之外,微服务架构给运维也带来新挑战。研发人员原来只须要运维一个利用,当初可能须要运维十个甚至更多的利用,这意味着平安 patch 降级、容量评估、故障诊断等事务的工作量出现成倍增长,这时,利用散发规范、生命周期规范、观测规范、自动化弹性等能力的重要性也更加凸显。

▲ 微服务架构

云原生

1. 基于云产品架构

一个架构是否是云原生,就看这个架构是否是长在云上的,这是对“云原生”的简略了解。这个“长在云上”不是简略地说用云的 IaaS 层服务,比方简略的 ECS、OSS 这些根本的计算存储;而是应该了解成有没有应用云上的分布式服务,比方 Redis、Kafka 等,这些才是间接影响到业务架构的服务。微服务架构下,分布式服务是必要的,原来大家都是本人研发这样的服务,或者基于开源版本本人运维这样的服务。而到了云原生时代,业务则能够间接应用云服务。

另外两个不得不提的技术就是 Docker 和 Kubenetes,其中,前者标准化了利用散发的规范,不论是 Spring Boot 写的利用,还是 NodeJS 写的利用,都以镜像的形式散发;而后者在前者的技术上又定义了利用生命周期的规范,一个利用从启动到上线,到健康检查,再到下线,都有了对立的规范。

2. 利用生命周期托管

有了利用散发的规范和生命周期的规范,云就能提供标准化的利用托管服务。包含利用的版本治理、公布、上线后的观测、自愈等。例如对于无状态的利用来说,一个底层物理节点的故障基本不会影响到研发,因为利用托管服务基于标准化利用生命周期能够主动实现腾挪工作,在故障物理节点上将利用的容器下线,在新的物理节点上启动等同数量的利用容器。能够看出,云原生进一步开释了价值红利。

在此基础上,因为利用托管服务可能感知到利用运行期的数据,例如业务流量的并发、cpu load、内存占用等,业务就能够配置基于这些指标的伸缩规定,再由平台执行这些规定,依据业务流量的理论状况减少或者缩小容器数量,这就是最根本的 auto scaling——主动伸缩。这可能帮忙用户防止在业务低峰期限度资源,节省成本,晋升运维效率。

本文总结

在架构的演进过程中,研发运维人员逐步把关注点从机器上移走,心愿更多地由平台系统管理机器,而不是由人去治理,这就是一个对 Serverless 的奢侈了解。

作者简介

许晓斌,阿里云高级技术专家。目前负责阿里团体 Serverless 研发运维平台建设,在这之前负责 AliExpress 微服务架构、Spring Boot 框架、研发效率晋升工作。《Maven 实战》作者,已经是 Maven 地方仓库的维护者。

课程举荐

为了更多开发者可能享受到 Serverless 带来的红利,这一次,咱们集结了 10+ 位阿里巴巴 Serverless 畛域技术专家,打造出最适宜开发者入门的 Serverless 公开课,让你即学即用,轻松拥抱云计算的新范式——Serverless。

点击即可收费观看课程:https://developer.aliyun.com/learning/roadmap/serverless

更多详情请关注 Serverless,Serverless 公众号,关注 Serverless 技术趋势,更关注你在落地实际中遇到的问题。

正文完
 0