I run a consulting firm by the name of Linux Prophet in San Diego, California. Actually, I am Linux Prophet. I design and build Beowulf-type clusters for biotechnology and academic clients. Linux Journal asked me to share some perspectives and advice that I've gleaned from being a one-man Linux show. I was more than happy to oblige.
People interested in building a consulting company around Linux should come to grips with the fact that, to the rest of the world, Linux is not a no-brainer. Not yet. What I mean by that is, believing that you will be given a contract “because Linux is cool” is simply boorish. You need to be able to explain in painstaking detail why a client should use Linux. Educating people about Linux, and open-source software in general, is an important part of my job. And the Linux edification, no sermons please, often isn't enough to land a contract. “Why is that?” you ask.
It's because you won't be preaching to the choir when it comes to landing a contract. The decision makers won't be Linux zealots or even know what Linux is. And even if the people you are negotiating with have heard of Linux, they won't care about price points, monopolies, the morality of software ownership or world domination. They will demand high performance and reliable solutions. Period.
Why don't they care about price? Well, for one thing, they are used to being gouged by other proprietary frameworks. Secondly, serious players know that you get what you pay for and that there is no such thing as a free lunch. So harping on the fact that Linux is free may send up some red flags to potential buyers and/or lead you to underbid for a job. Emphasizing free as in freedom, as opposed to no- or low-cost, can potentially avoid this. Monopolies? Last time I checked, the judgments and appeals process hasn't prevented people from purchasing or upgrading the most popular desktop operating-system software. Call Microsoft what you will, they are entrenched in most institutions and won't be disappearing overnight. Morality? Regardless of who your potential client is, they won't see proprietary, or any other software, as evil incarnate—except maybe spamming software. Open-source zealots aside, I have yet to meet anyone that thinks free software is a moral imperative.
What's my point? My point is that nobody hires me for the sake of Linux. They hire me because I do a great job. I use the best tools available to deliver a solution, open source or not. In Beowulf-type clustering, the best tool is Linux.
If this sounds like a jaded perspective, maybe some backstory will help explain.
My history with Linux began a few years ago with my foray into bioinformatics. Bioinformatics, aka computational biology, is essentially the extraction and organization of knowledge from the reams of protein, genomic and other available genetic data. When I decided to leave the wet-lab bench and concentrate on a career in computational biology, I pondered on the toolset I would need to transition into bioinformatics. That's when I was introduced to the Open-Source software movement and some corresponding tools like Perl and Linux. Perl has done all kinds of heavy lifting in several genome projects. I also realized that the questions I wanted to ask were going to require serious computational resources to answer—enter parallel programming. Clusters were beginning to gain popularity at the time, and the OS of choice for scientific, clustered computing was Linux. I slowly developed the vision that bioinformatics software of all sorts, running on Linux clusters, was going to be pivotal in the age of mining the human genome. So that's what I set out to do.
Entering the IT arena from a scientific background, and not a computer science or engineering one, has given me a unique perspective on Linux-centric consulting. If there is one bit of advice I can give about Linux consulting, at least in my case, it's that this really is not about Linux. Linux is just a tool. Sure, it's a turbo-charged, nitro-burning, funny-car type of tool, but a tool nonetheless. It's not a solution in and of itself. When you think about it, I'm really a bioinformatics consultant. Parallel programming, the human genome project and computational biology existed, overlapped and got on with one another before Linux hit the scene. And these pursuits are still in no way dependent upon Linux. It's only very recently that Linux clusters have become the premier tool in these fields.
What I'm getting at is that in order for individual Linux consultants to be successful, they need to provide some service, other than distributing Linux propaghandi, and solve specific problems. Flex your expertise as a streaming-media expert, system administrator or Apache stud; do a great job; do it with Linux and do it better than the next guy implementing that other OS. The idea is that you leverage Linux to make you the best streaming-media expert or Apache guru around. Now this may lead you down a path that ends in Linux omniscience and god of all things Linux. That's great. It's just that no one person can really start there. Start with what you know, and hopefully, probably, Linux can help you do it better. If you don't know your job, or can't address specific problems, then nothing can help you.
Everyone is different, and running your own business isn't for everyone, so I'm not going to recommend a one-size-fits-all solution on how to start your own Linux business, should you decide to do so. But I will say a few things: 1) seriously consider starting out part-time or working for a systems integrator like VA Linux before you take the solo plunge; reading books is in no way a satisfactory preparation for the many intangibles that you will experience when doing business; 2) if you start off on your own, make up your mind from the start as to how you will bill your clients. Even if your decision is to consider two options, limit it to those two options and don't waffle; 3) and if you decide to charge per diem; $1,000/day is a good number to start with. It may sound like a lot of money, but if you're running a solo business properly, you will only have about 20 billable hours a month. And approximately half of what you bill out will go to cover overhead. You also need to take into consideration that you won't always be able to bill that many hours a month, or be working on a contract at all, which leads us to the adage, “I'm not unemployed; I'm a consultant.”
Starting my own business was a great way to scratch my bioinformatics and Linux itches. I know that I'm making contributions to both genomic research and Linux advancement. It's tough going, but nothing worthwhile has been easy for me. Oh, and did I mention that I love every second of it?
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Validate an E-Mail Address with PHP, the Right Way
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- RSS Feeds
- Introduction to MapReduce with Hadoop on Linux
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?