Mike Levin SEO

Future-proof your technology-skills with Linux, Python, vim & git... and me!

Three Days of Daily Journal Meanderings - Must Fix Course!

by Mike Levin SEO & Datamaster, 03/21/2012

Okay, it’s time to really dig it today, and make a killer daily journal entry. This is to keep me on-target and focused, while I have a few of these really delicious hours to work with. Where to begin? Are there weak points? I averted disaster over the weekend with the light trademark search on the name Tiger by suggesting we just use 360iTiger, which we have sort of being doing all along anyway. I have all the installed code and load balancing. I don’t have the two servers sync’ing, or the provisioning of new servers on-demand, which would have been an automatic benefit of the Amazon EC2 cloud, but which can be programmed in Python on Rackspace. That’s exactly the sort of thinking I need to do today.

Okay, the DNS for the domains is done. Let’s get the public version of Tiger done.

1. Make an entry in the apache sites-available 2. Restart apache. 3. Do the same on second server!!!

Note: with a load-balancer in the picture, things can get surprising when you’re keeping multiple server instances in sync manually. It may appear that graphics don’t load—which is what happened here. I need to test that Tiger is actually working now with this new domain. There’s no reason it wouldn’t, but it’s got to be tested…

Okay, tested. This time around, DNS is taking forever to propagate on the guest WiFi network, but propagated instantly on the internal network… exactly the opposite of the problem I had last time. I guess that would stand to reason, because last time it was a DNS change at GoDaddy, and this time it was a subdomain of a work domain.

New day.

Okay, my daily journals are seeming to be undermined lately by the daily grind. Tons of little things come up here and there that eat away at the day.

Ugh, okay after a full day, the new Tiger DNS entries did not propagate. I’m concerned that it was not set up for the outside world. It might have just been set up as internal network DNS entries. Before looking for projects like synchronization and automatic server, I should…

Hmmmm. No, I should really work on the synchronization bit. You’ve done stuff like this before. It will be nice to never have to think about this stuff again.

Python-based Server provisioning, per http://davemartorana.com/logs/ramblings/using-rackspace-cloud-load-balancers-to-make-cloud-servers-immutable/ ???

There’s a lot of interesting points here. But the first thing I want to do is set up the very standard instance for a server. That article talks about running a script to do the server-build from a “blank” server. I don’t need to go to that extreme. I can make a server image that is as up-to-date as I need (for now) and has the app pre-installed. Then, my Python API calls only need to create new servers and throw them in under the load-balancer.

So, first do an apt-get update and apt-get upgrade. Okay, done.

Next, delete out all the stuff that shouldn’t be part of the master server image. Okay, done.

Next, fetch off of a TigerVM the command that I use to do an automated repository pull.

Okay, next make the file inside /etc/cron.hourly

Okay, make it executable with chmod 755 filename.

Okay, actually execute it and look for the correct output.

I believe we have a new master image for the server. It will be self-updating with every new repository push I do. That’s good. No more synchronization issues—at least on an hourly basis.

Open the Rackspace web admin.

Delete the two existing on-demand images.

Create a new master on-demand image based on the cleaned-up server.

Okay, I am set up VERY WELL to scale this thing in a serious way on Rackspace. I just have to increase the size of the server instances, and instantiate out new servers off of the new on-demand image. I may actually make a pre-enlarged server to a top service tier.

Okay, next day!

Things are inching along. Once Tiger goes public, everything subtly changes. You have to prepare for that.

Feedback from the PR-team: I need to have a video that describes the benefits. It’s a sales-pitch video that explains what you need to know. It needs to put it in context. Maybe some verbiage like:

Previously, it took you… You can get a depth of information easily by…

Well, this daily journal has spanned 3-days already. The main thing I’ve accomplished is getting the new domains… subdomains from my employer… connected to the hosts I’ve been using—obviously, Rackspace, but also one other generic web host for the documentation site. That’s all done now. Ensure my ability to log into the documentation site.

Okay, I really got to focus and power through all this. Power through it. Tell a great story.