Development

Aerobatic Deploys Websites Directly from BitBucket

10 Mar 2016 2:30pm, by

Aerobatic is a static hosting platform hoping to ease some of the more common pain points developers face when working on websites at scale. Aerobatic pushes a developer’s code directly to Bitbucket, deploying the website continuously alongside handling CDN, branch deployments, SSL, and cache invalidation. While there are more than a few static hosting solutions available today, Aerobatic stands out by offering deep integration with Atlassian’s Bitbucket.

Start Your Engines

When e-commerce application company MyMarket aimed to streamline its static hosting solution, it turned to Aerobatic to help address their needs.

“There are a lot of services we could use, but each new service adds complexity. Aerobatic, on the other hand, reduces this complexity by integrating directly in Bitbucket and being configurable through a standard package.json file,” said MyMarket chief technology officer Michael Schramm. After implementing Aerobatic, the MyMarket team sped up their deployment process over 8 times from its previous benchmarks.

Bitbucket and Aerobatic Project Dashboard

Bitbucket and Aerobatic Project Dashboard

Aerobatic’s tight integration with Atlassian Bitbucket eliminates a lot of context switching for developers while its built-in continuous deployment structure eliminates the need for additional CI tools. For larger enterprises which require a more secure setup, users are able to run private instances of Aerobatic.

In addition to this, Aerobatic offers scalability and customization that can help developers customize it to meet their needs.

“Our ‘all-in’ approach to using AWS has allowed us to build a massively scalable service quickly with their latest fully-managed and serverless offerings. The Aerobatic platform is also open-source and the architecture is such that the core platform can be extended through custom plugins,” said one of Aerobatic’s founders, Jason Gowans.

The Benefits of Static Hosting

At its core, Aerobatic is geared toward managing websites, whether these are agencies building with static generators such as Jekyll or Hugo, or enterprises working with frameworks such as React.js.

Static doesn’t have to mean lacking in features or flexibility, as Aerobatic offers users global CDN with auto-renewing wildcard SSL certificates, API proxying, rollbacks, branch deployment, authentication, and more. For those working entirely with Jekyll, Aerobatic auto-builds Jekyll sites, allowing users to use custom Ruby plugins as well.

Jekyll Build Log Output Screen Aerobatic

Jekyll Build Log Output Screen Aerobatic

One key feature with Aerobatic is version control through Bitbucket. Having version control means entire teams can then build and edit websites using git’s distributed code management capabilities.

Gowans also noted the development workflow is further streamlined when developers harness the power of JIRA as well as the many auditing and analytics features provided with Aerobatic. “Being able to look at the commit history of content edits as compared to web analytics offers some interesting optimization opportunities that aren’t easily accomplished if you’re still using a legacy CMS like WordPress, for example,” said Gowans.

Under the Hood

Powering Aerobatic is a Node.js multi-tenant web server running on AWS Elastic Beanstalk that acts as an intelligent streaming proxy to Amazon Simple Storage Server (S3). The platform also relies on DynamoDB and Redis to store metadata about each individual website.

Gowans notes that as web pages are served through Aerobatic, they undergo a lightweight pre-processing stage that optimizes HTML resource URLs (images, scripts, stylesheets, etc.) by directing to Aerobatic’s own CDN with aggressive cache headers. All website traffic is fronted by a global CDN which handles edge caching, custom domain SSL termination, malicious traffic filtering, and request flooding prevention.

Aerobatic Deployment Settings

Aerobatic Deployment Settings

In addition to asset hosting, Aerobatic also provides DevOps teams with increased functionality via plugins. These plugins are implemented as standard Express.js offerings, with Gowans mentioning the two most popular plugins developers are using with Aerobatic are HTTP basic authentication and HTTP proxy, which proxies requests to a remote URL on behalf of a website.

On the CI and CD side, Aerobatic has harnessed the power of AWS Lambda to power its workflow pipeline. When changes are pushed from a repository to Bitbucket, a webhook fires to Aerobatic which fetches the latest project source code, writing it to a staging bucket.

This, in turn, triggers the Lambda function to fire, pulling the code from the staging bucket, performs any needed build tasks, then pushing the compiled website to its final deployment bucket.

“For us it is also great to have a similar local version running through browser-sync where developers can test locally without pushing to a staging system,” said Schramm.

Aerobatic Authentication Environment Variables

Aerobatic Authentication Environment Variables

Aerobatic is simple to set up, offering a one-click solution to teams looking to get started right away. Developers install the Aerobatic Bitbucket add-on with one click, link their repository to it, and that’s it. For those wanting to use its plugins, this can be accomplished by simply creating a website manifest in JSON inside a package.json file, notes Gowans.

Much like Atlassian, Aerobatic strives for transparency and openness, offering a public feature backlog, with users able to offer feedback and suggestions as to what the Aerobatic teams builds next.

With its many offerings to DevOps teams working at scale, Aerobatic hopes to not only stand out–But improve the quality of life for developers.

Feature image via Pixabay, embedded images via Aerobatic

A newsletter digest of the week’s most important stories & analyses.