By: Chad Arimura, Iron.io CEO and Co-founder
You may have heard the term serverless computing being tossed around recently. This doesn’t mean we’re getting rid of the data center in any form or fashion, it simply means that we’re entering a world where developers never have to think about provisioning or managing infrastructure resources to run distributed applications at scale. This is done by decoupling backend jobs as independent micro services that run through an automated workflow when a predetermined event occurs. For the developer, it’s a serverless experience.
There have been two separate, but related innovations that enable this software defined future. One at the application layer where APIs and developer tools abstract away the complex configuration and operations required to distribute and execute workloads at massive scale. The other at the infrastructure layer, where workloads are profiled for their most optimal hardware conditions. These innovations narrows the gap between developer and chip, leading to more intelligent workload-aware systems.
At Iron.io, we have been leading this serverless computing movement through our container-based job processing platform. Through an event-driven model, developers simply package their job code as a lightweight Docker image and set when they want it to run; on a regular schedule, from a web hook, when a sensor goes off, or from a direct API call. When the event triggers, an automated workflow kicks off behind the scenes to spin up a container and execute the job. All that’s needed is available infrastructure resources to distribute the workloads.
This convergence between the application layer and the infrastructure layer is where Intel and Iron.io intersect. For example, an encryption workload is best run on an Intel platform that uses CPUs that have Intel® AES-NI instructions, but it shouldn’t have to be up to the developer to make that call. The Snap Framework collects the telemetry data that tells Iron.io where best to deliver the job. This is done by including a Snap plugin within the Iron.io runtime that captures the memory, CPU, and block I/O environment for each container process. In addition, Snap can capture advanced characteristics using Intel® RDT (Cache Monitoring Technology and Cache Allocation Technology). The data is then analyzed and published back to Iron.io so the next time the job is triggered to run, it can be routed to the right Intel processor with the right resource allocation.
This collaboration between Intel and Iron.io represents the future of workload-aware computing environments. When dealing with web scale and beyond, incremental optimizations led by software defined infrastructure can make the difference between success and failure. We’re excited to collaborate with Intel to empower the modern Enterprise with a serverless future.