Difference between revisions of "Infrastructure plan"

From DarkWiki
Jump to: navigation, search
(Introduction)
(Introduction)
Line 18: Line 18:
 
Because I don't have to. I can build physical computers quite happily, and I've enough parts to last years. My development stack can be entirely disconnected from the Internet, should I so wish. Oh, and those costs are not as low as people think.
 
Because I don't have to. I can build physical computers quite happily, and I've enough parts to last years. My development stack can be entirely disconnected from the Internet, should I so wish. Oh, and those costs are not as low as people think.
  
What's the plan?
+
==The environments==
 +
 
 +
There are three main environments, and they will share many aspects. Being able to throw away an environment and completely rebuild it automatically is important.
 +
 
 +
===The development environment===
 +
 
 +
This is where the bulk of the work will be done, and costs are to be kept down.
 +
 
 +
===The demo environment===
 +
 
 +
This environment is for demonstrating the product, getting user feedback and performance tests etc.
 +
 
 +
===The live environment===
 +
 
 +
This is the actual environment where the product(s) will run.
 +
 
 +
==Source code==
  
 
There are two main parts. Firstly, the development environment at home. This consists of a big server whirring away all day in my basement. This will have all by work on, except my source code. The source code will be stored in Git at [https://bitbucket.org Bit Bucket] as it's free for private repositories with very few developers.
 
There are two main parts. Firstly, the development environment at home. This consists of a big server whirring away all day in my basement. This will have all by work on, except my source code. The source code will be stored in Git at [https://bitbucket.org Bit Bucket] as it's free for private repositories with very few developers.

Revision as of 14:51, 3 June 2017

Introduction

I decided to take on the challenge of building software privately and on a fixed, minuscule budget. So I should first explain exactly what I mean by this and why I think it's important.

Firstly, by "private" I mean that the infrastructure won't be accessible to the public (other than that which I explicitly allow), and source code to my projects will be kept private. Services requiring that I share source code in exchange for using their platforms are therefore excluded.

  • This is a disruptive start-up - things need to be kept away from prying eyes (competitors etc).

Secondly, a fixed financial budget, in this case, means the total cost of ownership is fixed. i.e. No recurring costs, licence fees, etc. I have plenty of hardware capacity on old servers, and 100% usage of them costs only the electricity.

  • No on-going fees - budget is fixed
  • Productivity/services do not stop when budget is exhausted
  • Hardware is not an issue
    • My local dev server is an 8-core I7 with 24Gb RAM and 4Tb disk

Why not just use the cloud and accept the costs?

Because I don't have to. I can build physical computers quite happily, and I've enough parts to last years. My development stack can be entirely disconnected from the Internet, should I so wish. Oh, and those costs are not as low as people think.

The environments

There are three main environments, and they will share many aspects. Being able to throw away an environment and completely rebuild it automatically is important.

The development environment

This is where the bulk of the work will be done, and costs are to be kept down.

The demo environment

This environment is for demonstrating the product, getting user feedback and performance tests etc.

The live environment

This is the actual environment where the product(s) will run.

Source code

There are two main parts. Firstly, the development environment at home. This consists of a big server whirring away all day in my basement. This will have all by work on, except my source code. The source code will be stored in Git at Bit Bucket as it's free for private repositories with very few developers.