Smart Building Blog

Introducing Spider-Gazelle

Written by Stephen Von Takach | 11-Sep-2018 06:44:10

By Stephen Von Takach

Since the founding of ACA Projects the I.T. industry has gone through a number of rapid changes. The rise of cloud computing, followed by new ways of deploying and managing applications has meant almost everything  has changed.
  • 1991 First web browser
  • 1996 Ruby released… (NOTE:: it takes a few years before adoption of each technology is widespread)
  • 2004 Network stacks: Linux introduces epoll
  • 2010 Service managers: init is replaced by systemd
  • 2013 Application deployment: packages replaced by containers (such as docker)
  • Server management: Puppet (2005) -> Chef (2009) -> Kubernetes (2015)

One advantage of these changes is that it is now easier than ever to deploy services, making microservices a highly attractive option for implementing new features.

A new framework

Since 2012, ACA Projects has been almost entirely a Ruby on Rails house however we’ve been working on a framework that makes it easier for us to rapidly build and deploy new services.

One of the most exciting things is that it is fast, in fact it’s one of the fastest frameworks in the world: 

For those paying attention, that’s 3 times faster than NodeJS and 32 times faster than Rails.

 

Not only fast

Coming from Ruby, Crystal lang was the obvious choice for the underlying language of the framework. Effectively “compiled ruby” it is a joy to work with when compared to languages like Go or Rust which are much more akin to modern versions of Java or C++.

If you’re a developer coming from Rails, you’ll instantly feel at home with Spider-Gazelle as one of our major goals was to ensure a seamless mapping of skills. Rails is an extremely feature rich framework, it makes your life as a developer easy and we didn’t want to compromise developer productivity or happiness. As such, we have ported most of the core Rails features to Spider-Gazelle without compromising elegance or speed.

From a deployment standpoint, Spider-Gazelle projects generate deployment images approximately 45MB in size compared to 850MB for Rails, 18 times smaller.

 

Production ready

We have a few Spider-Gazelle projects running in production. Meraki Scanner, for example, is running at multiple client sites and processes wireless location data streamed from Meraki wireless access points - tracking people and devices in buildings.

Open to all

We believe in the open source movement and as with many of our endeavours, are proud to give back to the community.

For anyone interested in learning more about this exciting new project, please have a look at our documentation: https://spider-gazelle.net/