Architecture in the Cloud commons.wikimedia/wiki/File:Above
19 Slides1.22 MB
Architecture in the Cloud https://commons.wikimedia.org/wiki/File:Above the Clouds.jpg
Origin of the term “Cloud Computing”* “Comes from the early days of the Internet where we drew the network as a cloud we didn’t care where the messages went the cloud hid it from us” – Kevin Marks, Google First cloud around networking (TCP/IP abstraction) Second cloud around documents (WWW data abstraction) The emerging cloud abstracts infrastructure complexities of servers, applications, data, and heterogeneous platforms (“muck” as Amazon’s CEO Jeff Bezos calls it) *Architectural Implications of Cloud Computing, SATURN 2011, May 18, 2011, 2011 Carnegie Mellon University Jeff Bezos’ quote: http://news.cnet.com/8301-13953 3-9977100-80.html?tag mncol Kevin Marks quote: http://news.cnet.com/8301-13953 3-9938949-80.html?tag mncol video interview 2
What is Cloud computing? External compute resources No assets owned Access delivered over the network Clients are ‘tenants’, not owners Scalable w/o purchasing new equipment Ideally dynamic Financial model is by usage (vs. by asset)
A shift On Premises ASP1 ASP2 ASP3 Elastic, Multi-tenant
Cloud Service Models Cloud Infrastructure as a Service (IaaS) Rent processing, storage, network capacity, and other fundamental computing resources Basically a hosted, rented data-center Cloud Platform as a Service (PaaS) Deploy customer-created applications to a cloud Frameworks and platforms (OS, Management, Core storage and replication are provided) Cloud Software as a Service (SaaS) Use provider’s applications over a network You buy the whole thing! https://www.bigcommerce.com/blog/saas-vs-paas-vs-iaas/#the-key-differences-between-on-premise-saas-paas-iaas
Visually Cloud Infrastructure SaaS PaaS IaaS
Cloud Deployment models There are multiple deployment models to fit business needs Public Cloud For the masses Private Cloud Enterprise owned, but using Cloud Technology Can be local, or remote (but segregated) Hybrid Cloud Combines Public and Private
The NIST Cloud Definition Framework Hybrid Clouds Deployment Models Service Models Community Cloud Private Cloud Software as a Service (SaaS) Public Cloud Platform as a Service (PaaS) Infrastructure as a Service (IaaS) On Demand Self-Service Essential Characteristics Common Characteristics Broad Network Access Rapid Elasticity Resource Pooling Measured Service Massive Scale Resilient Computing Homogeneity Geographic Distribution Virtualization Service Orientation Low Cost Software Advanced Security 8
Cloud Revenue Models Common revenue models for As-a-Service Charge per unit of ‘consumption’ Charge per component (or feature/ feature set) per unit of time Charge per user per unit of time All tend to be ‘per unit of time (X)’ where X is typically a time based factor Per hour/ day/ week etc. This is a major change to the cost of acquisition and cost of doing business A shift from Capex to Opex
Terms Defined CAPEX OPEX Asset is ‘owned’. No ownership of asset One time purchase (an Expense) You pay for Costs of Usage (aka Operation) Costs can be capitalized over time (hence ‘CapEx’) When operation ceases, you don’t pay any more The owner is responsible for ongoing maintenance
Model vs adoption (1) Charge per unit of consumption Usually done for IaaS (infrastructure as a service) E.g. Bandwidth (kb/ month); CPU (unit/ hour) Works best with things are controllable by the provider; tightly measured; legitimately provable (auditable) Requires effort to establish tools, methods, and billing to do this
Model vs adoption (2) Charge per component or feature set (per month or other) Commonly used for software-as-a-service Low cost of entry for small set of features Allows customer to ‘try at low cost’ before they fully commit Allows provider to onboard and prove value earlier/ faster Allows up-sell after customer shows satisfaction
Model vs adoption (3) Charge per user per month (or other unit of time) Commonly used for software-as-a-service Frequently used in combination with ‘feature bundles’ Logical and understandable to customers Allows revenue to scale as more adoption occurs Fairly easy to track & bill
Examples Infrastructure Providers Service Providers Amazon, Microsoft Netflix, Spotify You pay for: You pay for: - Service Instance - Membership - Network packets in/ out - Tiers of service - Additional modules/ functions
Challenges for Cloud adoption Many challenges have been overcome with time, but the common concerns remain Security Performance Availability Integration (with other systems) Customizability Cost Loss of control 15
Directions in Cloud Architecture Next Generation Cloud Computing: New Trends and Research Directions Future Generation Computer Systems Volume 79, Part 3, February 2018, Pages 849-861
Emerging Service Models Heterogeneous computing – the cloud becomes a much richer environment with a wider selection of resources available. Acceleration as a Service Cloud Providers move from generic hardware to a richer variety of hardware accelerators – GPUs, FPGAs, and custom ASICs such as Tensor Processing Units. Container as a Service The basic resource becomes a container as opposed to a virtual machine e.g. Docker Function as a Service Serverless computing – resources are only used on-demand to run a function. There is no VM being held by the user. e.g. Lambdas
Emerging Deployment Models Micro-Cloud: Support computing models where latency is a concern, edge or fog computing Ad-Hoc Cloud: Users/organizations make available underutilized resources. Social Cloud computing – users interested in a cause share resources Volunteer computing – owners make available their extra-capacity with no guarantees of long term availability Many issues need to be resolved before this sees wide adoption: Security Device entering and leaving at random points in time Compensation for usage, energy, cell data, etc
Continued Evolution of Computing Centralized mainframes to smaller department computers to desktop models Cloud computing reversed this trend pushing for consolidation of resources. Addressing issues of cost and maintenance. New models are now evolving that push processing from the cloud back closer to the user. Even with the current push towards edge computing, a huge amount of compute power goes underutilized in each person’s pocket. A typical cell phone’s usage is at most 25%, leaving lots of cycle wasted. Can this resource be leveraged? And, if so, how will the owner be compensated? Or will needs and usage patterns change drastically in the coming years and necessitate new models of computing.