cloud computing and
play

Cloud Computing, and REST-based Architectures Reid Holmes REID - PowerPoint PPT Presentation

Material and some slide content from: - Software Architecture: Foundations, Theory, and Practice - Krzysztof Czarnecki Cloud Computing, and REST-based Architectures Reid Holmes REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE Cloud


  1. Material and some slide content from: - Software Architecture: Foundations, Theory, and Practice - Krzysztof Czarnecki Cloud Computing, and REST-based Architectures Reid Holmes

  2. REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  3. Cloud precursors ‣ Grid Computing: ‣ Combination of computing resources from multiple administrative domains applied to common tasks. ‣ Usually used to create ‘super computers’ that can work on specific parallel computation tasks. ‣ Utility Computing: ‣ Combining computation, storage, and services metered like utilities. REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  4. Cloud Computing ‣ “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management e ff ort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.” [NIST] REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  5. NIST Essential Characteristics ‣ On-demand self-service: ‣ Consumers can provision computing capabilities without human interaction. ‣ Broad network access: ‣ Capabilities are available over the network through standard mechanisms. ‣ Resource pooling: ‣ Computing resources are pooled to serve multiple consumers. ‣ Location independence. [perfomance/security] REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  6. NIST Essential Characteristics ‣ Rapid elasticity ‣ Resources can be easily added and removed. ‣ Measured service [services and/or resources] ‣ Metering of storage, processing, bandwidth, etc. REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  7. Benefits ‣ Agility [quickly respond to changes] ‣ Scalability [resources can be added, peak load] ‣ Cost [resources can be released; multi-tenancy (amortization)] ‣ Reliability [di ff erent sites, experts in control] ‣ Security [works both ways] REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  8. Cloud Layers ‣ SaaS (e.g., Google Docs) [multi-tenancy, single release for all users] ‣ Vendor-controlled remote applications. ‣ Concerns: control, performance, security, privacy. ‣ PaaS (e.g., AppEngine) ‣ Vendor-controlled environment. ‣ Concerns: as for SaaS w/ limited technology choices. ‣ IaaS (e.g., Amazon EC2) ‣ Vendor-provided resources; consumer provisions VM. ‣ Concerns: more expertise needed to leverage flexibility. REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  9. Cloud Spectrum REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  10. Layers of Control =5><%?3" B%3#"8 =))( /))( ())( 0";7%@A"5# 0";7%@A"5# C7%?8 C7%?8 C7%?8 0)#) 0)#) 0)#) 0)#) 0)#) .// .// .// .// .// ,- ,- ,- ("&+12"3 ("&+12"3 ("&+"& ("&+"& ("&+"& ("&+"& ("&+"& (#%&)*" (#%&)*" (#%&)*" (#%&)*" (#%&)*" !"#$%&' !"#$%&' !"#$%&' !"#$%&' !"#$%&' 4&*)516)#1%5 4&*)516)#1%59:93"&+12"9 ("&+12"9/&%+18"& 2%5#&%77"8 ;&%+18"&93<)&"92%5#&%7 2%5#&%77"8 DEF9 !"#$%&"'"()*+,-*./$(0%1"-#*/2*3/(+1/&*"(*+,-*3&/$04*5-6*78894* <##;GHH'32%##A%&&13%5I2%AHJKKLHEJHKEH+13?)71615*>#<">M%?58)&1"3>%N>2%5#&%7>15>#<">27%?8H REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  11. Cloud Security NFPs ‣ Users want assurances of: ‣ Confidentiality [keep unauthorized users out] ‣ Integrity [data has not altered] ‣ Authenticity [data provenance] ‣ Anonymity [users are unidentifiable] ‣ Privacy [user data is properly controlled] ‣ Data remanence is problematic: ‣ How can you purge data from the cloud? REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  12. REST ‣ Representational state transfer (REST) ‣ Key constraints: ‣ Client/server ‣ Servers to not maintain session state ‣ Clients must not depend on direct server access ‣ Clients communicate using a uniform interface ‣ e.g., URIs and self-descriptive payloads REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

  13. REST Operations ‣ Four main operations: GET, POST, PUT, DELETE ‣ Operation can change functionality: ‣ GET /resources/ —> list resources ‣ PUT /resources/ —> replace resources ‣ POST /resources/ —> append to resources ‣ DELETE /resources/ —> delete resources ‣ URIs are often versioned: ‣ /api/v2.0/list/ ‣ /api/v3.0/list/ ‣ REST endpoints enable direct testing: ‣ e.g., curl --include https://api.github.com/users/rtholmes REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend