Grid Computing: Steps to a Gridified Enterprise
Let’s start with the basic assumption that you’ve heard of grid computing but you really don’t know much about it. No one is currently using it in your company but what little you do know indicates that there are some applications that would benefit. You’re at the beginning-when you have the most options and choices. So what are you going to do?
Step 1: Take an Inventory
How many machines do you currently have available? What OSs are they running? How many are often idle? Does your company have a policy about leaving machines on/off at night? What are all the applications currently being used in house? How many were built by you? How many are 3rd party apps? What is your budget? What type of training does your staff currently have? With this exercise you want to make sure that you understand your business, its resources and its objectives. Once you know what you have and what your needs are its time to do some research....
Step 2: Conduct Investigative Research
You have choices. There are both open source and commercial grid platforms available. Some grid platforms are Linux, some are Windows, some are heterogeneous, some are tied to one language (such as Java) and some are open to multiple languages. There are a variety of options. As you research companies make sure that you understand what you have. For example, if you are a Microsoft only company, then buying Linux servers and hiring a Linux IT person may not be cost effective. If a programming interface is in a language no one on staff knows...is that grid platform an option? During this step you want to eliminate companies that DO NOT meet your needs. When you are finished you should have a short list of companies that on the surface look promising. You have also been busy educating yourself about grid computing. Killing two birds with one stone. Now it’s time to look back inside your organization.
Step 3: Identify Grid Opportunities
Grid opportunities can be either application-based or process-based. Process-based applications can be batch jobs that could run in parallel or they could be file-based processing, such as EDI, which could be broken up and run in parallel. Application-based opportunities can be algorithms that are computationally intensive, such as risk analysis, or provide a service that can get bogged down, such as a web service, or are data processing intensive, such as data mining. In particular look for applications/processes that take a long time to run. When you finish this exercise you will have a list of in-house grid opportunities.
Step 4: Conduct Detailed Research
Because of Step 2 you know what your grid platform options are, because of Step 3 you know what your grid opportunities are; now it’s time to narrow down your target grid platform(s). Using your grid opportunity list identify which grid platforms can be used to grid-enable the process/application. Do not be surprised if you discover that one grid platform doesn’t meet all of your needs. This is not an uncommon problem. If you’re lucky you will get several platform candidates. This is the ideal case because then you have negotiation options.
Step 5: Choose a Proof-of-Concept Project
From your list of grid opportunities select a project that you feel confident you can succeed at, will save enough time and/or money to satisfy the decision maker, and will give you a good feel for the quality of the platform. Ideally the project should not take long.
Step 6: Decide on the Platform
Now engage the grid platform providers. Whether you make a purchase at this time or not depends on your conversation with the providers and how your company makes IT decisions. When talking with the providers make sure that they are the type of people you want to do business with. Are you going to get the support you need? Are the people helpful? Is the platform cost effective? You want to succeed at this project so make sure you stack the deck in your favor.
Step 7: Take a Picture
You’ll want to know what the value add is, so make sure you take measurements before you start the conversion. One of the great things about grid computing is that it can significantly reduce the time it takes to complete a process. (Depending on your project you may want to collect multiple datasets.) So take the relevant measurements before you begin.
Step 8: Grid-enable your Project
This step is project and platform specific. But here is where you’ll spend a little or a lot of time getting the selected project adapted to the grid. Track everything you learn because it will help in later projects. If the platform company has sold you consultants, you still need to know what they did and how they did it.
Step 9: Take another Picture
The project is done and it’s working! Now collect the new measurements, build your comparison charts, and calculate the cost savings and the productivity gains (there should be some, if not you picked the wrong project).
Step 10: Grow your Grid
Pick another application/process and grid-enable it, repeating steps 7 through 9 until you have grid-enabled all the identified opportunities. At this point you’ve learned a lot about grid computing and that knowledge coupled with your business knowledge may reveal some new internal and external opportunities. What information/processes are proprietary? Do I have anything that can use a utility grid service? Should I add another grid platform? Can I add any other resources to my grid? Can I use grid computing to create a business opportunity with a partner? Can grid computing create a product opportunity for us?
Labels: Concurrency