“Clouds” don’t just free IT from having to buy, provision and manage hardware, they can be used as an “elastic” infrastructure, where apps can request resources as needed. Apps that can do this are, unsurprisingly, called “cloud-native apps.”
“Historically, when you wrote an app, you didn't have an API by which it could ask for another processor, another disk drive, etc.” says Jared Rosoff, Senior Director, Program Management, Cloud-Native Applications at VMware. “Cloud-native apps are this new class of software apps that are aware of the fact that they are running on an elastic infrastructure. The cloud lets you programmatically ask for resources on the application’s behalf. So this new class of software, can, for example, do autoscaling, like a web server that adds and removes virtual machine instances in response to clients.
As the adoption of "Cloud-Native Apps" gain momentum, their use means IT needs the tools to develop, test, deploy and manage them.
Supporting cloud-native apps also brings changes to IT's role. "If every app in your data center is a distributed system, the people running your data center have to become key architects, to support these types of apps," says Rosoff. "IT's use of virtualization has evolved from server consolidation to supporting elastic infrastructures -- to supporting services like Apache Mesos, Hadoop, and Kubernetes.”
To address the new requirements (and opportunities) of cloud-native apps, VMware has recently formed the Cloud-Native Apps group. “Our goals are to make the data center as accessible to developers as it is to IT operations; to build secure, interoperable and scalable systems suited for the elastic infrastructure – and to work collaboratively across the entire company to make sure these efforts go forth – it’s a VMware-wide effort to ensure that the infrastructure we build is ready to support cloud-native applications,” says Rosoff.
VMware’s Goals for Supporting Cloud-Native App DevOps
"Today, a developer working in a legacy infrastructure is doing more and more infrastructure engineering than feature engineering -- more time wrangling VMs into pools of machines that support a mobile app than working on an app's features," says Rosoff. "Our aim is to build more of the intelligence into the infrastructure, so app developers can spend more of their time building features."
For operators, says Rosoff, "If my app developers are taking VMs from the data center and layering something like Kubernetes on top of it, the platform becomes opaque to operators -- it looks like a pool of VMs, but the operator can't tell what they're powering. We want is to ensure we are building standards for distributed infrastructure across the enterprise, and that this infrastructure is equally accessible to developers and to operators.”
Photon OS: A Linux for Running Containers and VMs in vSphere and in vCloud Air
While VMware already supports a lot of Linux operating systems on vSphere, in order for VMware to provide an infrastructure to run cloud-native apps, “We wanted a small Linux installation that was optimized for both containers and for VMware platforms,” says Rosoff.
Photon OS is a lightweight Linux operating system designed for cloud-native applications, optimized to integrate into VMware's vSphere hypervisor and vCloud Air, VMware's public cloud environments, according to Rosoff. “Photon OS is an open source Linux container host runtime, supporting container formats including Docker, Garden and rkt. It will let both containers and VMs run natively on a single platform, and when containers are running within VMs, provide container isolation.”
Project Bonneville: VMware's Container Runtime
Announced June 22, 2015, VMware’s Project Bonneville is a container runtime that removes the distinction between VMs and containers to provide the portability and control of the latter, with the isolation and management of the former,” according to Rosoff. But, notes Rosoff, unlike many other container approaches, "Every container you start in Bonneville is isolated as a virtual machine, rather than being just a process inside of Linux."
Bonneville has tight integration of VMs and containers, says Rosoff. "It straddles this dual world: to developers it looks just like a Docker host, but to operators, it's a VM, so all of the VM management tools work with out of the box.”
VMware AppCatalyst: For Desktop Developers Building Cloud-Native Apps
If you're a developer trying to build an app based on Kubernetes or one of the cloud-native app frameworks, "You can't run them on your desktop, you need a cloud to run them on," points out Rosoff.
Announced June 22, VMware AppCatalyst is, according to a post by Rosoff, "a tool that gives developers 'a data center on the desktop' -- it's a hypervisor that runs on a desktop computer and emulates a data center, and is optimized for cloud-native app workloads."
Supporting Cloud-Native App Open Initiatives
As part of its push into Cloud-Native Apps, VMware is placing a renewed focus on supporting and working to open standards. In his July 21, 2015 post, "VMware Joins the Cloud Native Computing Foundation," Kit Colbert, VP & CTO, Cloud-Native Apps at VMware, wrote, "We, along with Google, recognize the importance of defining next-generation, cloud-native architecture for our customers through collaborative and open means."
VMware's Cloud-Native Goup participated in numerous Cloud and Open Source initiatives. For example:
VMware is an early member of the Kubernetes community
VMware is one of the founding members of the Cloud Foundry Foundation, which develops open PaaS standards.
Member of the Open Container Project, which was formed to enable users and companies to continue to innovate and develop container-based solutions.
VMware is, along with the Linux Foundation, Google and others, one of the inaugural members of the Cloud Native Computing Foundation (CNCF).
Photon and Lightwave are available on Github at vmware.github.com.
AppCatalyst is available as a technology preview at vmware.com/go/downloadappcatalyst.
Bonneville is not formally released but is available in private beta.