Do you remember the 1990's movie Kazaam? You know, the one with basketball superstar Shaquille O'Neal playing a genie? I think it won a few Oscars. Believe it or not, there's a non-trivial number of people convinced that it actually starred the actor Sinbad. This is a real example of the Mandela Effect—a phenomenon where a bunch of people misremember the same thing. I've seen this happen with Cloud Foundry. Sometimes people get a mistaken impression of the platform, and it hardens into "fact." Let me clear up a few misperceptions.
Myth #1. "Cloud Foundry can only run cloud-native, 12-factor apps." - FALSE
Build every new application in a cloud-native fashion. Don't take my word for it. Enterprises, press, and industry analysts agree. Why? This style gives you the most availability, scale, and velocity, and that's what matters to most businesses today. And when those apps run on a platform like Cloud Foundry, they get web-scale resilience, log management, monitoring, and more.
That said, it's not all or nothing. It’s a spectrum.The vast majority of existing apps weren't built with the cloud in mind, and that's ok. There's no need to do a full refactoring simply to get the benefits of Cloud Foundry. For apps built in modern languages within the past few years, you can likely pick them up and move them. For others, you may make small changes to remove local storage, for example. And there could be a handful of aging apps that matter a lot to your business, and deserve a full rewrite to improve adaptability.
With support for persistent storage, TCP routing, complex container networking, and containerization, Cloud Foundry is a natural home for almost any app you can throw at it.
Myth #2. "You can't use Docker images with Cloud Foundry." - FALSE
Remember, Cloud Foundry is the original container platform for modern apps. We love containers! But we also think they make the MOST sense as part of a platform that can handle tasks like scheduling and security for you. That's why our customers love pushing code to Cloud Foundry and letting the platform containerize their app. Need to update some containers because of a critical vulnerability in the stack? If you let us build the container for you, patching can happen automatically. It’s good to know that the platform can securely handle the OS and runtime layers of the container.
But plenty of developers want greater control over the application stack, and that's cool. Whether you're using packaged software distributed as a container, or building your own containers from a continuous integration pipeline, you want first-class treatment in your target environment. With Cloud Foundry, you get it. The platform makes it easy to bring your Docker containers to the platform. Whether stored in the public Docker Hub or a private registry, it's no problem. Simply "cf push" with a reference to the image you want to run in Cloud Foundry. Oh, and just to be clear, we don't mess with the Docker image during deployment. We use the same technology as Docker and Kubernetes when fetching and caching the individual layers in the container.
Myth #3. "Apps must be built in a Cloud Foundry-specific way." - FALSE
There is nothing, zero, nada that HAS to happen before your modern app runs successfully in Cloud Foundry. You can take a Java, .NET, or Node.js app and it "just works" on the platform. Pick it up and run it somewhere else, too. No code changes needed.
Now, if you want, you could tap into environment variables that Cloud Foundry injects into your environment. These could be custom, or related to things like connection strings for backing services. But this is entirely up to you, and might I say, a very simple thing to change if your application moves elsewhere.
If you have a well-designed modern app—especially a Spring Boot app—then there's nothing you have to do to get it to run on Cloud Foundry! Deploy it, and enjoy all the benefits you get from running on a web-scale platform.
Myth #4. "I don't need a platform like Cloud Foundry if I'm already using public cloud." - FALSE
"The cloud" ushered in a seismic change in how we build systems. Did you feel it? You can't overstate its importance. And cloud leaders like Microsoft, Google, and AWS have radically changed our expectations about what it means to consume services. However, that doesn't mean that developer-oriented, operations-friendly abstractions aren't needed.
How good should your developers be at configuring firewalls? How about stitching together app servers, databases, load balancing, and DNS all in a way that's manageable as a visible unit? Should your operations staff be in the business of trying to keep an elastic pool of virtual machines uniform and patched? If you answered "yes" to all those, then congrats, your company makes money by running a platform. For the other 99.98% of you, those items above don't add business value. Rather, you care about developers who can ship quality code quickly, and operations experts who can manage exponentially more assets without much effort. That's where platforms like Pivotal Cloud Foundry add value atop a wonderful cloud IaaS layer. We give you a fully integrated, managed microservices platform, on any IaaS.
Myth #5. “Just like most other platforms, Cloud Foundry doesn’t support regular .NET apps.” - FALSE
No doubt, Windows and .NET have not been a priority for most platform vendors over the past few years. .NET developers and Windows operators have been stuck with single-purpose platforms or virtual machines as their only option. Not any more, and Cloud Foundry is leading the way.
While most platform-type products jumped to offer .NET Core because it runs on Linux, the overwhelming majority of developers can’t take advantage yet. Why? They are still working with the Windows-based .NET Framework! Fortunately for you, there’s Cloud Foundry. We’ve offered support for containerized workloads on Windows for years. Last Fall, we introduced BOSH for Windows as a way to build and manage Windows servers for Cloud Foundry. Just last week, we announced the PCF Runtime for Windows that gives you a simple way to create and manage Windows clusters from the Pivotal Cloud Foundry Operations Manager interface. Developers gets a cloud-scale environment for their .NET apps, and operators get to manage fleets of Windows servers with no problem.
Oh, and don’t forget about Steeltoe. This Pivotal-sponsored, open source .NET microservices framework helps developers implement some key patterns in their apps. And you can run it all on Pivotal Cloud Foundry. We love .NET in all its forms, and make it possible to bring apps in any language to a single, managed platform.
Myth #6. "Cloud Foundry is too big and expensive for me." - FALSE
In Cloud Foundry, we place a premium on resilience, availability, and performance. It's what our customers expect when they decide to run their most important workloads there. As a result, we have many components distributed across virtual machines of varying sizes. Just like when you use public cloud services, you don't pay Pivotal for how much infrastructure you provision; you pay us based on how much you consume. Now, that infrastructure beneath Pivotal Cloud Foundry isn't free. For most of our customers, it's a very small spend compared to the gains in operational efficiency and new business they get from being good at software. Thanks to the powerful BOSH release engineering tool, companies manage 30 VMs or 3000 VMs with the same effort. But we've listened, and plan on offering a "lite" footprint for Pivotal Cloud Foundry in 2017. Stay tuned.
What do you get when you buy Pivotal Cloud Foundry? Multi-language runtimes, log aggregation, application and environment metrics, Spring Boot integration, Spring Cloud Services, rapid turnaround for any CVEs, automated infrastructure provisioning, zero-downtime deploys with BOSH and Operations Manager, a developer UX called Application Manager, app autoscaling, cloud provisioners for all major IaaS providers, enterprise support, and an amazing ecosystem. Whew.
When you partner with Pivotal, you aren't "just" getting a shiny new app server. No, you get a proven jolt in your transformation to a digital business. That may sound like bland corporate-speak to you. But time and time again, our customers tell us that Pivotal gives them unique hope that they can succeed in a software-driven future. Pivotal Cloud Foundry isn't “free”, or frankly “cheap”, but what is long-term business success and trusted partnership worth to you?
Myth #7. "Cloud Foundry is lock-in." - FALSE
This one is amusing. Cloud Foundry is one of the largest open source projects in history. It’s supported by a 70+ member foundation, with around 140 full time committers. There are many downstream providers who package up the OSS project and sell it commercially. Many upstream committers, many downstream consumers. That's a healthy indicator.
To be sure, everything has a component of lock-in. Programming languages, application runtimes, operating systems, databases, you name it. What matters is the ability to change providers, or the cost to swap out the component entirely. Lock-in only really bites you when your dependent technology gets more expensive, but stagnates in value. With Pivotal Cloud Foundry, you get constant innovation, with costs that only grow as your business does.
Because Cloud Foundry is multi-cloud and multi-provider, you have lots of choice within the ecosystem. But if you want to exit Cloud Foundry, you don't have to change your app in any way (myth #3). While some OSS plumbing components of Cloud Foundry—including the Diego orchestration scheduler—are purpose-built for the platform, users don't get exposed directly to them, and hence have no "sticky" code to change. And while Pivotal adds some awesome capabilities through published extensibility points, none of those keep you from running apps elsewhere.
If you choose to power your digital transformation with Cloud Foundry, you should sleep well. You've bet on a proven platform with a vibrant community. It’s something that the world's largest companies depend on, and in case you ever change your mind, the switching costs are low.
Technology is changing so fast. It's understandable that folks can't keep up. If you're considering Cloud Foundry but were worried about the above myths, I hope this helps. If you're an existing customer who is starting to expand usage to skeptical peer groups, I hope this energizes you! And if you're a competitor who peddles these myths to prop up your product, get some new material.
About the Author
Richard Seroter is a Senior Director of Product for Pivotal, a 10-time Microsoft MVP for cloud, an instructor for developer-centric training company Pluralsight, the lead InfoQ.com editor for cloud computing, and author of multiple books on application integration strategies. As a Senior Director of Product at Pivotal, Richard heads up product marketing and helps customers see how to transform the way they build software. Richard maintains a regularly updated blog (seroter.wordpress.com) on topics of architecture and solution design and can be found on Twitter as @rseroter.Follow on Twitter More Content by Richard Seroter