A view from the clouds: Cloud computing for developers
DKA 0600026VJ2 2,456 Views
When talking of cloud computing and the value it means for an adopter, we often hear of the cost-cutting benefits. Given the current economic climate, this is a fairly convincing, and I would say accurate, pitch for the cloud. However, this is far from the only benefit of the cloud. Cloud computing solutions are poised to disrupt the current IT landscape, and in doing so, values that enable competitive advantage will be realized. Two such benefits that come to mind are increased innovation opportunity and enhanced business agility.
Far from being just another IT product, cloud computing is a concept that is rooted in shifting the burden of IT away from enterprises and into the hands of cloud providers. Companies are left to focus on using IT to enhance the business value they deliver, and correspondingly spend less time on enabling that value to be delivered. By allowing this focus on exploiting IT to enhance business value, a hotbed for innovation is established. Talented, dedicated personnel that were once at least partially, if not mostly, devoted to enabling services to be delivered to customers can now focus more of their time on enhancing those services or creating entirely new services. Cloud computing further reinforces a culture of innovation by removing a significant portion of the economic risks associated with bearing out prototypes of new ideas. By making it cheaper and quicker to obtain computing power, developers feel less pressure for every idea they have to pan out. By encouraging more ideas to be brought forth, the subset of ideas that eventually make it to market will increase. These ideas can mean new revenue streams, increased customer satisfaction, expanded market-share, and more.
The quick and dynamic delivery of computing resources is yet another benefit of cloud computing solutions. In short, IT resources are delivered both quickly and when needed. This allows companies the flexibility to quickly obtain more computing power, such as during a new service roll-out or peak demand periods, and similarly to quickly scale back computing power consumption. The dynamic provisioning capability provides a level of agility previously much harder and costlier to obtain. Gone are the days of procurement periods measured in weeks or months, and instead procurement is seen in terms of minutes or hours. This insulates enterprises against changing market conditions that may result in bursts of increased demand for their services or a shift in demand among its services. In this way, cloud computing affords enterprises the agility to meet the needs of its customers no matter when and how those needs are expressed.
Businesses that understand how to best leverage the cloud to facilitate innovation and dynamically procure computing resources will undoubtedly have a competitive advantage over those that do not quite get it. However, these are just two examples in an endless array of ways in which the cloud can enable competitive advantage. I think we are in store for some very creative uses of the cloud, and I'm interested to see how companies of all sizes harness the benefits of the cloud as a competitive advantage.
DKA 0600026VJ2 Tags:  cloud governance sofware enterprise soa cloud_computing innovation computing 4,029 Views
At the core of cloud computing discussions and cloud computing in general is the idea of virtualization. The word 'virtualization' might invoke different things depending on who you talk to but for cloud discussions many people think of virtual images: entire systems being stored even down to the operating systems. The advantages seem evident. Instead of complex deployment models you simply need to take an unused piece of hardware resource and lay in the exact pattern. The assumption is that the hardware is free an compatible but everything else is negotiable. I think, however that there are different levels of assumption within the cloud concept.
Laying in entire systems from the OS up may be way more work than is necessary. The advantage is that there are fewer constraints on what kinds of things you can depoy in your cloud. But one of the big disadvantages are that there are fewer constraints on what kinds of things you can depoy in your cloud. Sometimes, productivity is higher when your developers are given the topology parameters and when he knows what resources are going to be available.
In fact, the concept of cloud seems to infer that there are fewer assumptions needed so you will have maximum versatility. However, flexibility is an antagonist to stability and stability is needed for prodcutivity. In effect, more assumptions necessarily equals faster developement and quicker time to release. So is cloud the antithesis of productivity? No, of course not. The beauty of clouds is that you can have as many assumptions as you want.
A productive cloud model could assume specific hardware, OS and even webservers and macro-topologies. The cloud's resources could simply be avalable platforms that serve as quickly added nodes that can be dynamically provisioned within an appserver deployment.
I think cloud models can be stratfied based on the number of assumptions that are built into it. Level 0 clouds could be where the only assumtion is the that the physical machines will support the virtual images. Level 6 could be that virtual servers and resources can be cloned by template to act as expansion nodes to meet growing demand. Does this cross over into other scaling models? Yes. So what? It doesn't have to be unique in every aspect it merely has to be consistent for effective use.
Ask any enterprise about its overall IT architecture or strategy, and it won’t be long before you’re taking a look at its middleware infrastructure and the services that are hosted there. This infrastructure is often key to an enterprise’s IT capabilities because many services hosted there are outward-facing, revenue generating applications. This infrastructure needs to be able to support applications to provide efficient performance despite demand, and ideally this need is carefully balanced against inefficient resource use. However, that balance is much easier said than done. In reality, it’s often the practice to statically configure environments for the peak demands of the system thus ensuring responsive services, but ultimately leading to resource and economic wastes during off-peak times. WebSphere Virtual Enterprise seeks to address this need for balance by extending the cloud computing concepts of virtualization and virtualization management to middleware and middleware applications.
You may be wondering how WebSphere Virtual Enterprise provides such balance. That brings us to a very important concept of WebSphere Virtual Enterprise. Dynamic provisioning of middleware and applications is directly linked to application performance. Application performance goals are stated to the system via application service policies. These goals are expressed in terms of both application responsiveness and the importance of achieving such responsiveness in relation to other applications deployed within the system. This allows for a quantitative description of what ‘good’ performance is, and it also allows users to separate business-critical applications from those that are a bit more secondary to the business. By linking provisioning directly to application performance, enterprises can be assured that resources are being allocated based on the needs of users of the system.
It’s nice to have the ability to state application service policies, but the policy is nothing if the system doesn’t have the ability to act on it. That’s where dynamic clusters and on demand routers (ODRs) enter the picture. Dynamic clusters provide the capability to expand and contract the number of middleware servers and associated applications that are available to serve requests. If the system notices service policies are being violated, more instances of servers hosting the application associated with the service policy can be started on the dynamic cluster. Conversely, if WebSphere Virtual Enterprise detects that service policies can be met with fewer resources, instances of servers can be stopped and resources reclaimed. It’s also important to point out that dynamic clusters can contain both IBM and non-IBM middleware components allowing the capabilities of WebSphere Virtual Enterprise to extend to many different technologies.
ODRs are the entry point into a WebSphere Virtual Enterprise environment and help to shape the request traffic entering the system. ODRs provide all the features of an HTTP 1.0/1.1 compliant proxy, and incorporate additional on demand features such as request prioritization, request queuing, request routing, and more. Intelligent request routing is achieved by balancing the current system load with the service policies of the application being requested to ensure members are targeted in a way that allows the system to meet the service goals. ODRs provide the necessary gate-keeping duties to most effectively utilize components of a WebSphere Virtual Enterprise environment.
The four short paragraphs above only begin to scratch the surface of WebSphere Virtual Enterprise. Its ability to provide dynamically-scaled, autonomic middleware and middleware applications can give companies a leg up over its competition by ensuring responsive services balanced against efficient resource use. In effect, WebSphere Virtual Enterprise helps companies implement a smarter middleware infrastructure. Click here to read more about WebSphere Virtual Enterprise, and don’t forget to follow us on Twitter. If you have any questions about WebSphere Virtual Enterprise or cloud computing, send us an email at firstname.lastname@example.org.