17. Falling behind on emerging technologies
Staying current can prevent a disaster. For instance, the emergence of inexpensive consumer wireless access points during
the past few years has meant that anyone can create a wireless network -- a real problem for any reasonably structured corporate
IT environment. A Network Instruments retail client, for example, was installing a WLAN to serve the needs of employees who
measured warehouse inventory levels. Soon enough, management wanted access to the WLAN, and without asking for approval, some
employees installed wireless access points at their desks.
Fortunately, the IT staff had implemented ways to check for rogue access points, and a WLAN channel scan with a network analyzer
quickly showed there were more access points on the network than the administrator knew had been deployed. In this case, the
IT staff recognized an emerging technology that might be stealthily introduced by employees and developed procedures to inventory
the threat, thereby controlling it.
18. Underestimating PHP
IT managers who look only as far as J2EE and .Net when developing scalable Web apps are making a mistake by not taking a second
look at scripting languages -- particularly PHP. This scripting language has been around for a decade now, and millions of
Yahoo pages are served by PHP each day.
Discussion of PHP scalability reached a high-water mark in June, when the popular social-networking site Friendster finally
beat nagging performance woes by migrating from J2EE to PHP. In a comment attached to a Weblog post about Friendster’s switch to PHP, Rasmus Lerdorf, inventor of PHP, explained the architectural secret of PHP’s capability
of scaling: “Scalability is gained by using a shared-nothing architecture where you can scale horizontally infinitely.”
The stateless “shared-nothing” architecture of PHP means that each request is handled independently of all others, and simple
horizontal scaling means adding more boxes. Any bottlenecks are limited to scaling a back-end database. Languages such as
PHP might not be the right solution for everyone, but pre-emptively pushing scripting languages aside when there are proven
scalability successes is a mistake.
19. Violating the KISS principle
Doug Pierce, technical architect at Datavantage, says that violating the KISS (keep it simple, stupid) principle is a systemic
problem for IT. Pierce says he has seen “hundreds of millions” of dollars wasted on implementing, failing to implement, or
supporting solutions that are too complex for the problem at hand. According to Pierce, although complex technologies such
as CORBA and EJB are right for some organizations, many of the organizations using such technologies are introducing unnecessary
complexity.
This violation of the KISS principle directly contributes to many instances of project failures, high IT costs, unmaintainable
systems, and bloated, low-quality, or insecure software. Pierce offers a quote from Antoine de Saint-Exupery as a philosophical guide for rooting out complexity in IT systems: “You know you’ve achieved perfection in design, not when
you have nothing more to add, but when you have nothing more to take away.”
20. Being a slave to vendor marketing strategies
When it comes to network devices, databases, servers, and many other IT products, terms such as “enterprise” and “workgroup”
are bandied about to distinguish products, but often those terms mean little when it comes to performance characteristics.
Quite often a product labeled as a “workgroup” product has more than enough capacity for enterprise use. The low cost of commodity
hardware -- particularly when it comes to Intel-based servers -- means that clustering arrays of cheap, workgroup hardware
into an enterprise configuration is often more redundant and scalable than buying more expensive enterprise servers, especially
when it comes to Web apps.