Architecting and implementing a new technology such as a Cloud Operating System requires one to gain valuable feedback in the early stages of the product. When building new technology it is of the essence to get that feedback even before releasing it to a customer. To build this feedback organically from our own team we have been using Nimbula Director to build Nimbula Director. We call this environment dogfood (derived from “eating your own dogfood”). In this blog post, I will talk about how as a startup in an enterprise/service-provider market, we are using ‘dogfooding’ as an engineering approach to develop our product.
We started off small by installing Nimbula Director on a few machines and created our private cloud for the engineering team. Each engineer has a laptop and they utilized the dogfood private cloud for their dev/test work.
The diagram above shows a single site install of our dogfood environment. A Nimbula Director installation is comprised of the concepts of a site, clusters, and nodes.
Site: The site is a single Nimbula Director installation at a single location.
Cluster: One or more networked collection of computers or nodes is called a cluster. A cluster usually runs on a single broadcast domain. A site can have one or more clusters. A cluster is uniquely identified by its IP subnet.
Node: A single server, which participates in a cluster.
Getting our network ready for the cloud should ideally be a one time thing, after which the Cloud Operating System gives you the flexibility and elasticity to adapt to change. Example: the Nimbula Director administrator can add and remove clusters, nodes or sites dynamically by using a restful API or the CLI.
Since engineers manage this private cloud, ‘self-service and automation’ has become the essence of the product starting right from the installation stage. Check out how easy it is to install Nimbula Director to create your private cloud in the video here.
Using our own product for our day-to-day engineering operations has accelerated our understanding of customer requirements. This has led to organic growth of innovative ideas and has enhanced our understanding of the importance of usability, quality and documentation of the product. If you can’t eat it, expect no one else to…
In the next few blog posts I will talk about how we are feeding our way to a robustly engineered product by using the features of Nimbula Director in our dogfood environment.