Today we are pleased to announce the availability of our preview of the AWS Greengrass Core VM Appliance 0.5. This follows our earlier preview announcement and is a major step in allowing cloud services to execute anywhere that data is created or consumed, providing organizations with new ways to accelerate innovation initiatives.
VMware vSphere® is practically everywhere business is conducted. Beyond data centers, organizations count on vSphere in factories, distribution centers, retail stores, branch offices, oil rigs, trading floors, and ships, just for example. All because our stack provides a globally consistent way to deploy, manage and operate applications and services. The new VM appliance makes it simple to now deploy AWS services such as Greengrass Lambda Functions anywhere that vSphere runs. In addition, AWS is bringing an increasing number of services to Greengrass such as the AWS Greengrass Machine Learning (ML) Inference. Beyond the innovation aspects, you need significant horsepower to scale machine learning at the edge, and you can take advantage of hardware capabilities such as GPUs exposed by the hypervisor to provide services, such as machine learning, the performance they require.
Deploying and Configuring the VM Appliance
The VM appliance is designed with AWS Greengrass Core 1.3 pre-installed. You will be able to download and deploy the VM appliance in a variety of ways, including initially testing capabilities on your laptop with VMware Fusion or Workstation. In addition, you can deploy it to your vSphere environment using VMware vCenter or vRealize Automation. Note that our most up-to-date instructions can be found in the README on the greengrass-on-vsphere GitHub page.
To test the VM appliance, take the following steps to complete the initial configuration:
- Open the VM and login as user ggc and the default password ggc.
- Run passwd to change the default ggc user password.
- Login to AWS IoT web UI and create a Greengrass group and core, and download the core’s certificate, public and private keys, and config.json as a tar.gz.
- Download the tar.gz to the VM appliance and unpack the contents to the /greengrass folder.
sudo tar xf gg-setup.tar.gz -C /greengrass - Verify that the certificates have been installed.
ls /greengrass/certs - Verify that the config.json is properly configured.
cat /greengrass/config/config.json - Install the Symantec Verisign root CA certificate onto the VM appliance.
sudo wget -O /greengrass/certs/root.ca.pem “http://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem” - Start greengrass!
sudo /greengrass/ggc/core/greengrassd start
At this point, the real fun begins. You can start configuring AWS Lambda on the Greengrass Core. The AWS Greengrass Developer Guide will walk you through the process. As you will see, you can even configure Lambda functions to fully execute even when the Greengrass Core VM appliance is disconnected from the AWS Cloud. Furthermore, you can take advantage of VMware management tools, such as vRealize Operations (vROps), for managing performance and can leverage NSX for network security and automation. Any VMware solution that supports the Ubuntu Server 16.04.3 LTS OS can be used with the VM appliance.
Configuring the VM appliance using gghelper
gghelper is a command line tool developed by VMware that can be used to configure AWS Greengrass locally on the VM appliance without having to use the AWS Console. You can learn more about gghelper in its readme file and view its source code on the gghelper GitHub page.
To use gghelper, you will first have to install the AWS Command Line Interface and then configure it to use the appropriate credentials. With the AWS CLI configured, you can now use the 0.0.2 gghelper command by downloading the command to the VM appliance. For consistency with the documentation in the README.md file, rename the from gghelper_linux to gghelper. Ensure that the file has the proper read and execute permissions and you’re ready to go. With the 0.2 code, you should be successful following steps 1-3 in the README.md file to create a Greengrass group, unpack the certificates and configuration json, and start greengrassd on the VM. You now have a running Greengrass Core instance that can be managed locally via gghelper or from the AWS IoT web interface. We are continuing to improve the gghelper code and welcome your contributions to the gghelper project!
VMware’s Strategic Direction
Everywhere I go, regardless of industry, I continue to see a growing need for applications and services to execute practically anywhere. Countless organizations have launched major Internet of Things (IoT) initiatives to drive greater efficiencies and create new competitive advantages. These innovations are impacting every industry vertical with use cases such as:
- Shortening the time it takes to turn around planes at the gate, increasing the number of flights per day
- Determining the right time to bring equipment in for service based on a variety of sensor metrics, shortening the time that equipment is out of the field and not generating profit
- Improving customer relationships at branch office environments
- Improving healthcare with richer real-time analytics and augmented reality
- Improving efficiencies in factories and distribution centers
The bottom line is that in many cases, it’s more efficient to move the cloud service or intelligence to where the data is created or consumed than moving the data to the cloud for analysis. For real-time automation, latency, or privacy concerns, that is often a requirement.
This is where VMware comes in. We’ve been building solutions that deliver globally consistent infrastructure as code, allowing new application frameworks such as Functions as a Service (FaaS) and serverless to execute in any environment that runs a VMware hypervisor. That includes ESXi, VMware Fusion, and VMware Workstation, giving you new ways to deploy and manage services anywhere, and also literally test them anywhere such as on your laptop fully disconnected from the internet. All applications, whether it’s traditional applications, containers, serverless functions, or anything require compute and infrastructure services. Our goal with vSphere is to provide global consistency while preserving a native experience for software developers and for operations. In addition, solutions such as VMware Pulse IoT Center are providing end-to-end management and monitoring for the world of connected things. In fact, today we announced the general availability of VMware Pulse IoT Center which you can read about here.
VMware customers see a world of heterogeneity, and that’s why last week we announced Dispatch, an open source serverless framework that allows you to run your open source serverless solution of choice on vSphere. We are working hard to ensure our customers are able to meet their business requirements for velocity and choice. Our future is far from certain and when you build applications and services, you often don’t know what their future will hold. Going forward, we will continue to give you the flexibility, consistency, and control you need to thrive in an increasingly dynamic world.
AWS Greengrass on vSphere is a big step for VMware and for you. A year ago, we talked about running VMware workloads in AWS data centers. Now, you can run AWS Greengrass services anywhere you have a VMware hypervisor.
Cloud services, containers, VMs, network and security services, data services, platform services, functions…
Anywhere!
We are committed to allowing you to innovate, secure, and consistently operate your organization wherever the changing world takes you, whether it’s a cloud, data center, external site, or something completely unexpected. Our future is about empowering you to use whatever you want, wherever you want, and to change your mind along the way. With that, I have one question. Why are you still reading?!
Download the VM appliance and let loose on the innovation. 2018 is off to a roaring start!