|In a post not long ago, I mentioned new enhancements to virtual system patterns in IBM Workload Deployer. A prominent part of those enhancements were updates to pattern construction that allow you to order virtual machine startup, order script package invocation, and include add-ons that provide system level configuration options. Recently I uploaded a demonstration to YouTube that highlights some of these new capabilities. Specifically, this provides a brief look at ordering and add-on enhancements.|
|I hope you take a look, and even more importantly, I hope to see some feedback. If you have something you would like to see captured in a demo, let me know and I'll work it to the top of a long and continually growing list!|
|-- Dustin Amrhein|
A view from the clouds: Cloud computing for developers
with Tags: cloud_computing X
Much of the focus on cloud computing to date revolves around the ways in which cloud computing delivers significant administrative and operational benefits. After all, the more dynamic, autonomic capabilities promised by cloud could go a long way in relieving some of the burden in managing large, complex IT infrastructure operations. Sometimes lost in the cloud computing benefits discussion is how cloud computing enhances development and test groups in an enterprise. I can think of five different ways in which cloud computing strengthens development and test groups:
1) Self-service capability: A defining characteristic of cloud computing solutions is a self-service capability that allows users to commission and decommission computing resources as appropriate. In development and test shops, this means users can directly procure the resources they need to complete their tasks without going through lengthy, manually-driven procurement chains. This results in a significantly shortened procurement period, and it means developers and testers can quickly get to the task at hand.
2) Resource availability: Resource sprawl within IT shops, a very common occurrence, leads to resource deficiencies that are sometimes a problem for enterprise developers and testers. Tasks like testing massive configurations and performing intensive load tests become increasingly difficult as it is hard to harness enough resources to get the job done. Cloud computing, through intelligent virtualization, usage tracking, and more, enables this scattered resource pool to be viewed and utilized as a single logical entity. Resources can be doled out as needed, and intense tasks become achievable without extensive setup or procurement periods.
3) Environmental fidelity: From the time a software application or service leaves a developer’s hands to the time it reaches production, quite a few things about its environment may be changed, often times unbeknownst to the developer. The test and operation teams may have different conventions and configurations than development teams, and this can lead to unintended application behavior and delays in service delivery. Cloud computing offers a potential solution to this problem in the form of the increasingly popular templatized solution stack. These solution stacks are pre-built, ready to deploy configurations, which include the application and entire environment down to the operating system. This stack can be captured as some sort of image (i.e. OVF image, Amazon Machine Image, etc.), and passed off between each team along the delivery cycle. Teams downstream from development see the exact environment in which the application was designed and unit tested, and they can balance needed changes to that environment against a known, working solution.
4) Hosted tools: Though possibly not yet standard operating procedure, one can look at the wave of SaaS offerings and make a reasonable assumption that more and more development and test tools will be moving in that direction as well. Why not? Putting aside the technical challenges of hosting something like a code editor on a network, the benefits of centrally hosting these types of tools are clear. Developers and testers no longer have to worry with installing, configuring, running, or maintaining these enabling tools on their own machines. Instead, they can log into the tools from any machine with a network connection and get work done.
5) Increased focus: This benefit is a culmination of all of the above benefits. By easing the process to acquire resources, making more resources available, ensuring configuration integrity, and removing the burden of maintaining tools, developers and testers are left to focus on their core jobs. The operational and administrative portions of their job are significantly reduced through cloud computing solutions. As a result, organizations are in a position to benefit from more developer innovation, increased test quality and coverage, and more.
The above five ideas illustrate that cloud computing can indeed enhance development and test efforts just as they boost administrative and operational tasks. Development and test teams that understand the benefits they can derive from cloud computing are likely to be proactive in advocating its use. For the cloud computing industry, increasing adoption by development and test groups could lead to widespread grassroots movements that further spread the use of cloud computing throughout enterprises.
-- Dustin Amrhein
jabohn 060000RDQ6 Tags:  websphere cloud_computing ibm_workload_deployer cloud websphere_virtual_enterpr... 2,510 Views
In my prior job at IBM, I was, on more than one occasion, reminded of the pains of dealing with software development tools. It seemed to be a constant battle to keep up with licenses, install critical fixes, and update to the latest version of whatever tool I happened to be using. Since I often worked on projects across multiple machines, I had to ensure that versions of the tool on different machines were reasonably close and that any code formatting settings were consistent across the different tool instances. On top of this, the tools were sometimes so CPU intensive that multitasking on the same machine running the tool was impossible.
All of the above pains were a direct function of the tools being installed on my local machine, so you can imagine my interest in a recent announcement by IBM signaling the launch of a pilot program offering Tools as a Service. The program, initially offered to students and faculty of selected universities, delivers hosted software development tools to developers. Users of the development tools do not install, maintain, or run the products on their local machine, instead they access them through a cloud maintained by IBM. The tools can be accessed from any machine with an internet connection, and a developer's sandbox is persisted across multiple sessions. The developer simply logs in, does work, and at some point saves his/her changes and logs out. The saved changes can be accessed at some point in the future from the same machine or an entirely different one.
This is exactly what I needed! Like many developers, I wanted to focus on writing code not maintaining a suite of tools. I for one hope this eventually extends beyond a pilot program and becomes a mainstream practice. You can read more about IBM's Tools as a Service initiative here.
Dustin Amrhein[Read More]
WebSphere CloudBurst delivers out-of-the-box capabilities in the form of pre-built WebSphere Application Server configurations, or patterns, which are ready to be deployed to a private cloud. These pre-built patterns range from a single server topology to more complex, clustered topologies. In addition, these patterns have been tuned to produce hardened, best-practice environments. For users, this means once they have the appliance setup, they can immediately begin building a private WebSphere cloud.
The out-of-the-box capability of WebSphere CloudBurst is extremely useful, but what about the situations where those patterns don't align with a user’s needs? What if a user needs to create a highly customized WebSphere environment? Not to worry, WebSphere CloudBurst was built with a focus on bringing customization capabilities to the user. These customization capabilities cover the full WebSphere middleware environment, from the operating system to user applications.
To start with, WebSphere CloudBurst allows users to modify the virtual images that are shipped with the appliance. These virtual images contain the operating system and WebSphere components that are used to build the WebSphere patterns. A perfect use-case for this is if a user needs to install custom software to be used in all of their WebSphere environments.
For instance, if a user wanted to install a JDBC driver that was to be used by each of their WebSphere deployments, they would simply extend one of the shipped virtual images, install the JDBC driver, and then recapture the image. Once the image was recaptured, it could be utilized to build the WebSphere patterns that represent the complete WebSphere middleware environment. By using this virtual image to build patterns, users are assured the JDBC driver will be present in each and every WebSphere deployment to their private cloud.
Another common customization is a change to the WebSphere topology in a pattern. If a user has a particular cluster environment that is different from the shipped WebSphere cluster patterns, they could simply clone the shipped cluster pattern, make any needed topology changes, and then save their new pattern.
The best thing about this process is that the topology changes are done via a slick GUI interface. Users can construct WebSphere topologies by simply dragging and dropping WebSphere components (i.e. stand-alone servers, deployment managers, web servers, etc.) onto a canvas! Once the pattern is constructed and saved, it can be reused as many times as necessary.
Patterns can also be customized to include user applications or other WebSphere configuration tuning. Script packages are compressed files (ZIP or TAR) that are constructed by users to alter the WebSphere environment. These packages might contain an application and scripts to install the application, or it could contain a script to tune or enhance the environment created by WebSphere CloudBurst.
The beauty of script packages is that they can do just about anything. Users tell WebSphere CloudBurst how to execute the script package (i.e. “Call the installApp.sh script in my script package”), and that execution takes place at the end of the pattern deployment. The result is a dispensed WebSphere environment that has been customized according to the script package contents.
There’s more to WebSphere CloudBurst customization capabilities than what I talked about above, including the ability to customize each and every deployment of a pattern, and the ability to align these customization activities with organizational responsibilities. To find out more about these capabilities, check out the demos on our YouTube channel or send us an email at firstname.lastname@example.org. Stay tuned to the blog for more information about the WebSphere CloudBurst Appliance.