My Experience in Building Product

2016/11/09

My experience in building a product

While working for the current service providing company I have had a oppurtunity for the consecration of a product. The product however stayed in a prototype as a commodity server instead of a full product for consumers. There are however two clients who are using this prototype in their production.

What did we want?

We did not want to

Oh, Well! Seeking the solution!

Installing packages?

You can never get away from this. There’s is a way though using someone else’s built containers. We did the latter but it was called Jail templates.

Virtual machines.

If you never used virtual machines; These are machines pretending to real machines while running inside real machines. 2016! People still use virtual machines but most of them are ignorant about it because… “Cloud”. With machines inside machines, you’re installing Operating System on machines to run machines that will run Operating System. There are efficient ways to manage a Virtualization setup among which includes never installing a fresh OS everytime you need a new VM, just like a cloud instance. Guess where did cloud got this feature from, From their Daddy!

Now that you have your virtual machines ready, it’s time to configure network interfaces in them.

  1. Log in to you VMs from hypervisor provided vnc console
  2. Use you VM like a real machine! So it won’t feel like an android.
  3. Configure your network for remote access.
  4. Get it ready for production.
  5. And it took you 2 weeks to that.
  6. Profit.

What did we get?

Jails, for our applications.

in them within a root filesystem.

The management interface.

We found an open-source Python/Django program that could run system commands and our developers modified it perform tasks that can only be run as root :\ This is going to be a problem soon we did not want our web application running commands as root. Was it really necessary to be that security focused during this beginning? The Plan? Build a daemon which would perform the system commands and provide REST-ful API (It never got done) to any app that may need it. Our web app.

The prototype