~bkerensa/openstack-manuals/fix-for-920457

« back to all changes in this revision

Viewing changes to doc/target/docbkx/webhelp/trunk/openstack-object-storage/admin/content/cloud-provider-conceptual-architecture.html

  • Committer: Benjamin Kerensa
  • Date: 2012-03-23 01:06:13 UTC
  • Revision ID: bkerensa@ubuntu.com-20120323010613-kpimmw7hgn3yh12i
Fixed Typo in Manual Strings LP: #920457

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
                                      |
39
39
                                        <a accesskey="u" class="navLinkUp" onclick="_gaq.push(['_trackEvent', 'Header', 'upLink', 'click', 1]);" tabindex="5" href="openstack-architecture-overview.html">Up</a>
40
40
                                  |
41
 
                                    <a accesskey="n" class="navLinkNext" onclick="_gaq.push(['_trackEvent', 'Header', 'nextLink', 'click', 1]);" tabindex="5" href="openstack-nova-logical-architecture.html">Next</a></td></tr></table></div></div><div id="content"><div class="statustext"> </div><div class="section" title="Cloud Provider Conceptual Architecture"><div xmlns="" class="titlepage"><div><div><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="cloud-provider-conceptual-architecture"/>Cloud Provider Conceptual Architecture</h3></div><div><div xmlns="http://www.w3.org/1999/xhtml" class="author"><h3 class="author"><span class="firstname">Ken</span>, <span class="lineage">Pepple</span></h3></div></div></div></div><p>Imagine that we are going to build our own IaaS cloud and offer it to customers. To achieve this, we would need to provide several high level features:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Allow application owners to register for our cloud services, view their usage and see their bill (basic customer relations management functionality)</p></li><li class="listitem"><p>Allow Developers/DevOps folks to create and store custom images for their applications (basic build-time functionality)</p></li><li class="listitem"><p>Allow DevOps/Developers to launch, monitor and terminate instances (basic run-time functionality)</p></li><li class="listitem"><p>Allow the Cloud Operator to configure and operate the cloud infrastructure</p></li></ol></div><p>While there are certainly many, many other features that we would need to offer (especially if we were to follow are more complete industry framework like <a class="link" href="http://www.tmforum.org/BusinessProcessFramework/1647/home.html" target="_top">eTOM</a>), these four get to the very heart of providing IaaS. Now assuming that you agree with these four top level features, you might put together a conceptual architecture that looks something like this:</p><div class="informalfigure"><div class="mediaobject"><img src="../figures/nova-cactus-conceptual.png"/></div></div><p>In this model, I’ve imagined four sets of users (developers, devops, owners and operators)
 
41
                                    <a accesskey="n" class="navLinkNext" onclick="_gaq.push(['_trackEvent', 'Header', 'nextLink', 'click', 1]);" tabindex="5" href="openstack-nova-logical-architecture.html">Next</a></td></tr></table></div></div><div id="content"><div class="statustext"> </div><div class="section" title="Cloud Provider Conceptual Architecture"><div xmlns="" class="titlepage"><div><div><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="cloud-provider-conceptual-architecture"/>Cloud Provider Conceptual Architecture</h3></div><div><div xmlns="http://www.w3.org/1999/xhtml" class="author"><h3 class="author"><span class="firstname">Ken</span>, <span class="lineage">Pepple</span></h3></div></div></div></div><p>Imagine that we are going to build our own IaaS cloud and offer it to customers. To achieve this, we would need to provide several high level features:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Allow application owners to register for our cloud services, view their usage and see their bill (basic customer relations management functionality)</p></li><li class="listitem"><p>Allow Developers/DevOps folks to create and store custom images for their applications (basic build-time functionality)</p></li><li class="listitem"><p>Allow DevOps/Developers to launch, monitor and terminate instances (basic run-time functionality)</p></li><li class="listitem"><p>Allow the Cloud Operator to configure and operate the cloud infrastructure</p></li></ol></div><p>While there are certainly many, many other features that we would need to offer (especially if we were to follow a more complete industry framework like <a class="link" href="http://www.tmforum.org/BusinessProcessFramework/1647/home.html" target="_top">eTOM</a>), these four get to the very heart of providing IaaS. Now assuming that you agree with these four top level features, you might put together a conceptual architecture that looks something like this:</p><div class="informalfigure"><div class="mediaobject"><img src="../figures/nova-cactus-conceptual.png"/></div></div><p>In this model, I’ve imagined four sets of users (developers, devops, owners and operators)
42
42
                that need to interact with the cloud and then separated out the functionality needed
43
43
                for each. From there, I’ve followed a pretty common tiered approach to the
44
44
                architecture (presentation, logic and resources) with two orthogonal areas
45
 
                (integration and management). Let’s explore each a little further: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>As with presentation layers in more typical application architectures, components here interact with users to accept and present information. In this layer, you will find web portals to provide graphical interfaces for non-developers and API endpoints for developers. For more advanced architectures, you might find load balancing, console proxies, security and naming services present here also.</p></li><li class="listitem"><p>The logic tier would provide the intelligence and control functionality for our cloud. This tier would house orchestration (workflow for complex tasks), scheduling (determining mapping of jobs to resources), policy (quotas and such) , image registry (metadata about instance images), logging (events and metering). </p></li><li class="listitem"><p>There will need to integration functions within the architecture. It is assumed that most service providers will already have a customer identity and billing systems. Any cloud architecture would need to integrate with these systems.</p></li><li class="listitem"><p>As with any complex environment, we will need a management tier to operate the environment. This should include an API to access the cloud administration features as well as some forms of monitoring. It is likely that the monitoring functionality will take the form of integration into an existing tool. While I’ve highlighted monitoring and an admin API for our fictional provider, in a more complete architecture you would see a vast array of operational support functions like provisioning and configuration management.</p></li><li class="listitem"><p>Finally, since this is a compute cloud, we will need actual compute, network and storage resources to provide to our customers. This tier provides these services, whether they be servers, network switches, network attached storage or other resources.</p></li></ul></div><p>With this model in place, let’s shift gears and look at OpenStack Compute’s logical
 
45
                (integration and management). Let’s explore each a little further: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>As with presentation layers in more typical application architectures, components here interact with users to accept and present information. In this layer, you will find web portals to provide graphical interfaces for non-developers and API endpoints for developers. For more advanced architectures, you might find load balancing, console proxies, security and naming services present here also.</p></li><li class="listitem"><p>The logic tier would provide the intelligence and control functionality for our cloud. This tier would house orchestration (workflow for complex tasks), scheduling (determining mapping of jobs to resources), policy (quotas and such) , image registry (metadata about instance images), logging (events and metering). </p></li><li class="listitem"><p>There will need to be integration functions within the architecture. It is assumed that most service providers will already have a customer identity and billing systems. Any cloud architecture would need to integrate with these systems.</p></li><li class="listitem"><p>As with any complex environment, we will need a management tier to operate the environment. This should include an API to access the cloud administration features as well as some forms of monitoring. It is likely that the monitoring functionality will take the form of integration into an existing tool. While I’ve highlighted monitoring and an admin API for our fictional provider, in a more complete architecture you would see a vast array of operational support functions like provisioning and configuration management.</p></li><li class="listitem"><p>Finally, since this is a compute cloud, we will need actual compute, network and storage resources to provide to our customers. This tier provides these services, whether they be servers, network switches, network attached storage or other resources.</p></li></ul></div><p>With this model in place, let’s shift gears and look at OpenStack Compute’s logical
46
46
                    architecture.</p></div><script type="text/javascript" src="../common/main.js"><!----></script><hr/><div id="disqus_thread"><script type="text/javascript">
47
47
              var disqus_shortname = 'openstackdocs';         
48
48
            </script><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript><script type="text/javascript" src="../common/comments.js"><!----></script></div><hr/><div class="legal"><a href="index.html">Legal notices</a></div></div><div><div id="leftnavigation" style="padding-top:3px; background-color:white;"><div id="tabs"><ul><li><a href="#treeDiv" tabindex="1"><span class="contentsTab">Contents</span></a></li><li><a href="#searchDiv" tabindex="1"><span class="searchTab">Search</span></a></li></ul><div id="treeDiv"><img src="../common/images/loading.gif" alt="loading table of contents..." id="tocLoading" style="display:block;"/><div id="ulTreeDiv" style="display:none" class="thisisthat"><ul id="tree" class="filetree"><li tabindex="2"><span class="file"><a href="ch_getting-started-with-openstack.html">1. Getting Started with OpenStack</a></span><ul><li tabindex="2"><span class="file"><a href="what-is-openstack.html">What is OpenStack?</a></span></li><li tabindex="2"><span class="file"><a href="components-of-openstack.html">Components of OpenStack</a></span></li><li tabindex="2"><span class="file"><a href="openstack-architecture-overview.html">OpenStack Project Architecture Overview</a></span><ul><li tabindex="2" id="webhelp-currentid"><span class="file"><a href="cloud-provider-conceptual-architecture.html">Cloud Provider Conceptual Architecture</a></span></li><li tabindex="2"><span class="file"><a href="openstack-nova-logical-architecture.html">OpenStack Compute Logical Architecture</a></span></li><li tabindex="2"><span class="file"><a href="nova-conceptual-mapping.html">Nova Conceptual Mapping</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="why-cloud.html">Why Cloud?</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="ch_introduction-to-openstack-object-storage.html">2. Introduction to OpenStack Object Storage</a></span><ul><li tabindex="2"><span class="file"><a href="accounts-and-account-servers.html">Accounts and Account Servers</a></span></li><li tabindex="2"><span class="file"><a href="authentication-and-access-permissions.html">Authentication and Access Permissions</a></span></li><li tabindex="2"><span class="file"><a href="containers-and-objects.html">Containers and Objects</a></span></li><li tabindex="2"><span class="file"><a href="operations.html">Operations</a></span></li><li tabindex="2"><span class="file"><a href="language-specific-api-bindings.html">Language-Specific API Bindings</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="ch_installing-and-configuring-openstack-object-storage.html">3. Installing and Configuring OpenStack Object Storage</a></span><ul><li tabindex="2"><span class="file"><a href="object-storage-system-requirements.html">System Requirements</a></span></li><li tabindex="2"><span class="file"><a href="installing-openstack-object-storage-on-ubuntu.html">Installing OpenStack Object Storage on Ubuntu</a></span><ul><li tabindex="2"><span class="file"><a href="before-you-begin-swift-install.html">Before You Begin</a></span></li><li tabindex="2"><span class="file"><a href="example-installation-architecture-swift.html">Example Installation Architecture</a></span></li><li tabindex="2"><span class="file"><a href="network-setup-notes.html">Network Setup Notes</a></span></li><li tabindex="2"><span class="file"><a href="general-installation-steps-swift.html">General Installation Steps </a></span></li></ul></li><li tabindex="2"><span class="file"><a href="configuring-openstack-object-storage.html">Configuring OpenStack Object Storage </a></span><ul><li tabindex="2"><span class="file"><a href="installing-and-configuring-auth-node.html">Installing and Configuring an Auth Node</a></span></li><li tabindex="2"><span class="file"><a href="installing-and-configuring-the-proxy-node.html">Installing and Configuring the Proxy Node</a></span></li><li tabindex="2"><span class="file"><a href="installing-and-configuring-storage-nodes.html">Installing and Configuring the Storage Nodes</a></span><ul><li tabindex="2"><span class="file"><a href="verify-swift-installation.html">Create OpenStack Object Storage admin Account and Verify the Installation</a></span></li><li tabindex="2"><span class="file"><a href="adding-a-proxy-server.html">Adding an Additional Proxy Server</a></span></li><li tabindex="2"><span class="file"><a href="troubleshooting-notes.html">Troubleshooting Notes</a></span></li></ul></li></ul></li></ul></li><li tabindex="2"><span class="file"><a href="ch_running-openstack-object-storage.html">4. System Administration for OpenStack Object Storage</a></span><ul><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html">Understanding How Object Storage Works</a></span><ul><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html#the-ring">The Ring</a></span></li><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html#d6e549">Proxy Server</a></span></li><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html#object-server">Object Server</a></span></li><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html#container-server">Container Server</a></span></li><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html#d6e562">Account Server</a></span></li><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html#swift-replication">Replication</a></span></li><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html#updaters">Updaters</a></span></li><li tabindex="2"><span class="file"><a href="understanding-how-object-storage-works.html#auditors">Auditors</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="configuring-and-tuning-openstack-object-storage.html">Configuring and Tuning OpenStack Object Storage</a></span></li><li tabindex="2"><span class="file"><a href="preparing-the-ring.html">Preparing the Ring</a></span></li><li tabindex="2"><span class="file"><a href="server-configuration-reference.html">Server Configuration Reference</a></span><ul><li tabindex="2"><span class="file"><a href="object-server-configuration.html">Object Server Configuration</a></span></li><li tabindex="2"><span class="file"><a href="container-server-configuration.html">Container Server Configuration</a></span></li><li tabindex="2"><span class="file"><a href="account-server-configuration.html">Account Server Configuration</a></span></li><li tabindex="2"><span class="file"><a href="proxy-server-configuration.html">Proxy Server Configuration</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="considerations-and-tuning.html">Considerations and Tuning</a></span><ul><li tabindex="2"><span class="file"><a href="memcached-considerations.html">Memcached Considerations</a></span></li><li tabindex="2"><span class="file"><a href="system-time.html">System Time</a></span></li><li tabindex="2"><span class="file"><a href="general-service-tuning.html">General Service Tuning</a></span></li><li tabindex="2"><span class="file"><a href="filesystem-considerations.html">Filesystem Considerations</a></span></li><li tabindex="2"><span class="file"><a href="general-system-tuning.html">General System Tuning</a></span></li><li tabindex="2"><span class="file"><a href="logging-considerations.html">Logging Considerations</a></span></li><li tabindex="2"><span class="file"><a href="working-with-rings.html">Working with Rings</a></span><ul><li tabindex="2"><span class="file"><a href="managing-rings-with-the-ring-builder.html">Managing Rings with the Ring Builder</a></span><ul><li tabindex="2"><span class="file"><a href="about-the-ring-data-structure.html">About the Ring Data Structure</a></span><ul><li tabindex="2"><span class="file"><a href="list-of-devices-in-the-ring.html">List of Devices in the Ring</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="partition-assignment-list.html">Partition Assignment List</a></span></li><li tabindex="2"><span class="file"><a href="partition-shift-value.html">Partition Shift Value</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="building-the-ring.html">Building the Ring</a></span></li><li tabindex="2"><span class="file"><a href="history-of-the-ring-design.html">History of the Ring Design</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="the-account-reaper.html">The Account Reaper</a></span><ul><li tabindex="2"><span class="file"><a href="account-reaper-background-and-history.html">Account Reaper Background and History</a></span></li></ul></li></ul></li><li tabindex="2"><span class="file"><a href="replication.html">Replication</a></span><ul><li tabindex="2"><span class="file"><a href="database-replication.html">Database Replication</a></span></li><li tabindex="2"><span class="file"><a href="object-replication.html">Object Replication</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="managing-large-objects.html">Managing Large Objects (Greater than 5 GB)</a></span><ul><li tabindex="2"><span class="file"><a href="using-swift-to-manage-segmented-objects.html">Using swift to Manage Segmented Objects</a></span></li><li tabindex="2"><span class="file"><a href="direct-api-management-of-large-objects.html">Direct API Management of Large Objects</a></span></li><li tabindex="2"><span class="file"><a href="additional-notes-on-large-objects.html">Additional Notes on Large Objects</a></span></li><li tabindex="2"><span class="file"><a href="large-object-storage-history-and-background.html">Large Object Storage History and Background</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="throttling-resources-by-setting-rate-limits.html">Throttling Resources by Setting Rate Limits</a></span><ul><li tabindex="2"><span class="file"><a href="configuration-for-rate-limiting.html">Configuration for Rate Limiting</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="configuring-openstack-object-storage-with-s3_api.html">Configuring Object Storage with the S3 API</a></span></li><li tabindex="2"><span class="file"><a href="managing-openstack-object-storage-with-swift-cli.html">Managing OpenStack Object Storage with CLI Swift</a></span><ul><li tabindex="2"><span class="file"><a href="swift-cli-basics.html">Swift CLI Basics</a></span><ul><li tabindex="2"><span class="file"><a href="swift-cli-basics.html#d6e1623">stat [container] [object]</a></span></li><li tabindex="2"><span class="file"><a href="swift-cli-basics.html#d6e1626">list [options] [container]</a></span></li><li tabindex="2"><span class="file"><a href="swift-cli-basics.html#d6e1629">upload [options] container file_or_directory [file_or_directory] […]</a></span></li><li tabindex="2"><span class="file"><a href="swift-cli-basics.html#d6e1632">post [options] [container] [object]</a></span></li><li tabindex="2"><span class="file"><a href="swift-cli-basics.html#d6e1636">download —all OR download container [object] [object] …</a></span></li><li tabindex="2"><span class="file"><a href="swift-cli-basics.html#d6e1639">delete —all OR delete container [object] [object] …</a></span></li><li tabindex="2"><span class="file"><a href="swift-cli-basics.html#d6e1643">Options for swift</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="analyzing-log-files-with-swift-cli.html">Analyzing Log Files with Swift CLI</a></span></li></ul></li></ul></li><li tabindex="2"><span class="file"><a href="ch_openstack-object-storage-tutorials.html">5. OpenStack Object Storage Tutorials</a></span><ul><li tabindex="2"><span class="file"><a href="storing-large-photos-or-videos-on-the-cloud.html">Storing Large Photos or Videos on the Cloud</a></span><ul><li tabindex="2"><span class="file"><a href="part-i-setting-up-secure-access.html">Part I: Setting Up Secure Access</a></span></li><li tabindex="2"><span class="file"><a href="part-ii-configuring-cyberduck.html">Part II: Configuring Cyberduck</a></span></li><li tabindex="2"><span class="file"><a href="part-iii-copying-files.html">Part III: Creating Containers (Folders) and Uploading Files</a></span></li></ul></li></ul></li><li tabindex="2"><span class="file"><a href="ch_support-and-troubleshooting.html">6. Support and Troubleshooting</a></span><ul><li tabindex="2"><span class="file"><a href="community-support.html">Community Support</a></span><ul><li tabindex="2"><span class="file"><a href="community-support.html#d6e1732">The Launchpad Answers area</a></span></li><li tabindex="2"><span class="file"><a href="community-support.html#d6e1737">OpenStack mailing list</a></span></li><li tabindex="2"><span class="file"><a href="community-support.html#d6e1742">The OpenStack Wiki search </a></span></li><li tabindex="2"><span class="file"><a href="community-support.html#d6e1746">The Launchpad Bugs area </a></span></li><li tabindex="2"><span class="file"><a href="community-support.html#d6e1762">The OpenStack IRC channel </a></span></li></ul></li><li tabindex="2"><span class="file"><a href="troubleshooting-openstack-object-storage.html">Troubleshooting OpenStack Object Storage</a></span><ul><li tabindex="2"><span class="file"><a href="handling-drive-failure.html">Handling Drive Failure</a></span></li><li tabindex="2"><span class="file"><a href="handling-server-failure.html">Handling Server Failure</a></span></li><li tabindex="2"><span class="file"><a href="detecting-failed-drives.html">Detecting Failed Drives</a></span></li></ul></li><li tabindex="2"><span class="file"><a href="troubleshooting-openstack-compute.html">Troubleshooting OpenStack Compute</a></span><ul><li tabindex="2"><span class="file"><a href="log-files-for-openstack-compute.html">Log files for OpenStack Compute</a></span></li><li tabindex="2"><span class="file"><a href="common-errors-and-fixes-for-openstack-compute.html">Common Errors and Fixes for OpenStack Compute</a></span></li></ul></li></ul></li></ul></div></div><div id="searchDiv"><div id="search"><form onsubmit="Verifie(ditaSearch_Form);return false" name="ditaSearch_Form" class="searchForm"><fieldset class="searchFieldSet"><legend>Search</legend><center><input id="textToSearch" name="textToSearch" type="text" class="searchText"/> &nbsp; <input onclick="Verifie(ditaSearch_Form)" type="button" class="searchButton" value="Go" id="doSearch"/></center></fieldset></form></div><div id="searchResults"><center/></div><p class="searchHighlight"><a href="#" onclick="toggleHighlight()">Search Highlighter (On/Off)</a></p></div></div></div></div></body></html>
 
 
b'\\ No newline at end of file'