Friday, May 17, 2013

Deploying Software in the Cloud

I spent my day working on deploying software in our company's private cloud. It may sound complicated, but isn't really once you get past a few basic concepts. Remember that "The Cloud" means different things to different people, but generally means computer servers running in an environment that is accessible on the Internet. We have all sorts of security to keep the wrong people from being able to do bad things to our computers and so that adds a level of complexity to install software. Furthermore, we are still testing our cloud and that means servers need to be easily configured even with all of the added security.

There are several open-source tools to help with this type of software deployment. We have started using Chef and it is supposed to make our life easier. At first glance, Chef looks fairly complicated. There are recipes and cookbooks with all sorts of different options and bits to twiddle. Today I worked with another one of our software engineers and we worked on getting MongoDB up and running on three different servers. If you go to the Opscode website for Chef, you can see that there is already a cookbook for MongoDB. We just downloaded it and made simple modifications for our specific environment. Now if we need to add a fourth MongoDB server, it is just a matter of running a single command on the server and everything is ready to go.

Sir Isaac Newton once said something along the lines of, "All that I have achieved is because I have been able to stand on the shoulders of other great men." He didn't worry about recreating work done before him, he just made sure to add to it. Open-source software and Chef are good examples of that principle in action today.

No comments:

Post a Comment