Archive for July 2013
Difference between cloud computing and distributed computing?
So, we have been hearing the coined term of cloud computing a lot - isn't? But then isn't it similar to distributed computing - which has been around many years?
So lets try to figure out what is the difference between both and figure out where the difference ends!
What defines cloud computing is that the underlying compute resources
(storage, processors, RAM, load balancers, etc) of cloud-based services
and software are entirely abstracted from the consumer of the software /
services. This means that the vendor of cloud based resources is taking
responsibility for the performance / reliability / scalability of the
computing environment.
From an application developers point of view, this can be a
tremendous advantage, as procuring, maintaining, tuning, monitoring and
scaling hardware to meet the demands of growth is both difficult and
expensive.
For smaller ISV's, cloud computing offers the ability to prototype, test and deploy software without any capital expense.
For larger applications, the benefit is generally unlimited
scalability and what amounts to the outsourcing of IT / application
hosting responsibilities, as well as instant access to new servers /
storage / whatever on demand. Often cloud providers will offer levels of
redundancy, reliability and even security all but the largest in-house
IT shops could never achieve for the sheer cost of it all.The main disadvantage to application developers is loss of control.
Not only is the hardware externally hosted in a cloud environment, but
abstracted, so if your application needs direct control over hardware,
you're out of luck. And you need to trust the cloud provider.
They all
offer 99.9% repeating up time and SLA's, but I doubt those stats are
actually realized. But you have to ask yourself, could I do better? The
answer is often no. But control of hardware isn't the only place control
is lost - integration with cloud based systems can also be more
difficult than on premise or self-managed software for obvious reasons.
However, it seems to me that this roadblock is evaporating as new
technologies and robust API's eliminate many integration difficulties
created when running applications outside the LAN/WAN.
Another disadvantage can be performance. Running an application on
your local LAN will probably provide a somewhat snappier experience to
local users than running from the cloud. But if your audience is
distributed, that benefit may only apply to a subset of your
application's audience.
Distributed computing, as has been said already a few times, is just
computing orchestrated between two or more computers. Cloud Computing
is, by definition, distributed computing, but a specialized form.
How to Evaluate an Outsourcing Partnership?
Large number of companies today are turning to service providers for enterprise application management.
And Outsourcing promotes innovation and optimization of the
application environment…but only if you work with the right partner and
you streamline internal IT processes.
Organizations
must maintain effective project management and internal process
consistency. Without these things, outsourcing relationships will be
difficult at best.
The key to a successful outsourcing relationship starts with
improving internal processes, then selecting the right enterprise
application management provider. To determine if you’ve found the best
fit and to identify any provider or internal weaknesses before you
commit to a long-term contract, Forrester recommends you collect the
following information:
- Project management track record. When considering outsourcing enterprise application management, companies need to evaluate how a provider performs project management functions. In other words, you need to ask what percentage of complex IT projects were delivered within established time and cost parameters. A high percentage indicates a competent provider that can accurately manage project scope. If the outsourcing provider’s record isn’t as strong as it should be, you may have to spend time and money reworking projects.
- Project management expertise. You want to evaluate the backgrounds of the enterprise application management provider’s staff. For example, you should find out what percentage of the staff is PMI-certified. Expert project management is necessary to successfully manage IT projects and resources. You also want to know the percentage of projects managed through a central program management office, or PMO. PMOs ensure consistency and quality.
- Communication and collaboration tools. Distributed projects rely on content sharing tools, real-time communications and advanced workflows. If the provider relies on manual processes, you risk decreased efficiency in enterprise application management. To promote the best possible working relationship, you should carefully evaluate how a service provider will work with your staff.
- Standardized internal processes. A service provider has to understand and accommodate your company’s numerous processes. You may be in for a rough ride if they do not have experience or a process for conducting this knowledge transfer. It’s much easier if your organization follows a single standardized development and maintenance process that the outsourcer already has established. Check out the audit report for confirmation that they create and follow appropriate processes and procedures.
- Managing to SLAs. Service-level agreements (SLAs) ensure outsourcing providers meet their obligations and service commitments. They establish mutual responsibility. Companies currently using SLAs, or that have experience with them, will be better positioned to establish meaningful parameters with the enterprise application management provider.
- User acceptance testing. An organization should have a formal internal approval process for delivery of projects. Prior to approval, users typically participate in acceptance testing. This type of process is essential to outsourcing relationships. When working with a service provider, a company must be able to accept systems or changes prior to production. Any delays on the company’s side will add unnecessary costs.
As indicated above, it’s not just the outsourcing provider’s
qualifications that must be carefully measured. Companies must evaluate
their own internal processes and improve them as needed to help an
enterprise application management partnership succeed.
Too often organizations focus only on the service provider’s
capabilities. Although this is a critical component of the overall
analysis, you can’t forget to look inward. Maximum value can be derived
from an outsourcing partnership when companies improve their internal
IT processes.
It has to be a win win working for both the parties involved. If one of the side plays like a big brother to the other and tries to squeeze things - no matter how well things were evaluated, critical parameters will change on the fly and friends can become foe in no time and it may head to lot of heart burn, stress and failure.