Who’s On Phirst

Official blog of Phurnace Software.

Category >> Cloud Computing

Posted by: Daniel Nelson on

Check out this new report on Phurnace, the cloud, and automation by Julie Craig of EMA (Enterprise Management Associates).

A few of the key points made in the brief include:

  • The key to Cloud success is going to be your management tooling. Doesn’t matter how fast you can spin up images if it still takes you three weeks to deploy your application.
  • Infrastructure independence is key: your strategy for the Cloud has to take into account bridging the gap from the Cloud to on-premises infrastructure.
  • We need more, and more sophisticated, automation.

In Untagged 
Comment (0) Read More...


Posted by: Robert Reeves on

There is a lot of discussion in the market right now on the Spring Framework and development language because of the recent VMware acquisition of SpringSource. First, for those of you not that familiar with Spring, it is a lightweight J2EE application platform and integration model. Spring also helps reduce the complexities involved when developing J2EE applications. For example, in the J2EE EJB model, Spring only requires you to create your Domain Module using Java Beans freeing your from a lot of code writing required by J2EE. Spring has found a place in thousands of companies worldwide. In fact, we use Spring at Phurnace to help us manage the multitude of MBeans we support.

Now, if you’re going to be running your Spring application on its own, you have a very simple deployment process. However, most companies want the ease of development that Spring provides but the robustness that a full-blown Java Application Server can provide. In this case, your Spring based application has all of the same deployment challenges as a J2EE spec application has. It still needs to have the target app server configured, tweaked and set up to correctly run the app. That is where Phurnace comes in. So, yes, Spring-developed apps as well as J2EE apps are handled by our deployment automation product.

Now, a comment on the SpringSource acquisition. The VMware acquisition of SpringSource is all about the assembling of a “stack” for the quicker and easier building and deploying of applications in the cloud. Finally, the world is starting to move to a more application-centric view of IT. No longer is the data center a place where servers run infrastructure. IT is about applications. Everything is there for the support of those applications. The cloud is an environment with a very application-centric approach. However, it will not replace the data center, but instead, augment it. AND, applications will need to migrate between instances in the cloud and between images and servers on premises behind the firewall. To and from the cloud. That is a bunch of configurations tasks or custom scripts that will need to be constantly tweaked and maintained. Unless you use Phurnace. You see, Phurnace can move the applications to and from the cloud and to and from any virtual image, regardless of where it is.

VMWare made a good move by acquiring SpringSource and it will speed adoption of the cloud for development and testing. However, the story isn’t complete without Phurnace. Thank you VMware for laying the groundwork for more robust cloud usage, we are ready willing and able to make sure the applications are actually deployed correctly with Phurnace.

Also, for more information, please read this blog on Spring and JMX posted by one of our developers: http://www.phurnace.com/blog/spring-plays-well-with-jmx.html

In VMwareSpring Framework
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 (6) 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: Robert Reeves on

Among all the questions about putting your business apps into the cloud, the one that is most perplexing is what do you do with your existing database? After all, you have an existing infrastructure. You have processes. You have a DBA resources. Why uproot all that effort for some silly Java application and this Cloud nonsense?

Well, now you don't have to. Google officially announced today that they are going to allow Java to run on their App Engine. But, just as interesting, you will be able to connect to your back office database behind your firewall using Secure Data Connector (SDC). Besides activating SDC from your control panel, you'll have to install the SDC client on your network and allow it network access to your DB. Think of it as GoToMyDB.

Of course, there will always be a DBA that will squawk about this because it's just different from the way they do things today. But, you simply can't argue with Google's commitment to eliminating objections to using their App Engine instead of hosting your own applications.

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


Posted by: Robert Reeves on

Cloud computing - one announcement and one rumor caught my attention this week

Amazon announced an Eclipse plug-in that helps you deploy Java applications to a Tomcat instance. The Eclipse plug-in takes advantage of the Eclipse WebTools project and marries it with a few custom views that show you EC2 (Elastic Compute Cloud)and EBS (Elastic Block Storage) specific information. The use case here is for Java developers to be able to deploy their Java applications to a Tomcat instance running on an EC2 instance in the cloud.

The second is a rumor that Google will have Java support for App Engine soon. Given Google's commitment to Eclipse already through GWT, I expect them to also have an Eclipse plug-in, as well.

As a Java engineer, I love this. For better or worse, Java is the lingua franca of business logic. And every engineer that speaks it does so with Eclipse. (My apologies to IntelliJ users.)

However, as a former SCM, I'm terrified of Java engineers providing me with a new application that runs on technology I have no experience with. If I were to put my IT hat on, I can imagine going to the mat with my VP of Development and not allowing my company to use ANY cloud resources. "We already have the servers." "This violates our security policy." "The SLA is more lax than our current SLA." The next thing you know, that Java app targeted for Tomcat in the cloud is now running on my existing Tomcat installation. Internal IT: 1, Cloud: 0.

It seems that both Amazon and Google are putting too much emphasis on targeting developers at the expense of IT operations. Personally, I think you must target all points of the application lifecycle to be successful. Take a look at what Microsoft does as an example; regardless of how you interact with Microsoft products (developer, IT, user), there are targeted tools just for you and your specific use cases.

I applaud both Amazon and Google's efforts. Their next offerings should be tools that allow you to migrate existing infrastructure to the cloud, not create new applications. They should help the IT operations folks move the web application running on a dusty beige box in the corner to the cloud. Instead of having IT migrate from off-lease hardware to new hardware, provide the tools to help them migrate to the cloud. Or, my personal favorite use case, mirror existing hardware to the cloud to act as a warm backup for disaster recovery.

At some point, those use cases will be implemented. The risk to Amazon and Google is that another player will provide the cloud AND the management tools out-of-the-box.

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