Iron.io, a San Francisco company which has recently secured $11.5 million venture capital funding, has announced Project Kratos, which "will enable enterprises to run AWS Lambda functionality in any cloud provider, as well as on-premise," according to the project description.
Project Kratos, like other Iron.io products, runs on any public cloud or on premises
AWS Lambda is a managed service for running Node.js, Java or Python code in Amazon's public cloud. Scaling is automatic, and you can have code run in response to events such as database updates, modifications to objects in cloud storage, or calls to a REST API from sources such as mobile or IoT devices.
"Modern enterprises cannot afford to be beholden to a single cloud provider or on-premise infrastructure," said Iron.io CTO Travis Reeder. Project Kratos can be installed anywhere, as can the company's core product, a microservices-based platform for job processing applications.
A snag here is that Lambda integrates nicely with other AWS services such as S3 storage and DynamoDB databases. Is Iron.io setting out to clone other AWS APIs? "Definitely not," CEO Chad Arimura told The Reg. "It's primarily the Lambda service, so that if you have Lambda functions in AWS you can import them into Docker containers that are portable, they can run in your own data centre, on Amazon, Google Computer, Azure or anywhere else.
"We believe in open protocols, allowing developers to run their code anywhere, not being locked into any particular stack. We have created this layer where you can deploy Lambda functions. Google just announced Cloud Functions and we'll add support for those," he continued.
The Iron platform, upon which Project Kratos depends, adds features like intelligent workload distribution, auto-scaling, reporting and dashboards. "Just running Node, or just running a Docker container, there's no secret sauce to that. It's all the things you layer on top that enterprises need to build powerful applications," says Arimura.
According to Arimura, businesses will benefit from avoiding lock-in to a single cloud provider. "If you architect your application properly using microservices and an event-driven paradigm then you can have full control over where your workloads run, you can move them to a low-cost provider during the day and bash them out to a different provider at night, depending on where you need to proxy that workload. You can also choose specialised infrastructure, such as a particular chipset that might benefit your particular workload," he said.
Will they save money though? It seems unlikely. "We don't look at the price comparison. We have an implement and extend strategy, you're getting so much more," claims Arimura.
Resisting cloud lock-in is a worthy goal, though in the case of Project Kratos you do of course end up with a dependency on the Iron.io platform. Another option is to run Microsoft's Azure Stack in your own datacenter, though you still have all those Microsoft licenses to take care of. Escaping cloud lock-in is possible; escaping vendor lock-in is more difficult.®