Spine L1是我们面向初创公司的原生云架构设计,业务服务基于ParseServer,请求接入和负载均衡基于API Gateway,业务服务部署在docker容器中,而容器运行在若干虚拟机(ECS)上,CI/CD服务也运行在ECS上,源码当然是托管在Github。
随着业务发展,公司的规模增大,产品线也会随之扩展。能否快速、灵活而低成本地地支持新业务的上线,老业务的成长,和新老业务间的交互与协同,是这个阶段架构的主要挑战。
依然是那句话:没有什么框架是通吃的,符合业务发展的架构才是好架构。
Spine L2
Spine L2主要引入OSS/CDN、弹性容器实例(ECI)和函数计算。他们是低成本地实现灵活性、可扩展性的利器。
以下服务都以阿里云为例,其他云服务提供商一般也都有相对应的服务。
主要服务
API Gateway
原生云服务:API网关
https://cn.aliyun.com/product/apigateway
和Spine L1一样,API网关依然是对接用户端的唯一入口。
Serverless 容器调度
原生云服务:弹性容器服务 ECI
https://www.aliyun.com/product/eci
Kubernetes(k8s)是成熟的开源容器调度系统,负责实现所有容器实例的“生老病死”,及实例之间纵横交错的通信联系。Serverless Kubernetes则是指整个集群都不再直接运行在ECS服务器("server")上,而是运行在高度灵活计费的虚拟资源之上。对于Spine L2阶段的企业来说,相比L1阶段直接在ECS上部署容器实例的做法,在云上使用Serverless Kubernetes来调度容器可以显著降低运维成本,增加灵活性。此时,计算资源甚至可以 按秒、按0.5CPU 粒度进行调度和计费。
函数计算
原生云服务:Lambda函数计算
https://www.aliyun.com/product/fc
当我们提到要在后端增加一个接口时,第一想到的肯定是在Web服务里增加一个Endpoint。但在原生云架构中,一个新接口可能只对应的一个不对应服务器的函数云。
函数计算云服务就是为了满足这种非常灵活的需求而生的。工程师只需要将具体的分析需求转换为代码,配置到对应的API上,完全不用担心所消耗的计算资源以及承载力。
Lambda函数计算是个很有用的原生云服务,我们之后会不断的提到。
日志服务 Log
原生云服务:日志服务 LOG
https://www.aliyun.com/product/sls
日志服务不仅是为了记录服务器错误,快速修复Bug。尽早开始把用户行为记录下来,也是产品快速进化的前提条件。采用原生云的Log服务而不用本地存储有很多好处,比如原生云Log对接OSS,对接MaxCompute;比如分级存储,比如对接原生云的BI服务等。
对象存储 OSS / CDN
原生云服务:S3存储
https://www.aliyun.com/product/oss
文件存储一直是被重视,也忽视的部分。重视的是所有产品都会重视文件数据的读取速度,所以CDN是被最常提到的优化项。但忽视的是,文件数据也有可能被频繁的分析、修改、优化、甚至失效。所以,除了普通的读取保存数据之外,OSS在Spine L2中,还具有如下重要的功能。
- 区分生产,测试,开发不同环境的数据
- 快速数据备份
- 数据快速迁移(生产->测试->开发)
- 数据过期失效删除
- 对接函数计算对数据进行修改优化
监控面板
原生云服务:云监控
https://www.aliyun.com/product/jiankong
当产品上线,用户量开始增大以后,就有必要在办公室放一个大屏幕来监控服务器的性能了。像我们办公室里这样。
关于BigEgg
大蛋科技是一家提供技术咨询、集成、开发服务的初创企业。
我们敏捷而深入地运用智能硬件、数据科学与机器学习、原生云计算等高效技术工具,创造性地帮助客户提升技术研发和运营效率,并持续、有计划地将技术沉淀输出,回馈国际开源社区。
公司地址:北京市朝阳区望京国际商业中心F座4层Wework
商务合作:[email protected]
请关注我们的公众号获得更多信息,给我们留言