Hi all,

Few weeks back we ran into the rumprun project and started to play with it,
for science. We mostly work with big microservice architectures,
conventionally deployed on AWS/GCP clouds so we immediately saw the value
of unikernels in general. Working on a few embedded projects (kinda IoT)
also added to interest (put 2GB of ubuntu on a piece of metal to run an
embedded app is as silly as silly gets).

After getting the whole setup up and running and building a few libraries,
apps and doing some fixes on gorump (as we mostly code in C++ and Go,
gorump by Defer Panic guys is a great project), we realized that the whole
process is rather complex for your average developer, making the
popularization of the project a tad difficult to say the least. With the
whole Docker hype, popularization is a necessary evil.
So, we decided to put our web app development experience to good use and
"ascalia" was born - a weekend side-project by 4 of us aiming to automatize
the rumprun kernel building.
As all side-projects, it turned out a bit more than just that, with a lot
more plans for the future :)

Currently, you can just pack your static website (static, jekyll or clay)
together with rumprun-packed nginx and download binary for XEN, HW or
Amazon AMI. We use the rumprun toolchain so XEN & HW were not a problem,
but building the AMI turned out to be a more complex task. In the end we
managed somehow so after a few minutes you get a link to AMI image on AWS
which you can use to spawn an EC2 instance!

Build process is similar to what you see on CI sites like Travis so it
should be pretty straightforward.

Our next plans:
- host the XEN binary on our server (we run on bare-metal)
- build Go (gorump) apps
- build other apps (C, nodejs, rb...)
- ... :)

Ultimate idea is to pack for embedded platforms like Raspberry Pi,
BeagleBone or any IoT platform.

We're currently mostly 'closed source' for one simple reason - project
turned out to be in 4 repos, pretty closely coupled and honestly - ugly.
We're going to clean it up in the following days and open-source as we go
along. Only one piece of the puzzle is open-source currently,
https://github.com/ascaliaio/rumpacker and even that's not complete (piece
of the puzzle is still in another app).

Technically, site is something our frontend guys put together, mostly
jquery and some other hipster tech.
Backend is made out of 3 components:
- packer web app, written in Go, handling the interface, github login etc.
- ascalia app, also in Go, pretty much a simple state-machine consuming
build jobs (NO CONCURRENCY FOR NOW - because AMI building requires a live
EC2 instance)
- rumpacker, library in Go which currently handles only AMI building but we
will cut-out actual packing out of ascalia-app and put it into this lib

There it is... Please give it a try, comment, suggest, shit on it, help
out... :)

Site: http://ascalia.io
Packing app direct link: http://packer.ascalia.io

You can file any issues here: https://github.com/ascaliaio/rumpacker/issues

Keep in mind this is 'first release' and we did it as a side-project. Even
though we built and packed tens of different sites, we expect a lot of
things will crash. Please report any issues, bugs and problems. We'll also
review all of the failed job logs.


Thanks, let us know what you think!

Marin

Reply via email to