10 steps to keep your Linux project on track

Many IT teams are turning to Linux for parts of their companies infrastructure. But Linux projects require some extra care, as Simon Mitchell discusses in this guest post. 


What do your Linux infrastructure and the U-bend under your sink have in common? If you don’t get them both right, you’ll be flooded with problems.

If you don’t get the plumbing right when building a house, you’re going to get a blockage that prevents the smooth flow of water. You could fix it after the house is completed, but that can be costly and time consuming.

When it comes to building a software application and setting up ecommerce to process orders using Linux and Open source Software (OSS), the plumbing needs to be right too. If not, you may find delays and unnecessary costs in bringing applications online. Internal stakeholders will be dissatisfied, and customers will be poorly serviced. More importantly, your revenue pipe will be blocked. Prevent all that by properly designing and deploying your infrastructure, and the applications on top of it. Make sure that it is optimized and well maintained.

According to a study by PM Solutions called Strategies for Project Recovery, the five top reasons 37% of projects fail are poor definition of requirements, inadequate resources, unrealistic schedules, poor planning and poor risk assessment.

To avoid your project being one of the 37% that fails, here are nine tips for getting the IT plumbing right:

1. Get your requirements right

Accurately define your operational, technical, end user and customer requirements. Make sure appropriate members of those departments who will be involved in the system participate in the requirements definition. Not doing so is like building a custom home without involving the owner. Another advantage of involving non-technical end users is that they will more readily accept the system and their role in supporting it.

2. Plan your capacity

Today’s nascent ecommerce system is tomorrow’s revenue driver. Forecast adequate growth in transaction volumes. Design the system to support future capacity. Not considering this could severely impact an application’s ability to support the growth of a business.

3. Manage configuration

Proper configuration management is an important part of any IT infrastructure. A configuration management tool like Puppet can help you to create standard builds for servers, and to document and control equipment configuration across your infrastructure.

4. Monitor and report

Make sure that your system logs are intelligible and useful for later analysis. Ideally, a monitoring and reporting package like Nagios will help you to identify any issues before they become real problems. They can also help with tasks such as baselining resource usage for capacity management.

5. Integrate your systems

Ad hoc deployment is one of the most dangerous diseases for IT departments. One team implements one system, and years later, a different team installs another. Then, the organisation needs the systems to talk to each other, and no one has any idea how to do it.

6. Do it right first time

Adopt and apply best practices in the development and maintenance of both the Linux infrastructure, and the applications running on it. Explore how others have approached them. Consider standardising your approach for your Linux infrastructure and the application deployments. The system will flow better if you apply best practices.

7. Design security in from the beginning

People were saying it 20 years ago, and in 2013, people still aren’t listening: Security should be a basic design principle, not an afterthought. Ecommerce sites normally keep credit cards on record. In a world where violating PCI compliance can leave you with hefty fines (not to mention angry customers), proper security is crucial.

8. One step at a time

Employ a phased development approach. By breaking a Linux infrastructure project into logical phases you can assess development and deployment progress more easily. In addition, problems can be isolated more quickly, and costs can be better controlled.

9. Test early, and often

Involve the end user early in the testing, evaluation and acceptance phases. In addition, before deploying an ecommerce application, test it thoroughly. If a problem occurs, the impact in terms of costs and maintenance will be reduced.

10. Focus on improvement

Ensure that your IT department is always focused on new ways to improve and optimize systems. With technological developments moving at a breakneck place, a thorough re-evaluation every few months is worthwhile to see if any new efficiencies can be introduced.

One problem many organisations face is a lack of experience when using open source environments such as Linux. The great thing about the LAMP stack is its flexibility, but this can also leave some companies confused, especially in small businesses where they may not have a great deal of in-house expertise.

One way to create cohesion in your Linux infrastructure is to follow a maturity model that guides your design and deployment processes. Rather than thinking simply about infrastructure divided into layers, hardware architecture and operating system deployment is just one piece of the puzzle.

A robust systems management layer helps to keep the hardware and software infrastructure running smoothly, minimizing your overheads and reducing the likelihood of human error. Service management is important here, too.

By automating processes such as provisioning, an IT department can make it easier to provide basic IT services to support new applications, all growing demand for existing ones. That can decrease a business’s time-to-market with a new ecommerce service.

Consider employing a third party services company like Linux and Open Source Software consultancy. Part of getting the plumbing right is to use the right resource with expertise, background and experience in getting the work done in the most efficient and effective way.

Although there is an added cost to using an outside Linux services firm, the net cost is often significantly lower when you take into account the costs associated with development delays, inadequate testing and the impact on an organisation’s reputation if bad IT plumbing affects the customer experience. Loss of customers to a competitor alone would often be sufficient to offset the cost of employing experts in Linux best practices deployment.

About the author: Simon Mitchell is the Executive Director – Director of Strategy and Transformation at LinuxIT, a professional services organisation that provides on-premise or cloud enterprise services and support from a strategic to operational level aligning the IT systems with organization’s vision and strategy.

Make Smarter Tech Decisions

Get the latest IT news, trends, and insights - delivered weekly.

Privacy Policy