OpenStack 组成 架构
Components of OpenStack
OpenStack is on a mission: to provide scalable, elastic cloud computing for both public and private clouds, large and small. There are currently seven core components of OpenStack: Compute, Object Storage, Identity, Dashboard, Block Storage, Network and Image Service.
• Object Store (codenamed "Swift") provides object storage. It allows you to store or retrieve files (but not mount directories like a fileserver). Several companies provide commercial storage services based on Swift.
• Image (codenamed "Glance") provides a catalog and repository for virtual disk images. These disk images are mostly commonly used in OpenStack Compute. While this service is technically optional, any cloud of size will require it.
• Compute (codenamed "Nova") provides virtual servers upon demand. Rackspace and HP provide commercial compute services built on Nova and it is used internally at companies like Mercado Libre and NASA (where it originated).
• Dashboard (codenamed "Horizon") provides a modular web-based user interface for all the OpenStack services. With this web GUI, you can perform most operations on your cloud like launching an instance, assigning IP addresses and setting access controls.
• Identity (codenamed "Keystone") provides authentication验证 and authorization授权 for all the OpenStack services. It also provides a service catalog of services within a particular OpenStack cloud.
• Network (codenamed "Quantum") provides "network connectivity as a service" between interface devices managed by other OpenStack services (most likely Nova). The service works by allowing users to create their own networks and then attach interfaces to them. OpenStack Network has a pluggable architecture to support many popular networking vendors and technologies.
• Block Storage (codenamed "Cinder") provides persistent block storage to guest VMs.
Conceptual Architecture 概念架构
The OpenStack project as a whole is designed to deliver a massively scalable cloud operating system. To achieve this, each of the constituent services are designed to work together to provide a complete Infrastructure as a Service (IaaS). This integration is facilitated促进 through public application programming interfaces (APIs) that each service offers (and in turn can consume).
Conceptually, you can picture the relationships between the services as so:
• Dashboard ("Horizon") provides a web front end to the other OpenStack services
• Compute ("Nova") stores and retrieves virtual disks ("images") and associated metadata in Image ("Glance")
• Network ("Quantum") provides virtual networking for Compute.
• Block Storage ("Cinder") provides storage volumes for Compute.
• Image ("Glance") can store the actual virtual disk files in the Object Store("Swift")
• All the services authenticate with Identity ("Keystone")