经过最近几年容器化和Devops的发展,程序员已经变得越来越“懒惰”了——对于部署环境,开发能不管理尽量不管理。于是乎,Docker,Kubenetes等等一系列部署环境应运而生。但是,无论容器化再怎么对环境进行封装,开发和运维人员始终无法摆脱对服务器的管理工作,即便使用了可视化的容器管理平台,背后的端口映射、文件挂载仍然全让人不胜其烦。 在这样的背景下,无服务架构逐渐被提出和实现。
其实大家应该都可以理解,无服务并不是说服务器从此就不存在了,自从进入了互联网时代,服务器的重要性只会越来越高。无服务架构实际上是让软件开发者在开发和部署软件的过程中感觉不到服务器的存在。开发人员只需要关注在自己的代码(或函数)实现上,也就是所谓的函数即服务(FaaS)。我们常用的几种服务形式,从低层到高级分别为IaaS,PaaS,SaaS。IaaS和PaaS对于用户而言,依然有一定的运维能力要求,而PaaS虽然免去了运维工作,但其灵活度又比前两者低了很多,FaaS则正好抛弃了三者的缺点,保留了三者的优点
平台IaaSPaaSFaaSSaas定义基础设施即服务平台即服务函数即服务软件即服务案例阿里云弹性服务器阿里云K8S阿里云函数计算大家常用的QQ邮箱优点与传统IT架构一致,仅仅是做了虚拟化无需做过多的底层软件安装和运维,有现成的开发工具可直接使用无需进行操作系统运维,可灵活定制功能,支持多种语言运行环境无需对软件进行运维,只要系统满足业务需求,即插即用缺点需要进行大量的底层运维需要管理不同服务器工具间的通信,对工具进行运维目前技术未完全成熟,无法支撑大型应用系统用户无法突破系统本身的功能限制,无法利用自身开发能力进行业务定制无服务框架即是对FaaS的一种实现。
阿里云函数计算,functional compuation,简称fc,支持以下特性:
阿里云函数计算为用户提供了一套支持nodejs、python、java、.netcore、php语言的服务器运行环境,并且支持用户通过docker镜像的方式自定义所需的运行环境。
阿里云函数计算完全由事件触发,常用的有HTTP事件触发和定时触发。有了这两个触发器,我们可以轻松地把传统的WEB项目和定时任务迁移到函数计算中。
阿里云函数计算支持阿里云NAS目录的挂载,由此为往后中大型项目的迁移提供了技术基础。
阿里云函数计算允许用户对服务进行域名绑定,支持http和https协议,并把用户访问路径软性到指定的服务上。
fc为用户提供了仪表盘和服务指标视图,用户可以通过仪表盘分析应用的健康状态。
阿里云为用记提供了Funcraft和fc的基础docker镜像,利用fun 命令,用户可以在本地进行一定程度的开发调度操作。
利用阿里云fc搭建了几个博客系统 我的BIM开发博客 我的全民营销博客