Difference between buildpack and droplet

391 views
Skip to first unread message

john7...@gmail.com

unread,
Oct 4, 2014, 5:07:26 AM10/4/14
to vcap...@cloudfoundry.org

Here is my understanding of cloudfoundry buildpacks and droplets

buildpack is runtimes(say, jdk) + containers(say, tomcat) + frameworks(say, spring) + service configs (if any) + your apps (if any).

droplet is buildpack deployed on a linux container.

Please correct or add additional information.

ronak banka

unread,
Oct 4, 2014, 7:42:12 AM10/4/14
to vcap...@cloudfoundry.org
Buildpacks are just a way to create an environment for your application, which will be deployed inside a container.

Once you push a application it goes for staging, cloud controller tell DEA to stage the application, kind of build process for the application with dependencies completed by Buildpacks.

Staged application is actually a droplet which is used by cloud controller to launch your application.

This is when DEA is used before deigo project.

This is my understanding, please correct me if I'm wrong.

David Lee

unread,
Oct 4, 2014, 4:08:09 PM10/4/14
to vcap...@cloudfoundry.org
Typically, a buildpack will not contain your application code or service configuration (assuming you mean something like application DB IP address, port, username, password). The latter two are generally set once you push your application.

During a application push (deploy), there is a phase called staging. Staging takes the application code and combines it with the buildpack to create the filesystem that will be used for an application instance. (There is typically some processing done here, but varies by buildpack.) This result is the droplet.

When you run an instance of an application, the droplet is used as the starting point of the instance (from a filesystem point of view). Service configuration (such as DBs) are passed into the instance as part of the startup of the app from the droplet.

A droplet can be used multiple times (multiple application instances), but each instance is independent once started.

This is the "typical" process. However, there are other ways to use/create buildpacks that may have a slightly different behavior.

Generally, think of the buildpack as the main way to define what runs in an application instance... and, most buildpacks accept a program in a specific programming language as a parameter.

-Dave


--
You received this message because you are subscribed to the Google Groups "Cloud Foundry Developers" group.
To view this discussion on the web visit https://groups.google.com/a/cloudfoundry.org/d/msgid/vcap-dev/4f2fd33b-44b8-4a84-a3be-e9411120b141%40cloudfoundry.org.

To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.

Matthew Sykes

unread,
Oct 5, 2014, 9:54:10 AM10/5/14
to vcap...@cloudfoundry.org
In its most basic form, a build pack is the thing that transforms the app bits uploaded to the cloud controller into the droplet that runs on the DEA.

In its most basic form, a droplet is a tar ball that contains all of the code and libraries needed to run an instance of an application.

When an app instance needs to be started, a container is created, the droplet is un-tarred, and the start command provided by the build pack or the user is used to kick off the application in the container.


To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.



--
Matthew Sykes
matthe...@gmail.com
Reply all
Reply to author
Forward
0 new messages