Archive

Author Archive

How to Install Kubernetes to Run Docker on VMware vSphere

June 6th, 2016 1 comment

Installing Google Kubernetes does not require VMware vSphere or any other virtual machine hypervisor. However, doing that on a VM is very convenient, so it’s highly recommended especially for development and testing environment.

Regardless VM or physical machine, a Linux OS is a must. As always, I picked CentOS 7 which is a fork of RHEL. Once getting a CentOS installed, the rest is easy. If you have a CentOS template already, deploying a new one should be very fast.

Too Early to Say GoodBye VMware vSphere Client?

May 22nd, 2016 4 comments

VMware published a blog “Goodbye vSphere Client for Windows (C#) – Hello HTML5” with two announcements: 1. There won’t be the traditional C# based vSphere Client for the next version of vSphere (no one knows the version yet but it’s safe to call it the next version.). 2. The vSphere HTML5 Web Client Fling will be supported soon (no exact timetable is given). My guess is that it will make into next release of vSphere if not earlier.

How to Wait for Promises in AngularJS

May 18th, 2016 No comments

In one of my previous blogs – How to Cache Results from Asynchronous Calls in AngularJS, I mentioned a technique that downloads data from remote server via $http service as a promise. This is quite often used in Web application development, for example, you want to save configuration, user preference on remote server and download them on fly.

Book Review: Docker Containers – Build and Deploy with Kubernetes, Flannel, Cockpit, and Atomic

April 30th, 2016 4 comments

After the virtualization buzz, the industry is actively looking for the next big thing. The container technology just came in at the right timing. Docker is the clear leader in the container technology, followed by CoreOS Rocket and RancherOS today.

Google Cloud Platform: Hello World with Service Account

March 21st, 2016 1 comment

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.

Google Cloud Platform: Hello World with OAuth 2

March 16th, 2016 No comments

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.

Azure Service Management APIs: The Old APIs That Works

March 14th, 2016 3 comments

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.

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

March 10th, 2016 No comments

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.

What I Learned about Microsoft Azure and its Resource Management APIs

March 9th, 2016 No comments

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.

Amazon Web Service Java SDK Tutorial: List All Networks

March 8th, 2016 1 comment

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.

1ca2d8a173786f9aa0b60d23fd3ea64c022

Amazon Web Service Java SDK Tutorial: List All Volumes

March 7th, 2016 3 comments

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:

Amazon Web Service Java SDK Tutorial: Create New Virtual Machine

March 2nd, 2016 No comments

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.

Windows 10: WiFi Network Not Found After Hibernation

February 29th, 2016 1 comment

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.

How to Create Plugin Framework Using AngularJS

February 22nd, 2016 No comments

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.

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

February 18th, 2016 No comments

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.

Amazon Web Service Java SDK Tutorial: Simplest Hello World

February 17th, 2016 2 comments

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.

Book Review: The Go Programming Language

February 16th, 2016 1 comment

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.

DoubleCloud Inc Announces “Super vCenter” with Unlimited Scalability

February 2nd, 2016 2 comments

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.

Download Files in PHP Code

January 26th, 2016 1 comment

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.

Categories: Software Development Tags:

How to Work Around Nginx Install Issue on CentOS

December 9th, 2015 1 comment

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.

Categories: Applications & Tools Tags: ,