Archive for June, 2009

Clouds

June 16, 2009

Barry’s guest blogger is once again Jeff Tash (aka ITscout).

This blog posting is not a commentary about cumulus, cirrus or stratus clouds.  Rather, it’s an exploration into a new style of computing where dynamically scalable, virtualized services are delivered over the Internet.  This new approach is referred to as cloud computing. 

Is cloud computing a disruptive, tectonic shift comparable to the swing from mainframes to client/server?  Or, does cloud computing simply reflect a new twist on the old pre-PC model of computing known as timesharing?  Perhaps cloud computing is little more than yet another buzzword perpetrated by the same legion of pundits who shamelessly hype twitter as the next coming of the dot com revolution. 

As Wikipedia states, “the term cloud is used as a metaphor for the Internet, based on how the Internet is depicted in computer network diagrams.”  Key characteristics include dynamic provisioning of resources and pay-for-use billing. 

Software-as-a-Service (SaaS) is the underlying cloud computing business model.  Customers are either billed as resources get consumed or they subscribe at a fixed price for a specific length of time.  One benefit of SaaS is that there are little if any upfront costs.  That’s because there are no capital expenditures required to setup physical infrastructure.  Also, users can generally terminate their contract at any time.  We’ll delve into a deeper discussion of SaaS in a future blog article. 

In my kick-off posting on Barry Wilderman’s blog, entitled “The March of Technology,” I wrote how turbocharged technologies have led to hundred-fold drops in the price of processing power, billionth of a cent per byte of storage, and pennies per gigabit per second of bandwidth.  Collectively, innumerable cheap commodity processors connected to massive disk storage farms, all wired together using fiber-optic networks that steer photons through glass threads, has led to the emergence of this entirely new cloud computing architecture.  The consequence of this architectural shift is a return to recentralized data centers where data and applications run on cloud servers and the user interface is presented via a web browser.  

Scalability in a cloud computing environment is ruled by experts who understand how to optimally manage and provision processing power, disk storage, network bandwidth, and (perhaps most importantly) electricity.  The key to success is wasting what is abundant to conserve what is scarce

As we approach the end of the first decade of the 21st century, data center processing is often measured in petaops and petaflops.  Peta signifies a million billion, or numbers of the magnitude of 10 to the 15th power.  The suffix “ops” refers to “operations per second” and “flops” refers to “floating-point operations per second.”  Data storage is being measured in exabytes (10 to the 18th power).  Meanwhile, the speed of the Internet’s backbone has accelerated to roughly a terabit per second. 

So, the best way to take advantage of what’s abundant is by being profligate with the surfeits of processing, storage and bandwidth.  But what’s scarce?  First, user patience.  People nowadays expect nothing short of sub-second response time. 

Paradoxically, as individual disks have gotten larger and denser, it takes longer to scan them for data.  The solution is to use various caching techniques that deploy huge amounts of transistor-enabled random access memory (RAM) which can be accessed 10,000 times faster than magnetic-enabled disk memory platters.  Vast numbers of transistors are also used to power today’s multicore CPUs.  Ironically, most of the time transistors stand idle till infrequently needed.  But, transistors – idle or not – generate heat which needs to be dissipated to avoid damage to circuitry.  This contributes mightily to the second gigantic scarcity – electricity – needed to drive all the power supplies, fans and air conditioners necessary to waste processing, memory and bandwidth. 

Companies that run massive data centers, such as Google, Amazon and Microsoft, gorge on unimaginable quantities of electricity to power servers and disk drives.  At least 50% as much energy is required to cool the searing heat that must be dissipated by all the electronic equipment.  With a third of incoming electricity lost to the grid’s inefficiencies, and half of what’s left lost to power supplies, transformers and converters, it’s easy to understand why the high cost of electricity has driven the owners of massive data centers to market the concept of cloud computing as a means of helping them recoup revenue to offset their huge investments in facilities built to provide a cheap source of electrical power. 

Google, Microsoft and Yahoo! have either already built, or are planning to build, data centers adjacent to the Columbia River along the Oregon/Washington border in order to take advantage of rock-bottom hydropower electricity prices.  Meanwhile, China is moving forward with plans to build dozens of new nuclear plants that promise nearly limitless energy to power Chinese cloud computing initiatives.  Finding cheap power is the ultimate objective.  Sometimes just finding enough power at all before maxing out the local grid can become the main bottleneck throttling the size of cloud computing data centers. 

Today, electricity has become the critical nexus for delivering processing, storage and communication.  As one Google executive commented, “a power company could give away PCs and make a substantial profit selling power.”  Electricity is the driving force causing many to believe that the pendulum is eventually going to swing back to centralized computing.  It’s the key scarcity that the industry expects will lead the shift to cloud computing and away from client/server computing.  However, it’s still primarily the owners of massive data centers that are hyping the demand for cloud computing – not the business market – and especially not the mid-sized companies that are typical of Lawson’s customer base. 

Companies like Google and Amazon require massive data centers to host their software applications.   Their systems have been meticulously engineered to execute in a massively parallel computing environment.  Classic enterprise applications such as ERP, on the other hand, were designed for traditional multithreaded client/server configurations.  Substantial reengineering is needed before this class of software can truly take advantage of massively parallel processing. 

Many owners of more modest sized data centers are pursuing other technological solutions to cut down their electricity consumption.  Often promoted under the marketing buzzword green computing, one key technology that can enable a significant reduction in the number of required servers in a data center is the not-so-revolutionary concept known as virtualization.  Virtual machines allow hardware to emulate multiple different instruction sets or operating systems.  In other words, a single physical server can simultaneously execute applications developed for multiple different platforms, such as Windows, Linux, OS-X, etc.  We’ll explore virtualization more fully in a forthcoming blog posting where I’ll try to explain why I believe virtualization probably has significantly more pertinence to Lawson’s customers than cloud computing, at least for the next few years. 

Cloud computing is still an early concept and not yet very mature.  There are plenty of unresolved technical and business challenges.  While many people may find it convenient or cost-effective to use Web-based e-mail, Web-based personal productivity applications, or even Web-based CRM applications such as SalesForce.com, overall only the tiniest fraction of the world’s computing workload has switched over to cloud computing services. 

Is cloud computing even ready yet for those bet-your-company, prime time, industrial-strength applications like ERP?  What happens when there’s an outage?  It’s possibly tolerable if your e-mail system goes down for awhile.  But what happens if your warehouse management or shop floor control system suddenly becomes unavailable?  How is licensing handled (e.g., a database license)?  How exposed are your data sources (especially in a multitenant environment where a single instance of software serves multiple different cloud computing customers)?  How does cloud computing impact compliance with regulations such as Sarbanes-Oxley? 

An analogy is often drawn comparing cloud computing with electrical utilities.  However, electricity is a commodity.  All electrons on the grid are essentially alike.  Computing is far more complicated.  The execution of an application requires the provisioning of many heterogeneous resources.  The operational and implementation risks are huge.  You ignore them at your peril.  The complexity is enormous. 

Google has invested fortunes fine-tuning their cloud to handle one primary application – search.  Likewise, Amazon has concentrated on using cloud computing to deliver one principal application – e-commerce business-to-consumer shopping.  Providing general-purpose cloud computing solutions that can address a mix of wide ranging concurrent applications is a nontrivial challenge.  It’s highly unlikely that mid-sized businesses are going to volunteer to become the early adopters of this high-risk technological innovation.  When it comes to IT, most mid-sized companies tend to be fairly conservative.  Let’s just say they’re not embarrassed to be caught wearing both a belt and suspenders.

Cloud computing may be fantastically promising.  But I’d recommend letting others blaze the trail for now.  Don’t be too quick to abandon your on-premises computing solutions.  Not quite yet anyway.

Until next time…