StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Platform as a Service
  4. Platform As A Service
  5. Cloud Foundry vs Terraform

Cloud Foundry vs Terraform

OverviewDecisionsComparisonAlternatives

Overview

Cloud Foundry
Cloud Foundry
Stacks188
Followers346
Votes5
Terraform
Terraform
Stacks22.9K
Followers14.7K
Votes344
GitHub Stars47.0K
Forks10.1K

Cloud Foundry vs Terraform: What are the differences?

Introduction

In this article, we will discuss the key differences between Cloud Foundry and Terraform.

  1. Deployment Platform: Cloud Foundry is a platform-as-a-service (PaaS) solution that provides a ready-to-use runtime environment for applications. It abstracts away the underlying infrastructure and provides a way to easily deploy, manage, and scale applications. On the other hand, Terraform is an infrastructure-as-code (IaC) tool that allows users to define and manage their infrastructure as code, making it more flexible and agnostic to any cloud provider or infrastructure platform.

  2. Abstraction Level: Cloud Foundry focuses on the application layer, abstracting away the underlying infrastructure details. It provides developers with a high-level interface to deploy and manage applications without worrying about the infrastructure setup. Terraform, on the other hand, operates at the infrastructure layer, providing a way to provision and manage infrastructure resources like virtual machines, storage, networking, etc., across different cloud providers.

  3. Platform Flexibility: Cloud Foundry is a specific platform that offers a predefined runtime environment, buildpacks, and services. It has its own ecosystem, and applications need to be developed and designed to run on Cloud Foundry. In contrast, Terraform is highly flexible and vendor-agnostic. It can be used to provision and manage resources across multiple cloud providers and infrastructure platforms without being tied to any specific platform or runtime environment.

  4. Infrastructure Orchestration vs Application Orchestration: Terraform is primarily an infrastructure orchestration tool. It focuses on provisioning and managing the infrastructure components required by an application to run. It defines and manages the infrastructure's desired state, making it possible to manage updates and changes over time. Cloud Foundry, on the other hand, is an application orchestrator. It focuses on deploying, scaling, and managing applications, but it does not directly manage the underlying infrastructure.

  5. Deployment Flexibility: With Terraform, deployments are more granular and customizable. Users can define and manage individual infrastructure components, making it possible to create complex and customized infrastructure setups. In Cloud Foundry, deployments are higher-level and follow the platform's predefined structure. It provides a simplified deployment model, suitable for quickly deploying and managing applications without complex infrastructure configurations.

  6. Community and Ecosystem: Cloud Foundry has an established community and ecosystem. It provides a wide range of buildpacks, services, and tools that integrate well with the platform, making it easier to develop, deploy, and manage applications. Terraform, on the other hand, has a growing and active community but offers a more generic and flexible approach. It benefits from the wider infrastructure-as-code ecosystem and integrations with different providers.

In summary, Cloud Foundry is a platform-as-a-service (PaaS) solution that focuses on the application layer, providing a simplified deployment model and an ecosystem of buildpacks and services. Terraform, on the other hand, is an infrastructure-as-code (IaC) tool that operates at the infrastructure layer, providing a flexible and vendor-agnostic approach to provision and manage infrastructure resources.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Cloud Foundry, Terraform

Sung Won
Sung Won

Nov 4, 2019

DecidedonGoogle Cloud IoT CoreGoogle Cloud IoT CoreTerraformTerraformPythonPython

Context: I wanted to create an end to end IoT data pipeline simulation in Google Cloud IoT Core and other GCP services. I never touched Terraform meaningfully until working on this project, and it's one of the best explorations in my development career. The documentation and syntax is incredibly human-readable and friendly. I'm used to building infrastructure through the google apis via Python , but I'm so glad past Sung did not make that decision. I was tempted to use Google Cloud Deployment Manager, but the templates were a bit convoluted by first impression. I'm glad past Sung did not make this decision either.

Solution: Leveraging Google Cloud Build Google Cloud Run Google Cloud Bigtable Google BigQuery Google Cloud Storage Google Compute Engine along with some other fun tools, I can deploy over 40 GCP resources using Terraform!

Check Out My Architecture: CLICK ME

Check out the GitHub repo attached

2.25M views2.25M
Comments
Timothy
Timothy

SRE

Mar 20, 2020

Decided

I personally am not a huge fan of vendor lock in for multiple reasons:

  • I've seen cost saving moves to the cloud end up costing a fortune and trapping companies due to over utilization of cloud specific features.
  • I've seen S3 failures nearly take down half the internet.
  • I've seen companies get stuck in the cloud because they aren't built cloud agnostic.

I choose to use terraform for my cloud provisioning for these reasons:

  • It's cloud agnostic so I can use it no matter where I am.
  • It isn't difficult to use and uses a relatively easy to read language.
  • It tests infrastructure before running it, and enables me to see and keep changes up to date.
  • It runs from the same CLI I do most of my CM work from.
385k views385k
Comments
Daniel
Daniel

May 4, 2020

Decided

Because Pulumi uses real programming languages, you can actually write abstractions for your infrastructure code, which is incredibly empowering. You still 'describe' your desired state, but by having a programming language at your fingers, you can factor out patterns, and package it up for easier consumption.

426k views426k
Comments

Detailed Comparison

Cloud Foundry
Cloud Foundry
Terraform
Terraform

Cloud Foundry is an open platform as a service (PaaS) that provides a choice of clouds, developer frameworks, and application services. Cloud Foundry makes it faster and easier to build, test, deploy, and scale applications.

With Terraform, you describe your complete infrastructure as code, even as it spans multiple service providers. Your servers may come from AWS, your DNS may come from CloudFlare, and your database may come from Heroku. Terraform will build all these resources across all these providers in parallel.

Application and services centric lifecycle API;High performance dynamic routing;Buildpack support;Data and web services brokers;Linux Container management;Role Based Access and Teams;Active application health management;Standards based user authentication and authorization;Integrated real time logging API;Multi-provider ecosystem
Infrastructure as Code: Infrastructure is described using a high-level configuration syntax. This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.;Execution Plans: Terraform has a "planning" step where it generates an execution plan. The execution plan shows what Terraform will do when you call apply. This lets you avoid any surprises when Terraform manipulates infrastructure.;Resource Graph: Terraform builds a graph of all your resources, and parallelizes the creation and modification of any non-dependent resources. Because of this, Terraform builds infrastructure as efficiently as possible, and operators get insight into dependencies in their infrastructure.;Change Automation: Complex changesets can be applied to your infrastructure with minimal human interaction. With the previously mentioned execution plan and resource graph, you know exactly what Terraform will change and in what order, avoiding many possible human errors
Statistics
GitHub Stars
-
GitHub Stars
47.0K
GitHub Forks
-
GitHub Forks
10.1K
Stacks
188
Stacks
22.9K
Followers
346
Followers
14.7K
Votes
5
Votes
344
Pros & Cons
Pros
  • 2
    Perfectly aligned with springboot
  • 1
    Free service discovery (Eureka)
  • 1
    Application health management
  • 1
    Free distributed tracing (zipkin)
Pros
  • 121
    Infrastructure as code
  • 73
    Declarative syntax
  • 45
    Planning
  • 28
    Simple
  • 24
    Parallelism
Cons
  • 1
    Doesn't have full support to GKE
Integrations
VMware vSphere
VMware vSphere
Logentries
Logentries
Amazon EC2
Amazon EC2
OpenStack
OpenStack
Papertrail
Papertrail
Amazon VPC
Amazon VPC
Splunk Cloud
Splunk Cloud
Sumo Logic
Sumo Logic
Heroku
Heroku
Amazon EC2
Amazon EC2
CloudFlare
CloudFlare
DNSimple
DNSimple
Microsoft Azure
Microsoft Azure
Consul
Consul
Equinix Metal
Equinix Metal
DigitalOcean
DigitalOcean
OpenStack
OpenStack
Google Compute Engine
Google Compute Engine

What are some alternatives to Cloud Foundry, Terraform?

Heroku

Heroku

Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.

Ansible

Ansible

Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.

Clever Cloud

Clever Cloud

Clever Cloud is a polyglot cloud application platform. The service helps developers to build applications with many languages and services, with auto-scaling features and a true pay-as-you-go pricing model.

Google App Engine

Google App Engine

Google has a reputation for highly reliable, high performance infrastructure. With App Engine you can take advantage of the 10 years of knowledge Google has in running massively scalable, performance driven systems. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow.

Red Hat OpenShift

Red Hat OpenShift

OpenShift is Red Hat's Cloud Computing Platform as a Service (PaaS) offering. OpenShift is an application platform in the cloud where application developers and teams can build, test, deploy, and run their applications.

Chef

Chef

Chef enables you to manage and scale cloud infrastructure with no downtime or interruptions. Freely move applications and configurations from one cloud to another. Chef is integrated with all major cloud providers including Amazon EC2, VMWare, IBM Smartcloud, Rackspace, OpenStack, Windows Azure, HP Cloud, Google Compute Engine, Joyent Cloud and others.

AWS Elastic Beanstalk

AWS Elastic Beanstalk

Once you upload your application, Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.

Capistrano

Capistrano

Capistrano is a remote server automation tool. It supports the scripting and execution of arbitrary tasks, and includes a set of sane-default deployment workflows.

Puppet Labs

Puppet Labs

Puppet is an automated administrative engine for your Linux, Unix, and Windows systems and performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.

Salt

Salt

Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds. Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot