我们开发第一版的IronWorker已经是3年前的事了,是用Ruby写的,API基于Rails开发。我们没用多久就发展成了相当大的规模,很快我们就触及到了Ruby程序的承载上限。 最初的设计 首先,做一点背景介绍:我们开发的第一版IronWorker,起初叫做SimpleWorker(很不错的名称,不是吗?),用的是Ruby。 我们开发IronWorker的初衷是来源我们自身的需求。我们有不少做硬件设备的客户,他们会7×24小时不停的给我们发送数据,我需要收集这些数据,把它们整理成有用的信息。 于是我们开发了一个服务类应用,并在内部使用了一段时间,但后来我们认为一定会有其他的人也需要这个应用,于是我们决定公布它,这样,IronWorker诞生了。
Iron.io:在微服务环境中运用Docker Iron.io是IronMQ消息队列系统和IronWorker异步任务处理工具的开发商,它自豪地自认为是Docker的早期采用者;对它来说,微服务架构已俨然成为运行时环境的标准化模式 IronWorker在块存储系统中拥有超过15套的Docker映像,它们为运行中的代码提供了语言和库环境。 IronWorker的客户随后只能利用编写代码所需的库,并上传到Iron.io的S3文件存储环境,他们的消息队列将底层的Docker映像与用户的代码程序包在新的容器里面合并起来,运行进程,然后销毁容器。
这里有一些例子: Microsoft - Azure Functions Amazon - AWS Lambda Auth0 - webtask Iron.io - IronWorker Planet
以下是其中几个: 微软 - Azure Functions 亚马逊 - AWS Lambda Auth0 - webtask Iron.io - IronWorker Planet Rational -
举例如下: Microsoft - Azure Functions Amazon- AWS Lambda Auth0 - webtask Iron.io - IronWorker Planet Rational
在 AWS Lambda 将无需管理基础设施,即可根据事件执行代码的概念引入主流视线之前,谷歌应用引擎(App Engine)、Azure WebJobs、IronWorker 及 AWS Elastic
白皮书 虽然按需或"pay as you go"模型的想法可以追溯到 2006 年和一个名为 Zimki 的平台,但 Serverless 一词的第一次出现是 Iron.io 在 2012 年推出了 IronWorker
可用于实现服务的例子: 消息队列:RabbitMQ,IronMQ等 后台worker:IronWorker,AWS Lambda等 消息队列为系统间提供异步通信。