Google Cloud Platform: Hello World with Service Account

In my last post, I showed a sample with OAuth. It works well for application on others’ behalves. For the hello world program, it’s better to run without any user’s manual interaction. Google has provided “Service Account Key” for that purpose.

When you create a new credential, the console asks the type of key. You can select the service account key, and then select the “Compute engine default service account” with P12 as the key type. The generated key will be downloaded automatically. Save it safely and it cannot download again. You can then copy the key to the project home with a name as key.p12.

Posted in Cloud Computing, Software Development | Tagged , | 1 Response

Google Cloud Platform: Hello World with OAuth 2

Google Cloud is the 3rd public cloud I tried after Amazon AWS and Microsoft Azure. I used its AppEngine before and it worked pretty well. Google started very early in the cloud game but it lost the opportunity to Amazon because it over-estimated the attractiveness of its own infrastructure that runs Google search.

Posted in Cloud Computing, Software Development | Tagged , , | Leave a comment

Azure Service Management APIs: The Old APIs That Works

After the initial bad experience with the new Azure Resource Management APIs, I took a different approach – try the old Service Management APIs. While transitioning from old system to new system, the old one may still be the best for an unexpected long period of time. Like VMware vSphere Client, VMware has declared end of life many times, but it’s still the favorite for most customers, while the future Web Client remains “future” since 2011.

Posted in Cloud Computing, Software Development | Tagged , , , | Leave a comment

Paradigm Shift in Data Center Management: What’s After VMware?

The recent release of DoubleCloud vSearch represents a paradigm shift in how we manage data center in the future. Before agreeing with me on that, let’s take a quick look at the history.

Yahoo vs. Google

When the Web first came out in the early 90s, there weren’t many Web sites and pages out there. To help us find pages of interest, a typical directory approach was used. That created the initial success for Yahoo in the first place.

Posted in Cloud Computing, Virtualization | Tagged , , , , | Leave a comment

What I Learned about Microsoft Azure and its Resource Management APIs

It was my plan to go over the popular cloud services on their management APIs. After familiarizing myself with Amazon AWS Java SDK with a few samples, I started with Azure and it turned out to a painful process.

In the following I will walk you through what I had experienced, and what works and not. Hope my experience will help you save some time with Azure.

Posted in Cloud Computing, Software Development | Tagged , | Leave a comment

Amazon Web Service Java SDK Tutorial: List All Networks

In my previous posts, I showed samples on virtual machine creation, virtual machine instances listing, storage volume listing. This sample shows how to list all the networks that you have.

With the information about your networks, you can get all the private and public IP addresses.

To run the following sample, you can check out the previous post for the pom.xml file and how to get AWS credentials from AWS console.

0e165aca91db98c43b48f904a4832051008

Posted in Cloud Computing, Software Development | Tagged , , , | 1 Response

Amazon Web Service Java SDK Tutorial: List All Volumes

In my previous posts, I showed samples on how to create a new virtual machine instance, and how to list all the virtual machine instances you own. This sample shows how to list all the disk volumes that you have.

To run the following sample, you can check out the previous posts for the pom.xml file and how to get AWS credentials from AWS console.

package org.doublecloud.awssample;
 
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.PropertiesCredentials;
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2Client;
import com.amazonaws.services.ec2.model.DescribeVolumesResult;
import com.amazonaws.services.ec2.model.Volume;
 
public class AwsEc2ListVolumes
{
  public static void main(String[] args) throws Exception
  {
    AWSCredentials credentials = new PropertiesCredentials(AwsEc2ListVolumes.class.getResourceAsStream("/AwsCredentials.properties"));
    AmazonEC2 ec2 = new AmazonEC2Client(credentials);
 
    DescribeVolumesResult volReq = ec2.describeVolumes();
 
    int count = 1;
    for (Volume vol : volReq.getVolumes())
    {
      System.out.println("Volume " + count   + "\n Details: " + vol);
      count++;
    }
  }
}

The output will be something as follows:

Posted in Cloud Computing, Software Development | Tagged , , , | 3 Responses

Amazon Web Service Java SDK Tutorial: Create New Virtual Machine

In my previous post, I showed a sample on how to list virtual machine instances. While that is helpful, maybe even more so is to create a new virtual machine. Here comes another sample that creates new virtual machine instance using the Amazon Java SDK.

Posted in Cloud Computing, Software Development | Tagged , , , | Leave a comment

Windows 10: WiFi Network Not Found After Hibernation

Windows 10 is definitely better than Windows 8 and 8.1 in terms of usability. I find myself using my labtop a lot more after upgrade from the factory installed 8.0. Compared with Windows 7, however, I don’t see much difference and that is why I haven’t taken advantage of the free upgrade from Microsoft on my desktop.

Posted in Applications & Tools | Tagged , , | 1 Response

How to Create Plugin Framework Using AngularJS

As I mentioned earlier, the AngularJS is an amazing JavaScript framework. It separates the model from view, and really makes programming in JavaScript pleasant. We actually use it in our recently released product DoubleCloud vSearch. I have personally used it for almost one year now and like it a lot even though I am not yet an expert.

Posted in Software Development | Tagged , , , | Leave a comment

Amazon Web Services: How to Get Volume Snapshots Including Others’

As I mentioned in my previous post, I started to play with Amazon Web Services, in particular its APIs. As part of the learning process, I tried to invoke different APIs to familiarize myself with their usages.

Most of the APIs worked as expected without much surprise until I called describeSnapshots() method to list all the volume snapshots under my account. Because I hadn’t created any snapshots, I did not expect to see any snapshot returned. But my code actually got me 10,933 volume snapshots.

Posted in Applications & Tools, Cloud Computing | Tagged , | Leave a comment

Amazon Web Service Java SDK Tutorial: Simplest Hello World

I looked at Amazon Web Services SDK a while back and started to work with it recently. While searching it the Internet, I got all the results on the first two pages on Google pointing back to Amazon, which is great. After reading these documents, however, I got headaches. Why? For one thing, they are pretty long and sometimes run over different Web pages. Do you want to read for an hour to get your first program running? Or you are like me who would like to get my first program like Hello World to run in 5 minutes or even shorter. We should then read more if we don’t understand some parts. If you have gone through the Amazon documents, you’d know it’s impossible.

Posted in Cloud Computing, Software Development | Tagged , , , | Leave a comment

Book Review: The Go Programming Language

After launching our flagship product “Super vCenter”, I finally got a little time to catch up with my other works. One of these is to write a book review for Alan Donovan and Brian Kernighan on their new book The Go Programming Language. I received a copy a couple months ago from the publisher Pearson which also published my book VMware VI and vSphere SDK in 2009.

Posted in Software Development | Tagged , | Leave a comment

DoubleCloud Inc Announces “Super vCenter” with Unlimited Scalability

After leaving VMware and VCE, I founded DoubleCloud Inc. While working with many of my clients, we found it’s really a pain point for people to use vSphere Web Client which is quite slow and based on obsolete Flash technology. The old vSphere Client is a lot better in performance and usability, but VMware stopped upgrading it with new features.

Posted in Software Development, Virtualization | Tagged , , | 4 Responses

Download Files in PHP Code

Although I created my company Web site using PHP a while ago, I actually used only a very basic feature of the PHP that I can include header and footer on very page. Web site is not a typical software, but the DRY (Don’t Repeat Yourself) rule still applies. When a new major product release coming soon, I started to update the Web site and consider some advanced feature of the PHP.

Posted in Software Development | Tagged | Leave a comment

How to Work Around Nginx Install Issue on CentOS

Installing Niginx is very easy and straight forward with yum on CentOS. But I found it stopped to work last night. My installation script aborted with an error saying that it could not find libunwind package, which turns out no longer in the EPEL7 after a upgrade a couple of days ago.

Posted in Applications & Tools | Tagged , | 1 Response

How to Cache Results from Asynchronous Calls in AngularJS

Coming from many years of Java programming, I started to program a lot with JavaScript from a few months ago. Overall the programming fundamentals are the same except the some differences on the language syntax. These differences can be adapted over the time, not quite easily, but gradually easier with more practices.

These days I found myself typing double quote for Java string and single quote for JavaScript strings, even though the double quote works just fine with JavaScript. But keep that difference helps remind me that it’s Java or JavaScript.

Posted in Software Development, Uncategorized | Tagged , | Leave a comment

VMware ovftool as Development Tool: Good and Bad Parts

If you want to export a virtual appliance for internal deployment, it’s quite easy. The vSphere Web Client or ovftool command line can take care of this easily. But it’s a different story to build a virtual appliance based software product, which should not only make it work, but also include product information.

Here are some information I learned and decisions I made from packaging an OVF product recently. Hope it would be useful for you. You can also check another post on how to compact the virtual disk for smallest OVA or VMDK.

Posted in Applications & Tools, Software Development | Tagged , | Leave a comment

Big Data to Tomcat Behind Nginx

In a Web application I created, I need to upload some data to a Java Servlet for further processing. I wish JavaScript could be more powerful so that I can process everything in the front end, but I could not find a good JavaScript library for the job.

Everything works well until some big changes got in – it stopped working sometimes and the pattern is not quite consistent. Initially I thought it was because of long time processing at the server side.

Posted in Applications & Tools | Tagged , , , | 2 Responses

How to Build Smaller and Faster Virtual Appliance

While building a new server product of its own kind, we chose virtual appliance as the package. During the development phase, we configured thin disk to save space. But for our beta customers to try out, we decided to switch to thick disk for better performance as the product has to do lots of processing and heavy disk I/O. BTW, we still have a few slots for new beta customers with have large vSphere deployments. Please contact me if you are interested.

Posted in Applications & Tools, Virtualization | Tagged , , , | Leave a comment
  • NEED HELP?


    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__ doublecloud.org.

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.