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 optimised 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
Recommended for YouWebcast: The Art of Growth Hacking: Gaining Early Traction by Doing Things that Don't Scale
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 emergent 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 optimise 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 implementers 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, minimising 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.
To make sure that your Linux infrastructure benefits your business download the Free Eguide: How to ensure open source software delivers real world ROI .