GE Leverages Pivotal Cloud Foundry to Build Predix, First Cloud for Industry

by May 11, 2016

At the 2015 Minds + Machines conference in San Francisco, GE announced that its Predix platform – the first PaaS built specifically for industry – was open for general availability. We chatted with Jeff Barrows, Cloud Platform Engineering Manager at GE Digital, to get his perspective on this transformation initiative. Don’t miss Jeff’s presentation at Cloud Foundry Summit 2016.

Jeff Barrows, Cloud Platform Engineering Manager at GE Digital
Jeff Barrows, Cloud Platform Engineering Manager at GE Digital

How did you get involved in Pivotal Cloud Foundry?
When I first joined GE, we were using a traditional three-tier web application deployment model—I designed Chef-based mechanisms to help developers deploy their Predix-based apps to the cloud using AWS or vSphere. The organization soon started talking about shifting away from how we were doing things. Through our relationship with Pivotal, I got some exposure to Cloud Foundry; I started work on some advanced POCs and had the opportunity to work with some of the early experts, including Dr. Nic Williams at Stark & Wayne and the team at Pivotal. When Harel Kodesh came on board as our CTO, he transformed what we were doing. His vision was to make Predix a cloud-first platform with a focus on making everything available through a publicly accessible cloud. The Predix platform was reengineered using Pivotal Cloud Foundry. It was his vision that made Predix the cutting edge platform that it is today.

What are the advantages of using Pivotal Cloud Foundry over other approaches?
When I started working with Pivotal Cloud Foundry, I was surprised by how quickly developers were able to start deploying new applications. We gave our developers access to the cf CLI and showed them what it does; they were developing applications almost instantly. When you compare application delivery using a traditional three-tier web application stack to application delivery using Cloud Foundry, the engineering productivity improvement is exponential. It removes so many of the complexities that the application engineering team used to have to worry about, such as “How do I scale?” and “How do I load balance?” At GE Digital, we take a DevOps approach to application development, and Cloud Foundry enables a smooth interface between ops and development. We’re consistently delivering production-ready, scalable applications in a fraction of the time.

What are you speaking about at Cloud Foundry Summit 2016 in Santa Clara?
During my presentation, I will talk through how we at GE use alternative ways to instrument and monitor Cloud Foundry and Cloud Foundry Services to improve operational practices. Right now, there aren’t a lot of good private solutions for Cloud Foundry monitoring. The alternatives are more in the public space – things like New Relic or other SaaS based solutions. If you want to run your own monitoring system internally because of security or compliance constraints, then you want a private solution. The solutions we’re using – monitoring and metrics collection using Sensu and Graphite, and maintaining utilization dashboards in Grafana – work really well in a private environment and for us. It took a little engineering work to get Sensu components to work with BOSH and the way Cloud Foundry and some of its services are deployed. In the end, we implemented something that goes a great job monitoring the health and well being of Cloud Foundry. We’ve also developed some best practices around how to determine the most impactful KPIs to track – I will share that in my talk as well.

What excites you about being part of the Cloud Foundry ecosystem?
The challenges that we face at GE are really challenges of scale. We have a large number of developers supporting mission critical industrial applications that will be hosted globally. The engineering challenges associated with what we are trying to do on such a massive scale get me excited to come to work every morning. Figuring out how to roll out global Cloud Foundry deployments, maintain and scale them, and provide core enabling technology that is key to the success of the Predix platform and our customers – that is what is really exciting to me.

An example is the GE Health Cloud, which runs on Predix. Imagine getting an MRI scan, and because the MRI machine is connected to the Predix cloud, tasks like image processing and storage, which were once handled offline, are now managed by GE Health Cloud applications. Key insights can now be delivered to your health care clinicians within minutes via the cloud, versus hours or days.  Your doctor could share that image with other medical professionals instantly. The implications for diagnostics and getting actionable information back to the patient quickly are hugely significant. We are working on projects with Predix that will make a difference in people’s lives on a day-to-day basis.

Deploying applications using different cloud platforms is becoming more and more common. In your opinion, what are the advantages of deploying cloud-based applications in a multi-cloud environment?
There are several advantages to having the ability to deploy to multiple clouds. We can leverage public cloud providers to help accelerate our global deployment footprint, providing lower application latency due to proximity to customers, and in some cases help us meet local governments’ data sovereignty regulations. It would limit our capabilities if we couldn’t.

At the same time, it also affords us the flexibility of building our own co-located infrastructure, which is purpose-built to support advanced application workloads, compliance and regulatory requirements. Because Cloud Foundry runs in both public and private clouds, software engineering teams only have to write the code once for a unified deployment and runtime experience, no matter the underlying IaaS. Customers who build their applications to run on Predix directly benefit from this streamlined development, deployment and runtime capability, accelerating their time to value by allowing them to rapidly deploy solutions into the environment that best meets their requirements.

Using containers has many advantages, and there are several approaches to how they are used in the context of cloud application development. What are the advantages of deploying a container model using a PaaS/Cloud Foundry versus using containers alone?
Cloud Foundry provides a comprehensive, rationalized container runtime and development ecosystem. Cloud Foundry provides all of the components you’d need to run applications at scale in a containerized environment – things like routing, scalable / elastic runtime, service discovery / brokering, logging, security, application health monitoring, etc.

From an operational perspective, all of those components are built to support zero-downtime upgrades, and horizontal scale. Lastly, there is a standardized approach on application development and deployment through the use of Buildpacks. If you were to create your own containerized ecosystem, you would likely have to pull together several disparate technologies to achieve feature parity with Pivotal Cloud Foundry; engineer each component in the tech stack to support zero-downtime upgrades; and create a normalized approach for developers to build, deploy, manage and monitor their application containers.

At the end of the day, we directly pass along the benefits of Cloud Foundry to our Predix customers, enabling them to rapidly develop and deliver production grade, scalable Industrial applications, without having to know much about how to build or operate a robust container based application ecosystem.