Tuesday, March 3, 2009

Classic Dilemnas (Part 2)

Wednesday, February 25, 2009

Classic IT Dilemnas

Build versus buy


Ah, the classic dilemna: do I go shopping for something that I want, in the hopes that some vendor will satisfy enough of my requirements to make it feasible and present a reasonable benefit to cost ratio? Or do I take on the task of building it myself, in the hopes that I can get enough of what I produce to work the way I want it to that it serves my needs? Let's take a moment to look at the pros and cons of each of these approaches:



















ProsCons
Build

  • Custom-created to precise specifications




  • Often more expensive

  • Slower time-to-market

  • Inexperienced builders can incur more cost


Buy

  • Faster deployment

  • Builders leveraging core competencies




  • May not meet all requirements

  • Depending on the complexity, may cost more



If you are reading this blog, you probably already know which of these avenues we will elect. Building your solution imparts a number of advantages to any business, but in particular, small businesses will enjoy the following benefits:



  • Cost: As we've established in the past, reducing cost is often of utmost importance to a small business. In general, there is some measure of risk in this decision—you can be equally as likely to build something more cheaply as you are to find a great bargain on an off-the-shelf solution. But in the realm of OSS, you have some great building blocks to use to create your solution, so the cost is often negligible (as long as you consider "free" to be negligible, that is).

  • Customization: Small businesses are built on innovation, and innovation (by definition) entails new ways of thinking. It follows then that the processes that support these new ventures may not be served by the same IT that supports established ways of thinking. When you build your solution, you have complete control over what components go into it, and how it operates.

  • Independence: In the process of building something, you learn a lot about it. It would be bad enough to pay $10,000 for a software solution; but what if you also had to pay an additional $5,000 or more per year to receive bug fixes or enhancements, or worse yet, $150 or more every time the company picked up the phone? Once you've built your solution, you are in a much better position to fix it.


For the above reasons, this site will skew towards building (using the quality building blocks that the OSS community makes available) versus buying pre-packaged solutions.




Friday, February 20, 2009

Choosing Your Platform (Part 2)

Software/OS:


As many companies--including Microsoft--are focusing on small businesses, there are solutions that fit meager budgets (e.g. one can find a Microsoft small business server package for under $500). But for those on a shoestring, using an OSS solution is the only real option. These solutions are stable, robust, industry standard, and have a plethora of software available with the same benefits.


If you are a small, non-development business, then likely you have little or no experience with operating systems outside of Windows and Mac OS X. But the OSS world has a variety of operating systems to offer, most of them modeled after Unix. The following are some of the choices you have among free software:



  • Linux: This is undoubtedly the best known of the Unix-based operating systems, which has been steadily making its way into the datacenters and workgroups of larger companies for years. With the "Web 2.0" movement, where applications are served over the web instead of in a client-server model, Linux has more opportunity than ever to get into corporate America. More recently, it has also found popularity as the OS for "netbooks," or small, cheap, notebook computers that focus on light office work, e-mail, and web-browsing (again, thanks again to the fact that many applications can be served over the web). There are more variants, or “distributions,” of Linux than can be counted here, but for the purposes of serving applications to your small business, you'll do well with any of the following: RedHat/Fedora, Novell SuSE/OpenSuSE, or Ubuntu Server.

  • BSD: One of the original Unix off-shoots, BSD is now a family of operating systems differently focused. FreeBSD is something of a generalist operating system, equally at home on the server and (with more recent derivatives) the desktop. It is interesting to note that a previous version of FreeBSD makes up the foundation of the current Mac OS. NetBSD is designed to run on a wide variety of devices and hardware platform (focus on portability), while the code for applications included in OpenBSD is reviewed thoroughly (focus on security). Other, more specialized variants of BSD also exist--Wikipedia does an excellent job of outlining these.

  • Haiku: As their web page states, Haiku is "inspired by the BeOS," a desktop operating system launched in the late 90's that was eventually purchased by Palm, Inc. Designed exclusively for the desktop, the operating system focuses on ease-of-use, and is said to handle audio-visual tasks very well.

  • Others: There are far too many open-source operating systems to create a comprehensive list, ranging from specialist operating systems like eCos (designed for embedded applications), to open source "clones" of other operating system (such as ReactOS, which has the admirable goal of producing a 100% Windows-compatible enviornment), and "research" operating systems that programmers create for their own education and enjoyment.


This guide will initially focus on using Ubuntu Server, for no single reason in particular, but including the following reasons in general:


  • Skills learned for Ubuntu Server can be very easily transferred to other Ubuntu variants including the “standard” desktop install (which uses the GNOME desktop), Kubuntu (a desktop install that uses the KDE desktop), and others (an interesting one for older hardware is gOS, which integrates well with webapps including those from Google).

  • The author has found the software packaging system used by Ubuntu (with packages in DEB format and managed by the Advanced Package Tool, or APT) to be the easiest and most flexible way of installing and maintaining software.

  • Canonical, the company behind the Ubuntu distribution, is working hard to prepare their system for use by business, including adding supported and/or easy-to-install versions of business applications to their software repositories.

Thursday, February 12, 2009

Choosing Your Platform

In the last article, I discussed why installing, configuring, and running your own SOHO infrastructure is a good idea for the adventurous who are willing to trade a little time for flexibility and reduced costs. Now that you've made the decision to go forward, we need to assemble a platform consisting of hardware (a server) and software (an OS--we will make many, many decisions about applications later, and they are not really part of the platform anyway).


Hardware:


In terms of processing power needed, many of today's run-of-the-mill PC models can "serve" you adequately. It is a good idea to get the fastest processor available, and max out the RAM that the system can hold, but for the really budget-minded shopper, anything over 1.2GHz in speed (particularly if it has more than one processing core, like the Intel Core Duo series) and over 1GB of RAM should perform just fine for transaction-oriented applications (i.e. you're not going to render 3-D animations on them).


However, if you know up front you intend to deploy multiple applications on your network, you will want to give some up-front thought to how to architect your network. There are basically three choices:



  • Consolidated: You can plan to install all of your applications on one server. In this case, you may want to get more hardware than you will need immediately. This will give you room to grow as your business (and therefore your user base and application portfolio) does.

  • Segregated: Alternately, you can plan to install applications to their own server machines. While this will allow you to choose hardware on a case-by-case basis to match the application's use case, it will present some other issues (for example, ensuring that user accounts are synchronized across all of the systems) that will need to be addressed.

  • Virtualized: Lastly, a combination of the above two methods entails installing a virtualization server, within which you will deploy one or more "virtual machines" which will appear and act as though they were separate hardware machines. The deployment and configuration of these is fairly in-depth, and will be covered in an Appendix. However, this is an excellent choice for deploying applications across multiple (virtual) servers, with different hardware configurations,1 that can be created, changed, or deleted dynamically.

1Most virtual machines will allow you to choose (mostly standard) configurations for the servers that you deploy, though you often have to choose from “stock” or very basic hardware.

Friday, February 6, 2009

Why Move Your IT In-House?

The “cloud computing” movement in the industry is the opposite of what we're proposing here. So, you may ask, why would a business want to do exactly the opposite of what the market is doing? It may be that you don't; there are many compelling reasons for small businesses to take advantage of these on-line applications. There are many on-line and/or hosting service providers that can provide most, if not all of the applications and functions described on this site.


Yet there are a number of important reasons that you might want to keep your applications in-house, however small and overworked that house might be:



  • Cost: First and foremost, you might no be able to afford to outsource these services. While e-mail and web hosting are certainly commodities these days, as you add applications to your portfolio, these costs can quickly add up.

  • Centralization: Also, as the number of applications you require grows (and it will), you will become bogged down with administering all of the accounts you need. Consider the typical office worker: they might need groupware (let's assume that Google's offering will work for this), office software (again, for the sake of argument, Google Apps), timesheets (for example, the provider Timetrack Plus), bookkeeping and billing (Quicken Online), and file storage (e.g. a hosted solution such as Documentum). This is a fairly simplistic IT infrastructure, but bear in mind you would need to create and maintain no less than four accounts per user. As your team grows, so will your administration headache.

  • Control: Again, it's easy to find space and processing power on a managed server (for example, a “web site” account) somewhere. But the ability to install what you want, when you want, for a similar (commodity) price is less common (though possible). It is more expensive to obtain space on a server (which, if it is installed with your choice of operating system, may well be a virtual server) than it is to get an equivalent amount of web space. If you keep your server in-house, you can put whatever you want on it.


For these reasons, if you are willing to spend a little bit of time learning how to administer your own systems, and a little more time to maintain them, you will be rewarded with a customized, cost-effective infrastructure that will provide your small business with everything it needs.


OK, at this point you know doubt have caved to the genius of the above arguments arguments, and are willing to build your own SOHO server yourself. You have a couple of choices to make in terms of the hardware and software you use. I'll discuss the choices you have in the next post.

Saturday, January 24, 2009

What this blog is...

As I organize what I'd like to present in this site, I'd like to take the opportunity to frame it with some statements about myself as well as the people who are likely to find this site useful.


What this blog is:



  • A resource for small business users, who may not have the money to pay for managed IT services, but since they wear many hats, are willing to invest the time to do it themselves.

  • A resource for small business owners to build an IT infrastructure using open source software (OSS) that can be had, largely, for free.

  • A way for me to further the open source cause, help some small business owners who can benefit from IT to help them in their businesses, learn more about OSS systems and software, and maybe even have some fun writing about it.

  • A collection of tips and guides based on observations by this author, who has worked at companies or offices of less than 100 people (and as few as 6) for most of his career, regarding applications and systems that can be of benefit for small businesses.


What this blog is not:



  • An authoritative guide on what application is better than what other one. While I will certainly do some due diligence when selecting an application, I cannot guarantee that any one application will make all users equally (or even at all) happy. At some point it would be nice to have multiple alternatives for multiple applications (e.g., instructions for two web servers, three mail servers, etc...), let's start with what we have, shall we?

  • A resource written by a decades-experienced systems administrator with seventeen letters after his name--while I have been dabbling with OSS for going on ten years now, I am by no means a guru, or even especially good; in the words of my father, I am still a "neophyte." But part of diving in and trying is learning, which is one of my goals for all this.

  • A resource for someone who expects to be able to "point-and-click" their way to IT nirvana. While there are applications and systems that will allow you to do this, they often times cost money. Sometimes it's a little, and sometimes it's enough to make you want to slap your mama. Again, expect that you will roll up your sleeves and get your hands dirty... administratively speaking.

Monday, November 17, 2008

Welcome to OSSME!

There has been much to-do about open source software in business since the turn of the century (it sounds strange to say that about anything related to computers). Over the last eight years or so, open source software has established itself in the datacenters of large corporations. Many people look to the desktops of those large corporations as the next hurdle, but a growing number of companies are realizing that there is much to be gained in the SME market.


I agree that medium-sized businesses are ripe targets for these companies' new products and services, but I believe that they will likely be out of the reach of most small businesses. I also believe that these smaller firms can benefit from what open source has to offer. This site aims to be an accessible resource to small business users who are interested in evaluating, testing, and eventually deploying open source to aid their business, and are not afraid to try to do it themselves.


About the title:


The author thought long and hard about what a good term for this site would be. There are no doubt many other names which are or would be more appealing to small business IT managers and owners, not to mention our friend Google. But the author likes the term "OSSME" because it represents two concepts:


  • "Open Source for Small- and Medium-sized Enterprise": This represents the opportunity that open source and free software presents to businesses of this type. Once organizations realize that, yes, you really can get quality solutions at no (monetary) cost, a whole lot of interesting things can happen with the IT industry.
  • "OSS Me!": This represents the attitude that someone must have before this site will be of much use to them. I cannot stress enough that there is a reason that commercial software (in general) is simplified in its installation--that the companies that develop it spend many, many of the dollars they've received for previous versions to make sure of it. But I have always been of the opinion that any time dedicated to learning about something, IT or otherwise, is time well spent.
About the author:

Aaron has worked in small businesses for the past ten years. He has experience in technology from the strategic (as a consultant to many top Japanese companies on matters of IT strategy) to tactical (as a project manager of localization, web site, and web application projects). Aaron has also been an OSS hobbyist for nearly as long (having started in 1997 with a CD collection of Slackware 3.4), and is currently trying to bolster his technical skills with Ubuntu and Red Hat system administration, as well as Java development.



When he doesn't have his nose buried in a technical book (or a laptop, for that matter), he enjoys spending time with his wife and five furry ankle-biters (sometimes literally)--three cats and two dog. On other occasions, he may very well have it buried in the latest novel by George R. R. Martin, Steven Erikson, or Robert Jordan. When all else fails, he enjoys going at other people with bamboo sticks.