Who’s On Phirst

Official blog of Phurnace Software.


Posted by: Larry Warnock on

We occasionally get the question, “Does HP, BMC, CA or IBM offer what Phurnace does?” The answer is simply – NO. We have a unique patent-pending approach (a software system and methodology patent) to deployment automation and there is no other vendor that addresses the problem the way that we do. This is not to say that there aren’t other ways to deploy J2EE applications and to configure web application servers. There are other ways, but they rely on hand-crafted, custom-written scripts or manual processes involving the app server console or configuration file editing. We think there is a much better way. The Phurnace way. It is a way that A.) reduces errors, B.) saves time, and C.) saves money. With the introduction of Phurnace, an entirely new way of managing web application deployment has emerged. It is quite frankly, a breakthrough.

Many of our customers have already spent a significant amount of money on I.T. operations platforms such as HP Server Automation, IBM Rational, IBM Tivoli or BMC BladeLogic, to name a few. They want to make sure that those systems don’t provide the functionality that Phurnace does. It is totally understandable and we welcome the question. What they have all found is that we provide a value-add to these systems and are not an overlap. Granted, you will find the terms “deployment automation” in each of their respective product brochures, but without exception, this means “auto launching of the custom-scripts that someone writes for your unique environment.” Phurnace replaces the mechanism of deployment, not the process. Remove the script mechanism, place Phurnace in its place. Boom -- Big cost savings immediately. No more writing of scripts, updating of scripts, maintenance of all of that “scaffolding”. And, Phurnace has integrations available directly to just about every build, source code, release and IT operation system out on the market (even open source tools).

So, feel free to ask the question – “Does Phurnace overlap with my current system?” We will answer with a confident NO and then install our software in your existing environment and prove it. Please give us a chance to put that question to bed.

In Untagged 
Comment (0) Read More...


Posted by: Casey Marshall on

Summer is here, which means it's time to cool off in the San Marcos river and escape the Texas heat. It's also time to download a new Eclipse -- Eclipse Galileo (3.5) released today. Phurnace Deliver builds on Eclipse technology, so I follow the latest developments in the community.

I want to highlight just a few of the features that have impressed me the most so far in Galileo, which has much general appeal for Java & web developers.

Eclipse Memory Analyzer
I've been using the Eclipse Memory Analyzer (MAT) for several months now, and it's helped me through some tricky memory leaks. MAT provides detailed memory usage reports and charts from a Java heap dump (created with jmap, for example). In the latest MAT release for Galileo, MAT has added stack frame information to the memory analysis -- you can more easily find where the leaks are, in addition to what's leaking. The new support for IBM JVM heap dumps could prove useful for diagnosing leaks, even in a live WebSphere instance. Once you get Galileo installed, here is a guide on getting started with the latest MAT, with some nice screenshots of the new stuff!

XML Tooling
If you muck around at all in large XML files (IBM WebSphere Portal snapshots come to mind), the new Web Tools Platform (WTP) release is reason enough to download Galileo. You can now test XPath queries directly on XML documents open in the editor and jump to the matching nodes. This has all sorts of potential for XSLT and custom XML parser development, but most importantly, it can be a powerful navigation tool. Read more in Eclipse Galileo: XML gets some love!

And More...
There are over 33 projects included in the Galileo release. For an overview of what else is included in Galileo, check out Eclipse Galileo - A Quick Glance on DZone and Eclipse Galileo Feature Top 10 List on EclipseSource.

In Eclipse GalileoEclipse
Comment (0) Read More...


Posted by: Jessica Gass on

Hello all, the registration is now open for our July 30th webinar with Evelyn Hubbert from Forrester Research.   She is going to talk about ways that you can cut immediate costs in your I.T. organization.  Daniel Nelson from Phurnace will discuss some recent case studies on how customers have seen quick ROI with Phurnace.   We are excited to host this event with such a great analyst.

 Click here to learn more and register.  See you there! 

In Untagged 
Comment (0) Read More...


Posted by: Wesley Willard on

Amazon Elastic Compute Cloud (EC2) has generated enormous amounts of buzz in the last couple of months. EC2 allows scalable deployment of applications by providing a way for customers to create server “instances” which can run any number of operating systems, such as Windows XP and Vista, and any number of Linux distributions. The customer can load any software of their choice on to the machines, and customize them at will. A customer can create, launch, and terminate server instances as needed, paying only for usage.

In addition to providing a Amazon Management Console to manage these instances, Amazon also provides command line tools which allow for the automation of instance administration. By combining these tools with some basic shell commands, you can customize the startup of your EC2 instances. I will provide an example that shows how this can be accomplished.

This example assumes you have the following available:


Okay, let's get started. First of all, we'll define some basic shell variables:

export EC2_HOME=/opt/ec2/tools/ec2-api-tools-1.3-30349/
export EC2_PRIVATE_KEY=~/ec2/pk-HGHEBCKY657B2ZUH7YIVXZKT5QVNBWFM.pem
export EC2_CERT=~/ec2/cert-HGHEBCKY657B2ZUH7YIVXZKT5QVNBWFM.pem
export amiid="ami-cccb2ca5"
export key="mykey"
export zone="us-east-1c"
export group="server"
export id_file="mykey.pem"
export vol_name="vol-8abe59e3"
export mount_point="/mnt/vol"
export device_name="/dev/sdf"
export ip="174.129.232.50"

The variables that start with the name “EC2” are used by the Tools API. They are the directory where you downloaded your Tools installation and the key and cert files provided to you by Amazon when you created your instance. The other variables are used by the shell commands in this example, and include:
  • Amazon Image ID
  • Key name associated with this instance
  • The zone in which this instance was created
  • The group associated with this instance
  • The name of the user's EC2 identity file
  • The ESB volume ID
  • The mount directory within the EC2 instance
  • The device name to associate with the ESB volume when attached
  • The Elastic IP address to associate with the instance

Now it's time to start the instance, and then loop until it is running.

#
# Start the instance
# Capture the output so that
# we can grab the INSTANCE ID field
# and use it to determine when
# the instance is running 
#
echo Launching AMI ${amiid}
${EC2_HOME}/bin/ec2-run-instances ${amiid} -z ${zone} -k ${key} --group ${group} 
--group default > /tmp/a if [ $? != 0 ]; then echo Error starting instance for image ${amiid} exit 1 fi export iid=`cat /tmp/a | grep INSTANCE | cut -f2` # # Loop until the status changes to “running” # sleep 30 echo Starting instance ${iid} export RUNNING="running" export done="false" while [ $done == "false" ] do export status=`${EC2_HOME}/bin/ec2-describe-instances ${iid} | grep INSTANCE | cut -f6` if [ $status == ${RUNNING} ]; then export done="true" else echo Waiting... sleep 10 fi done echo Instance ${iid} is running

Now we have the running instance ID, which we will use going forward. We next attach the ESB volume to the running instance, associating a device name. After we attach the volume, we wait until its status indicates that it is attached.

#
# Attach the volume to the running instance
#
echo Attaching volume ${vol_name}
${EC2_HOME}/bin/ec2-attach-volume ${vol_name} -i ${iid} -d ${device_name} 
sleep 15

#
# Loop until the volume status changes
# to "attached" 
#
export ATTACHED="attached"
export done="false"
while [ $done == "false" ]
do
   export status=`${EC2_HOME}/bin/ec2-describe-volumes | grep ATTACHMENT | grep ${iid} | cut -f5`
   if [ $status == ${ATTACHED} ]; then
      export done="true"
   else 
      echo Waiting...
      sleep 10
   fi
done
echo Volume ${vol_name} is attached

Now we associate the Elastic IP address with the running instance. This capability is important in an environment where instances are being started and stopped at various points for scalability reasons, so these operations will happen with no interruption for the user.

#
# Associate the Elastic IP with the instance
# After this operation we just sleep a bit
#
echo Associating elastic IP address ${ip}
${EC2_HOME}/bin/ec2-associate-address 174.129.232.50 -i ${iid}
sleep 30

Our final step for starting our instance is to copy and execute some additional commands within the running instance. These operations will create a mount point and mount the volume. Our commands assume that any partitioning and file system type creation has already been setup in the Amazon image’s /etc/fstab file. We use SSH to copy and execute these commands. Because EC2 does not allow username/password authentication, we must provide our identity file to SSH.

#
# Start the operations within the instance
# Copy over the mount script and execute it
# The script setup_vol does:
#     mkdir /mnt/vol
#     mount /mnt./vol
# 
scp -i ${id_file} setup_vol root@${ip}:/root
ssh -i ${id_file} root@${ip} . ./setup_vol

Finally, because this instance was created with an Ubuntu Desktop image, we can set up an NX Server to allow us to access our running instance with a remote desktop:

ssh -i ${id_file} root@${ip} /usr/NX/bin/nxserver --stop
ssh -i ${id_file} root@${ip} /usr/NX/bin/nxserver --start

Last, but not least, tell the user that we are ready to start using the running instance.

echo Image ${amiid} instance ${iid} is ready to go!
echo ${iid} > current_instance

I have attempted to demonstrate how you can use automation to facilitate the easy startup of your Amazon EC2 instance. This example can serve as a starting point for further customizations specific to your environment.

In Amazon Web ServicesAmazon EC2
Comment (0) Read More...


Posted by: Robert Reeves on

Both WebSphere Virtual Enterprise (VE) and ND 7.0 have the ability to remotely stop and start Node Agents, install WebSphere on remote servers and a whole host of handy remote activities. To perform these actions, WebSphere takes advantage of Tivoli Remote Execution and Access (RXA).

Luckily, you too can take advantage of RXA to manage your remote servers. Below, I’ll show you how to create a very simple Java class that will connect to your local windows machine and perform a directory listing.

First, you will need to create a new Eclipse project and add the following JAR to your Build Path as an external library: ${WAS_INSTALL_DIR}/plugins/com.ibm.ws.prereq.rxa.jar.

Second, create a new class and add the following main method.

      public static void main(String[] args) throws Exception {

            RemoteAccess ra = new LocalWindowsProtocol();
            ra.beginSession();
      }

At this point, you can really take advantage of the RemoteAccess object to gather information about your Local Windows host, or to run commands, manage processes, you name it. For example, the following lines added to the main method will perform a directory listing on your Local Windows host:

            ProgramOutput programOutput = ra.run("dir");
            String stdOut = programOutput.getStdout();

Of course, you might want to get STDERR while you’re at it…

Finally, RXA is not just limited to a Local Windows host. Here is an example on how to connect to a Remote SSH host:

            String username = new String("root");
            String strPassword = new String("p4ssw0rd");
            byte[] bPassword = strPassword.getBytes();
            ra = new SSHProtocol(username, bPassword);
            ra.setHostname("myhost.domain.com");
            ra.beginSession();

If you are going to be running a series of identical commands on a bunch of different servers, all with different OS types, I would recommend using the Factory design pattern to generate a RemoteAccess object of the correct Protocol type. Below is a list of the Protocol objects. As you can see, you have a very broad assortment.

AS400Protocol
LocalAS400Protocol
LocalUNIXProtocol
LocalWindowsProtocol
REXECProtocol
RSHProtocol
SSHProtocol
UNIXProtocol
WindowsProtocol

In WebSphere VEWebSphere 7.0Tivoli Remote Execution and Access
Comment (0) Read More...


Posted by: Robert Reeves on

This week, Phurnace announced our support for WebSphere Application Server for z/OS. You can read more about it in our Press Release.

To be honest though, we have always worked on WebSphere for z/OS. However, we were unable to give it the official Phurnace stamp of approval until we ran it through our testing battery. As you know, z/OS is IBM’s mainframe operating system. Thus, for an ISV like Phurnace, procuring a z Series machine and the skills to manage it is a bit outside our skill set and budget. Not to mention the raised floor room, cooling pipes and tanks of Halon (not really, I think they finally banned that stuff).

Thankfully, we were able to secure a z/OS virtualized machine from the IBM Innovation Center in Dallas. The support we received from the team in Dallas was phenomenal. Patient and helpful, they provided us with a turnkey z/OS image with WebSphere ND installed and ready to test against. Moreover, the entire process was at no charge because we were validating that Phurnace Deliver™ would work with z/OS and WebSphere for z/OS.

We have access to the z Series system and z/OS for demonstrations. Please contact us if you would like to see it - sales@phurnace.com.

In zOSWebSphere
Comment (0) Read More...


Posted by: Daniel Nelson on

Phurnace's VP of Products and Co-Founder, Daniel Nelson, wrote a blog posting for one our partners, Electric Cloud, earlier this week. Here is a link to their blog and here is his post.

In the software development lifecycle the results need to ultimately get out into production. The application must make it onto the server, the server needs to be configured and all of the properties, paths and settings need to be correct to get the value of the application. Those in the data center often refer this to the last mile. And it is often a real bear. Seems more like 10 miles at times. Sophisticated and robust tools like ElectricCommander have automated almost all of the steps in the process, but rely on home-grown scripts to lay the applications down on app servers. Why? It is actually a logical approach if you have no alternative. Every environment is different. Every app has different settings for WebSphere (or WebLogic or JBoss) and there is no way to anticipate those differences. Therefore – the last mile is unique to each customer and each app –the IT or dev teams write scripts. It takes skilled resources and the scripts are always in need of attention. Not anymore. STOP. That is no longer necessary. What if ElectricCommander could hand off the EAR file to a software tool that has already pre-built a model of the environment and has made all of the JDBC, JMS, and application bindings for you? What if it required NO scripting? What if the “last mile” was now automated and under the control of your build and release system? Ta Da ! It is now. Phurnace Software is an auto deployment and configuration tool that will eliminate custom scripting. And you can drive it all from within ElectricCommander. The last mile is now just a step away.

In java
Comment (0) Read More...


Posted by: Larry Warnock on

Cloud computing. You have heard the term and are most likely following the hype. And hype is a good term to describe the frenzied attention. However, be careful. Don’t write this hype off as a fad or overblown. In this case, I think it is wise to investigate and ask yourself some difficult questions about your current business. Regardless of what industry you are in.

When I first heard “cloud computing” I brushed it off as the latest marketing term for something that has been around for decades – I thought back to the days of time sharing on the mainframe, then to the Application Service Providers (ASPs), then to the trend of “hosting” and all of the vendors that have emerged in that arena, from ISPs to actual hosted service providers. So, at first glance, I reasoned -- same thing, new name. I was wrong. What makes cloud computing different in my opinion, are two fundamental things. 1) virtualization, and 2) the pricing model of the cloud. Granted, over time we will see the emergence of deviations from one model -- private clouds, public clouds, internal clouds, hosted clouds, sourced clouds, big clouds, tiny clouds… But regardless, they will turn the current model of computing and I.T. buying on its head. When? I am not sure. Not in 2009 or early 2010, but before 2015 for sure. Hey, if Gartner and Forrester get 6 years of wiggle room on forecasting, I should too.

Cloud computing, through virtualization technology, promises to change the economics of how we all buy “computing”. I didn’t say computers, I said computing. And that is at the heart of the discussion. Over time, individuals and companies will buy more and more “computing” (as it is used, pay by drink so to speak) and less and less “computers”. In the early 1900’s individuals and companies purchased electricity generating systems (which in turn delivered electricity on site). Over time, the model turned to the purchase of electricity and not the machines themselves. The Electric Utility was born. That similar model will emerge with computing and we have already seen it with such examples as FaceBook, SalesForce.com, Amazon Web Services, Google App Engine, Google Docs, OpenTable, etc. The computing on all of these is not done on your computer; they are delivered as a service utility. Some you pay for as you use, some are even free (the advertisers foot the bill).

So, it is time to now point you in the direction of the book that pushed me over the edge and convinced me that the cloud would be game changing. After research from countless articles, conferences, webinars, and discussions I was teetering on the edge, and then I read The Big Switch by Nicholas Carr. My conversion was complete. I believe. The Financial Times calls this book “the best read so far about the significance of the shift to cloud computing".

Let me insert a paragraph directly for Mr. Carr’s website describing the book’s topic:
“The shift is already remaking the computer industry, bringing new competitors like Google and Salesforce.com to the fore and threatening stalwarts like Microsoft and Dell. But the effects will reach much further. Cheap, utility-supplied computing will ultimately change society as profoundly as cheap electricity did. We can already see the early effects — in the shift of control over media from institutions to individuals, in debates over the value of privacy, in the export of the jobs of knowledge workers, even in the growing concentration of wealth. As information utilities expand, the changes will only broaden, and their pace will only accelerate.”

Finally, do not fear the cloud. Find a way to embrace it. Find a way to prepare your business for this coming change. Whether you sell computer hardware, enterprise software, are a bank, are a retailer, whatever. Talk about it, plan for it. If you have a long term vision and plan of how to take advantage of the cloud, it can benefit you. If you ignore it and wait, it could potentially topple you. Be prepared. The clouds are building. The subsequent storm will destroy some in its path, but give life-giving rain to others.

In Cloud Computing
Comment (0) Read More...


Posted by: Casey Marshall on

At Phurnace I'm leveraging the Eclipse Modeling Framework (EMF) to streamline our development and add some exciting new features. EMF was difficult to get to know at first, if only because the modeling terminology seemed new, strange, and kind of dry. The time invested in learning EMF was well-spent; once I "got EMF", it seemed pure genius.

My initial impression of modeling and model-driven architecture was kind of comical too; I imagined (with great disdain) this self-proclaimed "enterprise architect" in an ivory tower, trying to solve all manner of problems by dragging UML diagrams around. "Of course 'real software development' is never so simple!", I'd think. Like so many other technologies, modeling is heavily diluted with enterprisey buzzwords, and there probably *are* architects in ivory towers somewhere trying to generate all their code from UML tools... but this is only a comical extreme of the modeling spectrum.

For example, consider the popular web framework Django. Django, like so many other of the dynamic-language web frameworks, provides an object-relational mapping library in which you first define... models in your application. These frameworks introspect on your definition of the models to generate parts of your web application automatically for you. "Scaffolding" in Rails, the "admin" interface and newforms in Django all demonstrate a "model-driven architecture".

As far as I'm concerned what EMF does for the Eclipse platform (or elsewhere -- EMF is not limited to the Eclipse platform) is conceptually no different. Just as Django dynamically generates forms and content based on the structure of your models, EMF can generate a UI for interacting with your models and much more. Knowing this simple fact would have helped me at a time I was struggling to learn Eclipse RCP and considering EMF; it was not entirely clear to me at first, as an outsider, what EMF exactly was, what it could do for me, and why I should use it. It would be silly and somewhat inaccurate for EMF documentation to say "EMF: It's kind of like ActiveRecord!", but in a way, that's how I've come to know & relate it.

Of course, EMF can do much more than a typical web framework's model layer. The tooling is highly adaptable to custom development workflow demands; you can customize your generated model code, or avoid code generation altogether. Models can be defined with Java code, XSD, Ecore, or dynamically at runtime. EMF brings a powerful level of introspection to modeling, since the definition of your model (Ecore) is itself a model that can be manipulated in the same way. In this respect, EMF is "turtles all the way down".

In other news, I'm looking forward to the upcoming Galileo release of Eclipse (Eclipse 3.5). I've already had a chance to try a few of the new features (native Cocoa & 64-bit Java support for OS X, improved PDE tooling) and it's looking great. Last week I became a Friend of Eclipse, a great chance to contribute back to a community that's given me so much -- plus I get early access to releases and an exclusive, blazing-fast download mirror.

In Eclipse Modeling FrameworkEclipseDjango
Comment (0) Read More...


Posted by: Daniel Nelson on

Ops folks hate agents. Hate them. I was in the same camp back in my data center days. The reasons are pretty obvious, right? Who wants to have to install and maintain another piece of software on every server? No one. Not only that, but agents scare the bejesus out of people running production systems. A small program that executes commands locally from a remote source is super scary no matter what. Like clowns with fangs scary. Add in the chance for that little agent to go rogue and start consuming resources or leaking memory or hording ports and scary quickly morphs into dread.

With all the revolutions going on in server infrastructure agents are also becoming more and more inconvenient. Virtualized environments and cloud computing make the servers themselves much more ephemeral than in other days past. Maintaining agents to these here-today-gone-tomorrow servers, and all the references to them, and the configurations they require, is just too time consuming and troublesome. It’s a hold over architecture from days past when “server” meant a thing with a form factor and a fan, not dynamically allocated memory and processor time.

Phurnace doesn’t play that game. We connect over the network – no agents required. That gives us tremendous flexibility to fit into the existing infrastructure architecture of our clients. Also, it allows us to configure and maintain servers regardless if they are physical, virtual, or cloudy. Ultimately our customers don’t like being told how they have to do things – they want products that fit how they want to work, not have to work the way a product demands. Being agentless is part of our flexibility that let’s our customers do that. And of course, makes us far less scary.

In Untagged 
Comment (0) Read More...


<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>