Thursday, February 19, 2015

Cloud Foundry

- old orchestration
       pick vlan, compute, storage
       vms (linked clone + puppet/chef/etc for infra specific changes) + necessary packages for the app
       hand over to the app admin teams to deploy the app (deploy)

app vs service distinction

- new orchestration
      deployment: pull the code from git (heroku, openshift, flynn, dokku)
                         : pull the code as tar.gz (called blob store in cf)
                         : compile the code locally (worker vms in cf) and copy the exec to the Paas
      provisioning: (done by bosh)
               set up containers (DEA, agent)
               config networking
               install/config OS services or libraries like apache, ruby gem (buildpacks in cf)
     lifecycle mgmt:
               start the app
               stop/start cli

   service: polyglot persistence
            service broker (managed): register/add/delete mysql/oracle/redis/rabitmq/etc
             user-managed (legacy)

CF ops manager (GUI); behind the screens (bosh)

 Bosh: stemcell + release + config.yml/manifest

bosh cli (esxcli) --> bosh director (vcenter) --NATS--> tasks

manifest: cloud infrastructure + n/w infra + vm types + OS type

 Stemcell + Release + Manifest (SRM)
Changing clouds:
     change the template/stemcell + change manifest (SM)
 scale up app:
     change one line in the manifest (M)
update/rollback the app:
     change the release (R)



No comments: