Archive for the ‘Cloud’ Category
IBM Lotus Quickr for WebSphere Portal 8.5
A project underway this week involves an install of the Quickr product for WebSphere Portal. I did one of the earliest deployments of 8.5 a while back for a customer in Canada. The install process is highly scripted and this can be a blessing and a curse. What I like about the script is the reduced effort required to complete the install. What I do not like is that there are no stopping points where a snapshot might be taken to preserve the state of the install. Some of the tasks are very long running and when the process is highly scripted several hours may transpire before a failure occurs due to an error in the underlying environment. Because the install is scripted, the entire process must be repeated once the underlying issue is resolved.
Rapid WebSphere Portal Deployments: Exploit the Strengths of Virtualization
In today’s computing world many organizations will take advantage of public and private clouds for their production software deployments. One example of such software is IBM WebSphere Portal. In version 7 IBM introduced a new capability into IBM WebSphere Portal that leverages virtualized environments.
Before examining this feature it in important to keep in mind special considerations when running IBM WebSphere Portal in a virtual environment. The nature of the underlying virtualization platform will have a greater or lesser impact on the performance of WebSphere portal. In addition, despite having significant resources available in the host environment, care must be taken not to oversubscribe the resources of the underlying platform. That is to say, testing must be done to ensure that there is sufficient physical CPU and memory to service each virtual machine. According to IBM, a good rule for memory requirement is to double the WebSphere portal instances maximum heap size and use that as the virtual machine memory configuration. In addition keep in mind, “memory paging, both within the virtual machine and the hypervisor should be strictly avoided as that can lead to performance degradation.”
The technique for leveraging virtualized environments depends on the capabilities of the host platform and a process labeled localization of a new virtual machine instance. In the product documentation IBM cites VMware ESX as an example of an appropriate host platform.
The prerequisites for implementing a new virtual machine instance include the installation and configuration of a virtualization platform such as VMware ESX. In addition, on an existing virtual machine, you must install and at least partially configure IBM WebSphere portal. In the procedure that follows you will focus on the configuration of the IBM WebSphere application server as well as IBM WebSphere portal. A link to the documentation for localizing a new virtual machine instance on Windows can be found here (http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Localizing_a_new_virtual_machine_instance_on_Windows_wp7).
- Stop the WebSphere Portal server. This can be done from the /bin directory of the portal profile. A typical path, on Windows, is C:\IBM\WebSphere\WP_profile\bin. The command executed is stopServer.bat WebSphere_Portal. Depending on the configuration of your system you may need to provide user credentials.
- If not started, start server1. The command to start this server is done in the same directory as step 1. The command is, startServer.bat server1.
- Before proceeding with changes to the WebSphere environment update the host name of the virtual computer according to the procedure for the operating system you are using.
- Using the wsadmin scripting tool execute a changeHostName task. wsadmin -c “$AdminTask changeHostName -hostName newHostName”. In this example the wsadmin script is executed in console mode. Wsadmin interacts with Java management extension objects and, in this case, with the AdminTask object.
- An optional step is to rename the node structure of the WebSphere application server configuration. The purpose of this change is to ensure a unique node name in the event that the new node will be federated into a network deployment cell. The syntax for this command is wsadmin -c “$AdminTask renameNode -nodeName oldNodeName -newNodeName newNodeName”
- In addition to changes made to this point script files must also be updated to reflect the changed node name. Edit the setupCmdLIne.bat file in wp_profile\bin directory and update the property, WAS_NODE= to reflect the new name of the node referenced in step 5 above.
- One of the scripting environments for managing IBM WebSphere Portal is ConfigEngine.bat. This scripting tool is used to complete the node rename process as understood by IBM WebSphere Portal. The path to this tool is, typically, C:\IBM\WebSphere\wp_profile\ConfigEngine. From this context execute ConfigEngine.bat rename-node-in-cell-registry -DWasPassword=WASAdminPassword –DpreviousNodeName=oldNodeName. The password to be provided here is the one used by the WebSphere application server administrator. Parameters that begin with “D” are an indicator that the command line argument takes precedence over values stored in files such as wkplc.properties found in wp_profile\ConfigEngine\properties.
- Now that the environment is ready for the localization of the WebSphere Portal instance you must execute the localize-clone task. This update derives information from the WebSphere Application Server configuration. Execute ConfigeEngine.bat localize-clone -DWasPassword=password
- The final task for localizing a new virtual machine instance is to clear any existing schedule tasks. This is because existing tasks could reference the old hostname. Execute ConfigEngine.bat action-clean-scheduled-tasks -DWasPassword=password
- Optionally it is possible that your WebSphere Portal instance was set up to use an existing Windows service. If so the service still references the old host name and node name in order to resolve this you will need to execute the WASservice command to create a new Windows service entry and, for that matter, to remove the old window service entry.
- The final step to complete localization of a virtual machine instance is to restart server1 and then stop server1. Following this, start WebSphere_Portal.
A couple tips to keep in mind:
Consider using a snapshot of your new clone as a point in time recovery in your attempts to localize a new virtual machine instance. This will permit you to easily discard a failed attempt and start over.
Keep in mind your ultimate WebSphere Portal deployment scenario. For example, if you intend to deploy a WebSphere Portal farm you might wish to more completely configure your IBM WebSphere Portal before cloning the virtual machine. In contrast, if you are building an IBM WebSphere network deployment cluster you will wish to defer configuration of the first instance with regard to global security and database integration.
Perhaps the best use case for localization of virtual machines is for testing and development support. In any case the advantages of virtualization are significant and offer organizations greater flexibility and opportunities for increasingly rapid deployments.
Confusion Persists with Virtual Machines and Other Cloud Based Resources
This week a conversation took an unexpected turn. “Let’s put WebSphere Portal on Microsoft’s Azure cloud solution.” It’s a good thing I keep my phone muted because the gasp I made would have been hard to miss. When it came my turn to speak I deferred saying that such a scenario would require further investigation. The fact was that I knew that such a proposition was impossible given the current state of Microsoft’s Azure platform. As I gave some thought to the statement I recognized that underlying it was a flawed understanding of how cloud based solutions differ.
The first task for those considering ‘a cloud solution’ is to understand there are not only multiple vendors offering cloud services, there are different types of clouds and the distinction is not between ‘public’ and ‘private’. This is not to say one cannot obtain services from a private (or public) cloud. Instead it is to say that whether a cloud is public or private there are distinct services offered.
In a series of articles explaining cloud computing Dustin Amrhein and Scott Quint, both from IBM observed:
… cloud computing is an all-inclusive solution in which all computing resources (hardware, software, networking, storage, and so on) are provided rapidly to users as demand dictates.
The resources, or services, that are delivered are governable to ensure things like high availability, security, and quality. The key factor to these solutions is that they possess the ability to be scaled up and down, so that users get the resources they need: no more and no less.
In this regard it helps to look at three well known brands competing for customers affection: Amazon, Google, and Microsoft. Add to these vendors the involvement of partners such as IBM and Oracle, to name a couple, and it is easy to imagine a whole new competitive landscape rich with opportunities.
Amazon, a provider of cloud based solutions since 2002, has a comprehensive set of solutions. The list of these services can be intimidating.
- AWS “Amazon Associates Web Service” provides access to product data and e-commerce functionality.
- CDN “Amazon CloudFront Content Delivery Network” provides a means for distributing content from S3 (Amazon’s Simple Storage Service)
- EBS “Amazon Elastic Block Store” for persistent storage of volumes bound to EC2 (Amazon Elastic Compute Cloud).
- S3 “Simple Storage Service” is a Web Service based storage solution. Older AMIs (Amazon Machine Images) use S3 as the storage location for boot volumes.
- EC2 “Elastic Compute Cloud” is an implementation of Xen for delivery of private virtual machine instances based on AMIs (Amazon Machine Images).
- VPC “Virtual Private Cloud” allows a customer to create an isolated collection of EC2 (Elastic Compute Cloud) instances accessed through a VPN from the customer site.
The effort to understand these and other services offered by Amazon is not trivial. In the case of EC2 and S3 or EBS customers have an opportunity to implement a huge array of solutions deployed to virtual machines. It is through this mechanism that IBM, Oracle, Citrix, and others have created ‘shrink wrapped’ offerings of some of their flagship products such as IBM WebSphere Portal.
More recently Google entered the cloud based solutions arena. Compared to Amazon EC2, Google provides seamless access to their infrastructure such that scalability is easy to accomplish but the range of applications is significantly restricted. For example the AppEngine can only respond to HTTP requests or scheduled background tasks. There is support for both Java and Python but there are restrictions here as well. For example the JRE Class White List defines a subset of available classes found in the JRE (Java Runtime Edition – Standard Edition). This does not mean that Google’s AppEngine is not a prudent or optimal choice. Customers must understand their present and future needs as completely as possible if they hope to make a wise choice.
Similarly, Microsoft has offered the Azure platform. This environment is bound to evolve rapidly as Microsoft vigorously enters the cloud based service provider market. This offering bears greater resemblance to Google’s AppEngine than Amazon’s EC2. The chief benefit is also the chief liability of this platform. That is: customer’s will be bound to the Microsoft .NET framework and related tools such as Visual Studio. One succinct description of Azure is found at Wikipedia:
The Azure Services Platform uses a specialized operating system, called Windows Azure, to run its “fabric layer” — a cluster hosted at Microsoft’s data centers that manages computing and storage resources of the computers and provisions the resources (or a subset of them) to applications running on top of Windows Azure. Windows Azure has been described as a “cloud layer” on top of a number of Windows Server systems, which use Windows Server 2008 and a customized version of Hyper-V, known as the Windows Azure Hypervisor to provide virtualization of services.
Understanding the nature and scope of cloud based services should be the task of any technology leader and the sooner that understanding is achieved, the better.