对比传统架构,用Serverless架构改写的AI应用具有显著的优势。我们不再运维任何云主机和操作系统,甚至不再运维Tomcat这样的Web容器,只需要专注于代码本身,所有配置、应用生命周期管理的工作都由FaaS框架负责。公共云的出现让我们从物理硬件管理中解放出来,Serverless架构让我们进一步从操作系统管理中解放出来,第一次真正专注于核心业务。 业务也变得更加敏捷了。我们只需要编写核心业务相关的代码,例如AI应用中图像识别的部分。无需编写任何加载、部署、配置应用的代码,例如不再需要配置systemd在系统启动时加载应用。 水平扩展也不是问题。正如前面反复提及的,FaaS框架会为每一个事件、每一个API请求都启动一份新的进程执行代码。这跟传统应用的线程池方式类似,每个请求都在一个单独的线程中执行,区别在于线程之间共享同一内存地址空间,FaaS的进程间不共享任何内存。与线程池有最大线程数限制类似,FaaS框架通常也限制了最大进程数,例如AWS Lambda在一个Region默认能执行的最大并发调用是600,也就是说我们的AI应用最多能在600个进程中同时执行。 最后,也是最重要的,Serverless架构为我们节省了大量开支。我们只需为AI应用运行的时间付钱,无需为应用等待请求的时间付钱。水平扩展的粒度从原来的云主机细化到进程,节省了额外的开支,不用再购买闲置的云主机来抵消Auto-Scaling的配置不精确带来的影响。业务的敏捷性提高也降低了营运成本,我们不再需要精通操作系统配置和管理的营运人员,不仅节省了人力成本,也节省了应用从开发到上线的时间。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。