It’s Not Easy

I remember that it was my first experience crafting shell scripts for e-commerce sites deployment on top of Amazon EC2 infrastructure. It took roughly 2 months for me to understand the whole process and comparing which method are the best.

Yes for sure there are many sophisticated tools out there just to do this task, but I keep motivating myself to write the scripts myself. Because then I can learn a lot, especially how to write some codes and more importantly is how to customize deployment process that is suitable for our needs.

Well, I won’t tell you much about that (maybe later), but my deployment scripts are rely a lot on Git (github.com) source management tool. This method provide fast deployment time while still maintaining code accuracy, since it’s also using git-sha number (or tag) as reference for deployment.

The problem start coming when couple days ago, GitHub was down for roughly 2 hours. Understanding GitHub’s explanation, I take one conclusion, power system problem and they’re not ready with redundancy or disaster recovery. Well I do understand those concept also come with expensive budget, but since they provide SaaS to a lot of social-developer geeks, then I believed GitHub has to work very hard for it.

For me, seems that GitHub are trying to re-engineer their infrastructure for some reasons. Managing our own hardware infrastructure may satisfied our engineering passion, but it also may costs us much more expensive.

GitHub : we started developing over three years ago as we were transitioning from a managed environment to our own data center space.

The lessons are whenever you decide to manage your own hardware, you have to think redundancy for all hardware stacks, including disaster recovery for any unexpected force majour. Considering the energy, resources, and most importantly our own capability. Are we smart enough to follow those big giants reinventing the wheels (i.e. Google and Facebook)? Or rather we focus on building our own products.