Skip to content

Instantly share code, notes, and snippets.

@tylerflint
Created November 10, 2015 22:40
Show Gist options
  • Save tylerflint/d61f2fecebe6556b00a0 to your computer and use it in GitHub Desktop.
Save tylerflint/d61f2fecebe6556b00a0 to your computer and use it in GitHub Desktop.
Nanopack manifesto

Nanopack - Automated, api-driven infrastructure

Our Vision

What we want is clear: to develop and manage our infrastructure like we do our apps; with direct api-access at the source for real-time configuration. This requires more than just an automation layer on top of services that were designed before the cloud. This requires a fundamentally different approach to building infrastructure components and services.

api access what?

Consider a popular webserver like Apache or Nginx. To use either of these, you will write configuration in a file, and then start the service. To adjust the running configuration you would modify the same file, and restart or reload the service. A remote login and direct administrative access is required to perform both actions. Sure, you can automate this administrative task with a configuration management tool like chef or puppet, but it is still a task, and all the overhead of login and administration is still required. Imagine if the same result could be achieved via an api call directly to the web server in question. Imagine all of the layers that could be eliminated, imagine how seamlessly you could automate changes across your infrastructure.

An api-driven web server is just the beginning. Virtual networks, load balancers, dns servers, log collectors and reporters, metrics reporters and collectors, virtual ip balancers, and cluster management tools are a few of the components that we aim to fix. In many cases a simple, lightweight wrapper around an existing product to expose an remote api may suffice. In other cases, a complete rewrite and replacement is required.

How can we do it?

Nanopack is a collection of open-source projects that embrace the unix philosophy of a singular purpose. The collective result is left to the imagination of the consumer, likely dictated by the needs of the project. We have a solid start, thanks in large part to our sponsor Nanobox (a Pagoda Box product), who has funded our efforts and allowed the release of proprietary code. We play nice with others and recognize that there are other organizations and efforts that are inline with our vision. Let’s build this together.

Let’s work together

We need your help to realize this vision. If you’re a systems administrator or a devops person, we need your assistance to identify scenarios and vet potential solutions. If you’re a programmer, we have lots of code that needs to be written. We need help to document and spread the word. Join us on ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment