IronFunctions Alpha 2

Today we are excited to announce the second alpha release of IronFunctions, the language-agnostic serverless microservices platform that you can run anywhere; on public, private, and hybrid clouds, even on your own laptop.

The initial release of IronFunctions received some amazing feedback and we’ve spent the past few months fixing many of the issues reported. Aside from fixes, the new release comes with a whole host of great new features, including:

Long(er) running containers for better performance aka Hot Functions
LRU Cache
Triggers example for OpenStack project Picasso
Initial load balancer
fn: support route headers tweaks
fn: Add rustlang support
fn: Add .NET core support
fn: Add python support

Stay tuned for the upcoming posts for insights about individual features such as the LRU, load balancer and OpenStack integrations.

What’s next?

We will be releasing a Beta with more fixes, improvements to the load balancer, and a much-anticipated new feature that will allow chaining of functions.

We’re excited to hear people’s feedback and ideas, and it’s important that we’re building something that solves real world problems so please don’t hesitate to file an issue, or join us for a chat in our channel on our Slack Team.

Thanks for all the love and support,
The Iron.io Team

Discuss on Hacker News
Join our Slack
File an Issue
Contact Iron.io about enterprise support

Announcing Hot Functions for IronFunctions

IronFunctions is a serverless application platform. Unlike AWS Lambda it’s open-source, can run on any cloud — public, on-premise, or hybrid, and language agnostic, while maintaining AWS Lambda compatibility.

The initial release of IronFunctions received some amazing feedback and the past few weeks were spent addressing outstanding issues. In this post I will be highlighting the biggest feature with the upcoming release, Hot Functions.

TL;DR:

Hot Functions improves IronFunctions throughput by 8x (depending on duration of task). By re-using containers or what we call Hot Functions each call is reduced by 300ms.

Details:

Before Hot Functions, IronFunctions would spin up a new container to handle every job. This led to a 300ms overhead per job due to container startup time.

With Hot Functions, long-lived containers are able to serve the same type of task without incurring the startup time penalty. They do this by taking incoming workloads and feeding in through standard input and writing to standard output. In addition, permanent network connections are reused. For more information on implementing Hot Functions, see the Github docs.

We ran our benchmark on a 1 GB Digital Ocean instance and used honeycomb.io to plot the results.


Simple function printing “Hello World” called for 10s (MAX CONCURRENCY = 1).

Hot Functions have 162x higher throughput.


Complex function pulling image and md5 checksumming called for 10s (MAX CONCURRENCY = 1).

Hot Functions have 139x higher throughput.


By combining Hot Functions with concurrency we saw even better results: 

Complex function pulling image and md5 checksumming called for 10s (MAX CONCURRENCY = 7).

Hot Functions have 7.84x higher throughput.


There’s more to this release as well. IronFunctions brings Single Flight pattern for DB calls as well as stability and optimization fixes across the board.

IronFunctions is maturing quickly and our community is growing. To get involved, please join our Slack community and check out IronFunctions today!

Also stay tuned for upcoming announcements by following this blog and our developer blog.

Hacker News conversation here.

GoLangSF April 2016: Gohan, Essentier and rqlite

GoSF-April

Thank you to New Relic for hosting the April 2016 Golang SF meetup, sponsored by Iron.io!

Gohan with Nachi Ueno

Nachi

Gohan provides a REST-based API server, database backend, CLI, and WebUI generated from a JSON schema. Gohan can interpret definitions and act as a REST API server. As opposed to Open API, which defines the API, Gohan defines the controller and data model as well.

Gohan provides for inheritance, schemas, policies and extensions. You can use a YAML format. Permission are defined by property using a CRUD model. You can also specify the relationship in the property;

Extensions

Continue reading “GoLangSF April 2016: Gohan, Essentier and rqlite”

Microcontainers, and Logging in Docker: Iron.io CTO speaks at Docker NYC

microcontainers-banner

Travis Reeder, the co-founder and CTO of Iron.io, spoke at last night’s Docker NYC meetup about Microcontainers. In addition, Hermann Hesse of Sumo Logic spoke about Logging in Docker.

Slack for iOS Upload

Iron.io is a big proponent of microcontainers, which are minimalistic docker containers that can still process full-fledged jobs. We’ve seen microcontainers gaining traction amongst software architects and developers because their minimalistic size makes them easy to download and distribute via a docker registry. Microcontainers are easier to secure due to the small amount of code, libraries and dependencies, which reduces the attack surface and makes the OS base more secure. Continue reading “Microcontainers, and Logging in Docker: Iron.io CTO speaks at Docker NYC”

Rails Meetup March 2016: Rails Performance Optimization, Bundler, + Internationalization­

March-Rails-Meetup

At Iron.io, we love to give back to the coding community in our hometown of San Francisco by hosting developer events through the SF Rails Meetup and the GoSF Golang Meetup. Our March 2016 meetup was a triple threat of talks on performance optimization, dependency management, and internationalization. Continue reading “Rails Meetup March 2016: Rails Performance Optimization, Bundler, + Internationalization­”

GoSF: The 1.6 Release Party at Docker HQ

Go 1.6 Launch Party

Lightning, thunder, and even hail swept through SF yesterday. But, that didn’t deter hundreds from hustling to Docker’s HQ for the Go 1.6 release party! GoSF received over 470 signups, a nice sum for a relatively young language.

Yesterday’s launch party boasted trivia, stuffed gopher giveaways, and a limited run T-shirt from Iron.io’s Bruce Lu. Oh, and as always there were some great talks.

Video of the talks will also be online soon! For the impatient, we’ve also included summaries and slides of last night’s talks below. Continue reading “GoSF: The 1.6 Release Party at Docker HQ”

SF Rails: Reduce Complexity and Simplify Code

SF Rails: Reduce Complexity and Simplify Code

Last night we swung by the snazzy DevBootCamp offices. Our goal? To learn from the fine folks joining us at the SF Rails meetup.

The topics included DCI, a comparison of static site generators to traditional CMS, and how workers are better fit than functional programming for reactive infrastructure.

Heady stuff! Keep reading for a preview of each topic, and a link to each speaker’s slides. Continue reading “SF Rails: Reduce Complexity and Simplify Code”

The Next Frontier: Learning Microservices in the Classroom

working

As a Customer Success engineer here at Iron.io, I’ve been fortunate enough to see people using Iron.io in ways I never thought about. It’s actually one of my favorite parts of my job.

Recently, I was chatting with a customer who mentioned his students were using Iron.io in their final project. This peeked my interest, so I interviewed Soumya Ray, an associate professor at National Tsing Hua University in Taiwan, about his experience. Professor Ray’s  Service Oriented Architecture class is an 18 week course that takes students from idea creation to final product. And, as a cherry on top, the class has students create the building blocks of their own startup with zero dollars spent. Continue reading “The Next Frontier: Learning Microservices in the Classroom”

#EastBayGo: Pareto Efficiencies and AOP with GoWeave

east-bay-go

Special thanks to James Daisa for the base image! CC BY 2.0

The other night we headed over to the TurnItIn offices to get nerdy about Go. They hosted the first speaker-led event for the EastBayGo group. Full disclosure: I was one of the speakers!

Continue reading “#EastBayGo: Pareto Efficiencies and AOP with GoWeave”

#SFRails: Scaling ElasticSearch + Advanced Ruby Tricks

sfrails-october 2015

Last night a near 100 folks showed up at Hotel Tonight’s swank downtown offices to get nerdy about Rails.

There’s still a lot of excitement, innovation, and love happening in the Ruby world. After a bit of pre-show socialization with our fellow devs, the crowd settled in to hear the talks of the evening.

Continue reading “#SFRails: Scaling ElasticSearch + Advanced Ruby Tricks”