Cloud computing has been making waves in the last couple of years, with
biggies like Amazon, Google & Microsoft spearheading this phenomenon. It is
definitely an attractive operating environment for enterprises who are expected
to worry less about hosting solutions. Like any other technology that makes its
ways through the hype cycle before hitting the mainstream, Cloud Computing is
definitely at the beginning and knocking doors to gain attention. Enterprises
still perceive it to be in its infancy and are taking up due-diligence
exercises. Moving towards this paradigm would be a definite cultural shift for
enterprises.
What is interesting is the complete shift in the way a
hosting infrastructure is perceived. From the days wherein one touted 'Software
as a Service' and quoted 'SalesForce.com' as a runaway success, we are heading
towards a bigger operating ground in the name of 'Infrastructure as a Service (IaaS)'.
IaaS definitely appeals to enterprises who have spent significant amount of time
and money setting up infrastructure to run their businesses and continue to
spend even more with business expansions. IaaS being offered in the paradigm of
Cloud Computing takes away the onus and hardship of putting together and
managing the hardware & software infrastructure from the enterprise. This
apparently comes as a sigh of relief to enterprises, who can now operate in the
mode of 'Pay per Usage' & 'Scale on demand in real-time'. Instead of hosting
solutions in their own data centers, they canmove their software assets to
massive data centers owned by larger players like Microsoft, Amazon, Google,
etc. The striking feature that these biggies would offer would be the massive
scalability (or, rather on-demand scale out) and a high level of abstraction on
the manageability of an IT/ hosting infrastructure.
Direct Hit! |
Applies To: CIOsUSP: Leverage Cloud Computing for next-gen apps Primary Link: N/ASearch Engine Keywords: Cloud Computing, Google AppEngine, Amazon, Azure |
Another point under debate is related to the type of
applications to be considered for hosting under the Cloud platform. This
question often comes up because enterprises would be deprived of having finer
control over their data center assets & operations like they have today. My
argument to this is why do you need finer control when the Cloud platform
abstracts most of it and takes away the hassle & hardship in keeping the lights
on at the data center. This is where the differentiation is being made in
qualifying the term 'Enterprise Cloud Computing' (which indicates hosting
enterprise applications which are crucial to the basic operations of a business
or a typical line of business application in the Cloud). Other types of
applications considered for hosting are typical consumer applications that are a
service offering from a business. These are the two kinds of qualification that
is being made by customers in considering solutions to be moved to Cloud. While
the infrastructure architects decide on the ROI in embracing Cloud platform, the
privileged of the community that is in for a treat is the developer community.
The Way forward for developers
While a lot can be debated about the offering and the
roadmap being put forth by Microsoft, Google & Amazon on their respective Cloud
Platforms, what matters at the end of the day is the ease with which
applications & solutions can be conceptualized on the Cloud. As has been the
case in the past, Visual Studio has led from the front and provided tooling
support for developers to conceptualize and build a variety of solutions. This
does not change with the Cloud platform. In fact, the tooling support has gotten
richer and more sophisticated in addressing the reach for developers onto the
Cloud. With Windows Azure, the movement to Cloud is seamless post application
development. Developers get a fabric of the Cloud platform on their desktop to
experience hosting, with the ease of pushing the application in a single click.
In the context of developers, another aspect that is worth
discussing is the developer's approach/role in making the movement to Cloud a
reality.
- It is a paradigm shift for
developers in building a solution for the environment that is under their
control vs. data center which is a black box to them. Cloud platform may be
portrayed as the next biggest revolution, but a lot is being simplified for
developers to envisage real-time instances and hosting. More than development,
developers need to gain expertise and knowledge on the overall Cloud
platform/offering from the chosen vendor. - While distributed computing was
considered an area of focus for developers of yesteryears, knowledge on 'Service
Orientation' is considered a must to offer services for consumption (be is inter
or intra application integration). - Developers rely on tooling and
depend on the support that is provided to them in tackling hosting. Developers
should build expertise on the know-how to better program for cloud. Lot may not
vary in terms of the way application are built, but important to understand the
available capability on the Cloud. - Built for performance becomes more
critical in Cloud Computing. Unless the software is written well, it is
important to make it robust to ensureminimum breakages in the Cloud. That's
because it becomes a little complex to trouble shoot in the Cloud compared to
taking control of a piece of hardware. - The biggest of all, is the
troubleshooting on the Cloud. One has to get acquainted with the ways and means
to troubleshoot applications during downtime or crisis.
Developers play a significant role in ensuring migrating or
building solutions for the Cloud platform. The entire solution building cycle
has been more sophisticated, but better control is being given to developers to
host and assess performance in real-time as part of the development. The cycle
time required for developers to reach the Cloud for hosting is significantly
reduced compared to the earlier times of going through a few hops before getting
their hands on the real-infrastructure.
Cloud Computing is making a slow, but significant progress
in the minds of developers. The timing is right for the developer community to
take a leap into understanding the new paradigm of operation. If Cloud Computing
did exist during the dot come outburst (late 90s), then the phenomenon would
have hit the acme and probably become mainstream during the middle of the
current decade. However, the timing cannot be questioned, but the journey from
now on is worth keeping an eye on.
The author works for Microsoft India as an Enterprise
Architect Advisor and focuses on Financial Services Industry. He can be
contacted at saalur@microsoft.com