LambCI is a CI tool running on Lambda, and Facebook announced OpenCellular.
LambCI
Regular readers will know that I’m always interested in both AWS Lambda and CI/CD tools, so it shouldn’t come as a surprise that I pay attention when someone combines the two. LambCI is a serverless build system, basically offering the ability to use continuous integration without the need to manage your own servers or use a SaaS product.
It’s an open source application, available on GitHub, and it comes with a CloudFormation template that will allow you to easily install it. Under the hood it uses several different AWS tools (SNS, Lambda, DynamoDB, and S3 all managed through that CloudFormation template). Now, I haven’t taken it for a spin yet1, but it looks like a very compelling product for smaller teams and single person shops. I’m not going to try to describe here how exactly it works. I’ll leave that for after I’ve tried it, but in the meantime I suggest reading through the above linked article and maybe give it a spin yourself.
So, what makes it so compelling? I won’t hide the fact that currently Wercker is my favourite CI tool2, but at first glance this has a shot at replacing it. Not so much because of how feature rich it is (Wercker is definitely ahead in that field), but it is far more capable of handling things like concurrency and cheaper.
Not cheaper compared to Wercker’s free tier, but that has more limitations as well. While Wercker now has a paid option3, even that is limited in how many tasks it can run concurrently while with LambCI there isn’t really a major limit. And while there is mention of a potential SaaS version for people who don’t want to run it themselves, when you run it yourself you only pay for the resources you use. Which considering the free tier for Lambda can be next to nothing for a lot of use cases. Additionally it’s open source, meaning that not only can you be sure you’ll always be able to use the current version (just make sure you have a local checkout), but you can adjust it to suit your own needs.
There are downsides, most notably the 5 minute runtime limit that comes with Lambda and the current lack of integrations with anything other than GitHub. One solution for the time limit is how LambCI has the ability to push tasks to AWS ECS so your task will run on Docker containers instead. No, that’s not quite serverless anymore, but at least it comes with a solution for the times it’s impossible to run serverless. There are more limitations as well, but for now I’ll leave it at this until I’ve played with it.
OpenCellular
Facebook announced their OpenCellular platform. This open source platform is aimed at making it easier and cheaper for people who live in areas without an Internet connection to get access. Considering how big Facebook is this can be seen as a way to get more users, but I like to believe there is some altruistic reasoning behind it too.
Whether that’s actually the case or not, if this works out it might have a number of good consequences. Especially in educational fields, having access to all the world’s information is a priceless commodity and should help people reach greater heights. The biggest problem however, is that even when a connection is there for people to use, they will need the hardware to do so. Projects like One Laptop Per Child are aimed at helping with that, but that’s not going to help everyone.
Now, every time someone tries something to bring internet access to remote areas there are comments about how it’s more important to get those people clean water or other essential health benefits. I’m not disagreeing with that, in fact, I completely agree with it. This does seem like a very Silicon Valley way of improving the world. That said, in much the same way as with Google’s project Loon, I do hope this project is successful and might help some people.