The Silicon Whisperer Necessary Business Technology Advice

17Jun/110

BIG IRON: The Manframe Story (so far)

If you look back to some of the original posts on this blog, one of the ideas that I share with respect to virtualization is that we are seeing an industry wide shift back to centralized computing. We have realized 'the errors of our ways' and are migrating from incredibly sprawled distributed computing infrastructures to smaller and tighter virtualized infrastructures. While we are still using x86 hardware and multiple distributed nodes, companies like VMware are allowing that hardware to operate as one homogenous logical machine. VMware is also taking huge strides in simplifying management across the infrastructure as well as making it easy to port more and more enterprise workloads into this homogenous infrastructure. Does this sound familiar? It should. It's the modern rendition of the venerable, stable, secure and powerful mainframe. IBM Systems Magazine has partnered with CA Technologies to produce a short set of films that document the history of the mainframe from the 1960s through 2010 and beyond. It was definitely an interesting series and I think there is a lot that can be gleaned in terms of business computing, compliance, workload management, compatibility and infrastructure design. Take a look and leave some comments on what you think.

The Documentary Film Thousands of Years and Countless MIPS in the Making

BIG IRON: The Mainframe Story is the long-awaited chronicle of the most innovative and enduring computer technology the world has yet known.

CA Mainframe Chorus and IBM Systems Magazine co-present BIG IRON: The Mainframe Story (so far). This documentary film chronicles the mainframe's origins and storied history with an eye toward its bright future. Each chronological segment features events, photos, video and factoids from Stonehenge and Alan Turing to System/360 and virtualization to System z10 and beyond. Experts, historians and innovators share their insights to bring the platform’s story to life.

Take a walk with us through Mainframe’s past and future history with BIG IRON: The Mainframe Story (so far).

VIEW the documentary by decade, or in its entirety (below):

9Jul/100

Taking the first step to Cloud Computing – Standardization

In my daily interactions with clients, I am often asked what the first step should be toward Cloud Computing. Invariably, my answer is 'Standardization.' Standardization has far more importance than just being the first step to cloud, but it also makes the transition much faster and more secure. I want to spend a little time talking about why standardization is so important, then delve into how it will ease your cloud migration.

Southwest Airlines was one of few airlines (if not the only one) to retain profitability during the recent financial downturn and major events that negatively impacted the industry as a whole. In my opinion, the largest reason for Southwest Airlines success is that they standardized on only one type of aircraft - the Boeing 737. Other airlines, who fly several different aircraft, have to stock parts, train mechanics and pilots for each type of aircraft they operate. What this situation creates is a massive overhead of parts, people, certifications, training and much more. Southwest only has to stock parts for one line of aircraft, train mechanics and pilots for one type of aircraft and worry about one size of aircraft at a terminal. The routine day to day problems that they encounter will be the same and there are processes and procedures to deal with them. This is a highly streamlined way to do business, and it all is a result of standardization.

I use the Southwest Airlines example almost religiously because it shows what a company can gain when they standardize internally. In IT, there are several areas to standardize, but you will get the most 'bang for your buck' in standardizing the operating system and application stack (to include programming language). Hardware has become a commodity and most operating systems in production today can install on just about any vendor's hardware (Oracle Sun, HP, Dell, IBM, etc.) so long as the processor architecture (Intel/AMD x86, SPARC, PPC) is supported. It is best to standardize on one (or at most two) hardware platforms so that training and support for your hardware is streamlined and efficient. The same applies to the operating system as you do not want to have to hire several different people with varying skill sets to accomplish the same tasks. At the application layer, having the same application server and programming language makes deploying and maintaining the applications much easier. If you are able to standardize to the point where you can get all of the above from a single vendor, you have the ability to leverage a single support infrastructure across all product lines. Yo do not have to worry about the hardware vendor pointing at the OS vendor while they in turn point to the application stack vendor.

As an example, I use Sun Microsystems (now part of Oracle) to illustrate how this all works. I'll start in reverse order with the programming language - Java. Java is a very powerful language in and of itself, but what is more important is that it was designed to be multi-platform from the beginning. The same code can be installed onto any server with a Java Run-time Environment or Java Application Server and it will run without issue. The code is not compiled to the operating system and thus not tied to only one OS. This is also huge in terms of avoiding vendor lock-in because if you no longer want to use a certain Java Application Server, you can simply choose another and migrate over without issue. There are many Java Application Servers on the market and they all accomplish the same thing (serving up Java applications), but they do differ in additional features (such as management) offered. Sun, of course, has their own Java Application Server, and it is optimized to run on the Solaris operating system (although it does also run on various Linux distributions as well). This brings me to the next layer, the operating system. Many businesses deal with the issue of having to maintain different operating systems (such as Linux, UNIX and Microsoft), and it is probably the single largest headache and inefficiency that exists in IT today. As a matter of fact, the primary reason that VMware (and other virtualization vendors) have been so successful is that they were able to put multiple operating systems on the same hardware. This does net you some efficiencies at the hardware layer, but you still have to individually manage the operating systems of the virtual machines.

So, we've talked about keeping your programming language, application server and operating system standardized, and I have previously stated that hardware is a commodity now a days, so why not buy the hardware from the same vendor if possible? Fortunately enough, Sun does make hardware as well. Again, this provides you with the ability to point to a single vendor for support issues as well as reap the efficiencies gained where the vendor optimizes pieces of the stack to work better with each other than they would spread across different vendors. This is Oracle's new claim to fame, and they will be leading with that marketing pitch going forward. Aside from price being a sticking point (if it happens to be one) there is no reason not to employ your entire technology stack from a single vendor.

Now, how is this the first step into the cloud? The cloud as it exists today is a melding of various open source technologies that provide a platform or framework on which you can deploy your applications. The major cloud computing vendors have already optimized their stacks and offer you several areas in which to enter the cloud. You can buy infrastructure as a service and deploy your own application servers and code on top of the IaaS or you can buy the platform as a service, where the application server is already decided, and you just deploy your code on top of the platform. Lastly, you can also buy into a SaaS application and hook into an API, if provided, to leverage the software more to the needs of your business. No matter which path you take, it will be significantly easier to step into the cloud if you have standardized internally and know exactly which components you need to migrate and how those components interact with other parts of the stack. The standardization process gives you these insights as well as the ability to highly optimize your infrastructure moving forward. These same principles apply to building internal private clouds or hooking into public clouds. There are so many other things that are gained with standardization, and I will cover those in future articles, but the scope of this article was to articulate how standardization is the first step toward a successful cloud migration.

Feel free to ask any questions in the comments section or email me via the address in the "Contact Me" section.

11Jun/100

Sorting through the fluff: How do we define Cloud?

I have covered the topic of defining cloud computing a few times on this site, but I think that it is a good time to revisit that definition again. Cloud computing has evolved somewhat since I wrote those articles, and although everything still holds true, I feel that Information Technology professionals are now spending more time trying to understand cloud computing than ever before. Now is a great time to revisit the definition of cloud computing as the researching of the technology is trending upward.

One of the most basic definitions given for cloud computing is computing that takes place on the internet. This is a result of the long lasting moniker assigned to the internet in the tech community - the cloud. It would make sense that if you are computing across the internet, you are cloud computing. Right? Well, in the most basic sense, yes that is true, but cloud computing much more than that. It is safe to say, however, that you can not have cloud computing without network access like the internet.

So what is cloud computing? Well, it depends. There are several definitions that take into account whether you are a cloud provider, consumer or perhaps both. I'll start with the easiest - the consumer. Have you ever used internet-based services like Gmail, Google Docs, Salesforce.com, Facebook or Twitter? If you have, you are on the consumer side of the cloud computing spectrum. You are using a service that is offered (sometimes free) and it sits out in 'the cloud.' You do not have to run servers or other infrastructure to make it work. You just access the services via a web browser or mobile device. These services are often very easy to use and easy to access in many ways. You are not aware of the processes and technologies that take place behind the scenes to make these services work, and you really don't need to be.

On the flip side, if you are providing a web-based service to customers or the public at large, you may know a little more about the back-end technologies that make it happen. You may have an application or website that is hosted for you by a company like Rackspace or GoDaddy. These hosting companies provide the infrastructure and you provide the service (application) to your customers. While this is getting closer to cloud computing, it may still not be cloud in that a static hosting service is not really a cloud infrastructure. Now if your application needs to scale to accommodate more users on-the-fly and then shrink back to a pre-determined size (in order to reduce operation costs), companies like Rackspace provide cloud servers for you to build on. Here is where we start first dipping our toes in the true cloud world.

When you leave the realm of static hosting and move to a platform that can scale based on demand, you have now stepped into the cloud. There is a level of automation going on behind the scenes that assigns resources as needed to your application or service. In the most basic sense, this is all based on demand. The infrastructure serving up your application is elastic. It can scale up and down according to demand. This elasticity and scalability based on demand is cloud computing in its true essence. With this model, however, we are still stuck with a monolithic application silo that can only scale vertically. An application instance on a server can only scale as large as the server will allow. What do you do when that happens?

This brings me to what I see as the true definition of cloud computing. Cloud computing is the combination of an elastic infrastructure which leverages automation via an 'aware' application and can scale itself horizontally as well as vertically on demand. Whew! Let's break that one down. You already know about the elastic infrastructure and automation for scalability. An aware application is one which is written to function and interact with the cloud computing platform to scale as needed. In this sense, the application will monitor work load and demand. When it senses that it is becoming over-taxed, it can communicate to the elastic infrastructure that it needs another instance spun-up and put into service. This instance can be on the same server, or another server. The ability to spin-up instances across multiple servers, and have these instances work as a cluster, is what gives horizontal scalability to the application. If the application is written correctly, there is no limit to the horizontal scalability of the application. Being able to identify events in the application layer and trigger events in the elastic infrastructure based on a pre-defined response set is what we call orchestration. Think of an orchestra conductor signaling musicians as it is their turn to play in an intricately weaved symphony. The fluidity with which this happens as the many parts contribute to more than the sum is orchestration at its finest, and this is where cloud computing can deliver the best value. When we write applications that are aware of all parts of their make-up, from hardware to code, we provide the ability to orchestrate various processes based on events that occur.

Hopefully this sheds a little more light on what cloud computing is and how you can leverage the technology in your businesses.