Friday, August 7, 2015

8-7-2015 Setting up your own staging to prod environment at home

Well, not exactly at home. I want prod to be independent of staging and professional quality. This document will be edited as time goes on.

Goal is to develop at home and push to prod and it should still work.
Perhaps I should have a staging environment? No, my stuff is not that important. Nobody is going to die. For money making website, yes. Its the same but just another step on the chain. If you don't, and you make money, you're CEO is a bit weird to say the least. I won't work there or demand it gets changed. Believe or not, many companies don't.

2nd goal is to show people that you can get stuff to work. It was so frustrating to deal with outdated versions of software that required 10 times more work or just didn't work. In the past, this was used by a jerk to corner me to make himself look better. I remember a co worker saying once that guy is past his 3 month probation, things will change. Yes, it did lol. Total liar and I hired the guy. Never trust anyone until after their probation, and even then, you never know. Protect yourself by getting ahead of the trends.


This stuff is done:

  • Setup domain name record with free service. Since it is free I might as well give them some kudos. 
  • Setup Google's applications for menprojects.com to handle email, and other stuff. 
    • Had to point DNS records to google. Did it months ago. 
  • Use blogger.com for blogs. 
  • Buy 3 laptops at home for creating 3 server clusters for mysql, mongo, etc. I got some crappy ones for less than 300 brand new.  4 gig ram, 500 gig diskspace, hmdi, and standard stuff. 
  • Buy TV with hdmi for laptop monitor. Don't bother with actual computer monitors. This TV is for computer use only. 
  • Setup 7 AWS servers. one main and two sets of 3 clusters. Setup permissions, keys, etc. 
    • A micro computer for 3 years was over $100. Sold. Not much diskspace or power, but that's okay.   
  • Setup DNS and home and DNS at AWS for inside use only.
  • Setup GIT on local and AWS. 
  • Install Percona Cluster (not mysql cluster) it uses galera.
At the time of the last edit, this stuff is to do first at home then on AWS: 
  • Automate the script that creates the package for DAD. And other tools. 
  • Install SALT and get installations scripts for all software. 
  • Add graphing and monitoring scripts and reports. 
    • Integrate with SALT. 
  • Mongo 3.0 certification. 
  • Install and automate VoltB and Vertica. 
  • Install MariaDB with Maxscale and make it automated.  
  • Program DAD for VoltDB, Vertica, and MariaDB with or without MaxScale.
  • Install Redis and VoltDB as cache layers for apache. Different scripts can point to either I guess. 
  • R -- a replacement for SAS and built into Vertica. 

Now for the technologies:
  • SALT : Because I a python guy and I hate writing modules in the other ones. I have been stuck waiting on people to write modules --- one who actually worked against me. I want to be able to write my modules fast. 
  • GIT: You might say mercurial, but there is no python I need written for source control and GIT has a bigger following than mercurial will ever have. Mercurial comes in 2nd for me. 
  • Vertica, VoltDB, and MariaDB over Hadoop and Cassandra. I know MariaDB isn't a data warehouse, unless you want it to be. Hadoop and Cassandra have the market place but I am looking 5 years down the road. Both Hadoop and Cassandra are just not philosophical there with me. 
  • Redis and VoltDB as cache layer. Both are good. 
  • MariaDB and MaxScale : Percona is nice. But MariaDB is more in line with my philosophy. MaxScale takes away some of the reason to use NoSQL. 
  • Percona or MariaDB Cluster: Galera is awesome and I like it a lot. I will switch from Percona to MariaDB cluster. But kudos to Percona for pushing it. I hope Percona takes the MariaDB Maxscale and the two companies continue to push each other and be friends.  
  • Apache has my web service choice, but others are good. This is not written in stone for me. I have always  been an apache guy. 
  • LinuxMint or the Ubuntu knockoff. RedHat is all corporate and I disagree with the fundamentals of their company. Ubuntu is my 2nd choice but I hate Unity and I hate for them jumping on the bandwagon to turn your computer into a phone. Buttheads. Sadly for AWS its ubuntu, but I use LinuxMint at home. 
  • Python and Bash. Don't need to say anything. If I do, you're not my audience. 
  • Graphite and Graphana. The one good thing that came out of backstabbers and foolish people I had to work with (2 bad ones out of many that were great people). Yes, those technologies for graphing are great but they never understood its full power. It is hard to deal with people who can't see the forest for the trees and are tyrants. 
  • Nagios. I am so used to it. 
  • R -- a replacement for SAS. I have told it is built into Vertica nicely and is pythonish. Makes it a no brainer. 
I'll add more as I go on. 

No comments:

Post a Comment