CloudFoundry的学习笔记

137 阅读2分钟
  1. Industry standard, open source, deploy application
  2. BOSH creates and deploys virtual machines (VMs) on top of a physical computing infrastructure, and deploys and runs Cloud Foundry on top of this cloud.
  3. The CF Cloud Controller runs the applications and other processes on the cloud’s VMs, balancing demand and managing app lifecycles.
  4. The (Go)router routes incoming traffic from the world to the VMs that are running the applications that the traffic demands, usually working with a customer-provided load balancer.
  5. two types of VM:
    Component VMs that constitute the platform’s infrastructure
    Application VMs that host apps for the outside world.
    Jerry: still other kinds of VM: Cloud Controller VM, router VM.
  6. Within CF, the Diego system distributes the hosted app load over all of the Application VMs, and keeps it running and balanced through

demand surges,

outages, or other changes. Diego accomplishes this through an auctionalgorithm.
007. To meet demand, multiple Application VMs run duplicate instances of the same application. This means that apps must be portable.
008. CF distributes source code to VM, VM is responsible to compile and run app locally.
This includes the

OS stack that the application runs on, and a

buildpack containing all languages, libraries, and services that the app uses.
New terminology

  1. IaaS
  2. AWS
  3. vSphere
  4. OpenStack
  5. resilience
  6. BOSH
  7. demand surge - insurance terminology?
  8. outage: a period when a power supply or other service is not available or when equipment is closed down.
  9. Diego system
  10. auction ( algorithm ): 拍卖; 竞卖; 标售; (桥牌) 拍卖玩法
  11. droplet: Before sending an app to a VM, the Cloud Controller stages it for delivery by combining stack, buildpack, and source code into a droplet that the VM can unpack, compile, and run.
    For simple, standalone apps with no dynamic pointers, the droplet can contain a pre-compiled executable instead of source code, language, and libraries.
    Jerry: Binary files?
  12. UAA: The User Authentication and Authorization server supports access control as an OAuth2 service, and can store user information internally or connect to external user stores
    through LDAP or SAML.
  13. NATS message: Cloud Foundry components communicate with each other by posting messages internally using http and https protocols, and by sending NATS messages to each other directly.
  14. Firehose: 就是log. You can use all of the output of the Firehose, or direct the output to specific uses, such as monitoring system internals or analyzing user behavior, by applying nozzles.
  15. Service Broker: Typical applications depend on free or metered services such as databases or third-party APIs. To incorporate these into an application, a developer writes a Service Broker, an API that publishes to the Cloud Controller the ability to list service offerings, provision the service, and enable applications to make calls out to it.
  16. stage
  17. buildpack
  18. blobstore: The Cloud Controller stores the application package in the blobstore.
  19. cell: The Cloud Controller issues a staging request to Diego, which then schedules a Cell to run the staging Task.
  20. Grails
  21. Groovy
  22. Gradle要获取更多Jerry的原创文章,请关注公众号"汪子熙":