阿里云Serverless产品专家,NUDT博士;开源项目Serverless Devs (CNCF Sandbox Project)发起人。畅销书《Serverless架构:从原理、设计到项目实战》《Serverless工程实践》《Serverless架构下的AI应用开发》作者。
在上一篇文章中,我们介绍了如何通过Github + Github Action进行单纯的代码更新以及版本发布,在本篇文章中
Serverless架构带来的除了一种新的架构,一种新的编程范式,还有就是一种思路上的转变,尤其是开发过程上的一些思路变化。有人说要把Serverless架构看成是一种天然的分布式架构,需要用分布式架构的思路去开发Serverless应用,诚然,这种说法是正确的,但是在一些情况下,Serverless还是有着一些特有的“特性”,所以在Serverless架构下,还是要有一些开发的“观念转变”。
从我做Serverless工具开始,就经常会遇到有人问这样一个问题:如何保证Serverless业务部署更新的一致性。
在实际生产过程中,我们往往会遇到这样一个通用的项目持续发布的流程:Git Clone -> Docker Build -> Docker Push -> Deploy Function
还有什么话要说,还有多少泪要流:Serverless Devs的函数计算踩坑日记。
众所周知,随着时间的发展,Serverless命令行工具也逐渐的玩出了更多的花样,就目前来看,常见的形态有两种,一种是通过Yaml来进行资源的描述
当我们在体验Serverless之后,欲将项目真真实实的部署到Serverless架构时,CI/CD是我们很多人绕不开的话题,那么基于Serverless Devs这款工具,如何快速的和Github Action进行有机结合,实现CI/CD的能力呢?
我是一个比较喜欢写东西的人,无论是生活中的点滴,还是学技术的笔记,再或者是自己针对某些内容的看法,我总想的是把这些内容记录下来,以后进行查阅比较方便,或者以后进行回忆比较有趣。
如果说,这两年在云计算的领域中那些名词最热门,可能非“云原生”、“Serverless”等莫属了,现在在云计算领域聊天,中途不说一下云原生、Serverless,差不多就会“被落伍”。
WebSocket 协议是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,即允许服务器主动发送信息给客户端。WebSocket 在服务端有数据推送需求时,可以主动发送数据至客户端。而原有 HTTP 协议的服务端对于需推送的数据,仅能通过轮询或 long poll 的方式来让客户端获得。
Serverless架构下,虽让我们更多精力是关注我们的业务代码,但是实际上对于一些配置和成本也是需要进行关注的,并且在必要的时候,还需要根据配置与成本进行对我们的Serverless应用进行配置优化和代码优化。
Serverless架构发展速度是飞速的,收到很多人的追捧同时也暴露出来了很多严峻的问题,例如冷启动的问题就是老生常谈的。那么什么是函数计算的冷启动你了解么?他是如何产生又要如何规避/缓解呢?
在传统Web框架中,上传文件是非常简单和便捷的,在传统Web框架中,上传文件是非常简单和便捷的,那么要如何处理呢?
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,是中国首个自主研发、功能完备、 开源开放的产业级深度学习平台,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体。 飞桨深度学习框架采用基于编程逻辑的组网范式,对于普通开发者而言更容易上手,同时支持声明式和命令式编程,兼具开发的灵活性和高性能。另外飞桨不仅广泛兼容第三方开源框架训练的模型部署,并且为不同的场景的生产环境提供了完备的推理引擎,包括适用于高性能服务器及云端推理的原生推理库 Paddle Inference,面向分布式、流水线生产环境下自动上云、A/B测试等高阶功能的服务化推理
众所周知,在人工智能领域,一些训练好的模型可能会随着时间的发展,数据集的完善也会需要进行升级。例如某公司的人脸识别系统,可能会因为新员工的入职,老员工的离职要进行模型的升级迭代;再或者某分类模型可能在上线之初由于训练集的不完善,导致识别率并不高,但是在实际使用过程中不断的有用户进行问题反馈,进而不断的对模型进行完善,提升模型最终的准确率。
随着计算机科学与技术的发展,越来越多的人开始接触编程,也有越来越多的在线编程平台诞生。以Python语言的在线编程平台为例,大致可以分为两类,一类是OJ类型的,即在线评测的编程平台,这一类的平台特点是阻塞类型的执行,即用户需要一次性将代码和标准输入内容提交,当程序执行完成会一次性将结果返回;另一类则是学习、工具类的在线编程平台,例如Anycodes在线编程等网站,这一类平台的特点是非阻塞类型的执行,即用户可以实时看到代码执行的结果,以及可以实时内容进行内容的输入。
Serverless架构在运维层面有着得天独厚的优势,不仅仅因为其事件触发可以有针对性的获取、响应一些事件,也因为其轻量化、低运维的特性让很多运维开发者甚是喜爱。
近年来互联网技术发展飞速,API生态迅速扩张,从RPC到REST,再到现在的GraphQL,不同的风格和规范,在一定程度上,确实是在让开发者更好的在项目中开发和使用API,但是在如何交付高质量、高一致性的API(尤其是RESTful风格的API)及配套产物的方面,还没有非常实质性的推进,本文作者将会结合自身开发经验以及在云厂商的大规模开放API的设计经验,通过对RESTful相关论文的阅读,典型的RESTful风格的API规范(Google Cloud和Github的RESTful风格的API规范)探索,以及对在多团队协同开发、交付高一致性的RESTful API所面临的困难。