
TCSS 562: SE for Cloud Computing [Spring 2018] 4/2/2018 Institute of Technology, UW-Tacoma TCSS 562: OBJECTIVES SOFTWARE ENGINEERING FOR CLOUD COMPUTING Cloud Computing Concepts and Models . Roles and boundaries . Cloud characteristics Cloud Computing . Cloud delivery models Concepts and Models . Cloud deployment models Wes J. Lloyd Term project proposal Institute of Technology University of Washington - Tacoma TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 L3.2 Institute of Technology, University of Washington - Tacoma SELECT FEEDBACK FROM 3/26 FEEDBACK FROM 3/28 Is vertical scaling, increasing the size of the CPU like VMs? What is a “sunk cost”? . From economics… And is horizontal scaling increasing the number of VMs? What is elasticity (a cloud characteristic)? Why is horizontal scaling in the cloud cost effective? What is hyper-threading? What is resilience? From the IaaS performance comparison, what is the “m- bound” vs. “d-bound” application? TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 L3.3 April 2, 2018 L3.4 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma FEEDBACK - 2 FEEDBACK - 3 What are the implications of over-provisioning? What is a Native Cloud Application? . From the cloud provider’s perspective Reference: https://thenewstack.io/cloud-native-architecture- one-stack-many-options/ . From the cloud consumer’s perspective The architecture is microservice-based What is the border line between PaaS and IaaS? . Loosely coupled systems are easier to build, deploy and update It is automated . Continuous integration/continuous delivery (CICD), automated configuration management — everything is automated. DevOps drives it . The people who build an application also run that application. No more throwing applications over the wall. TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 L3.5 April 2, 2018 L3.6 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma Slides by Wes J. Lloyd L3.1 TCSS 562: SE for Cloud Computing [Spring 2018] 4/2/2018 Institute of Technology, UW-Tacoma CLOUD NATIVE APPLICATION - 2 FEEDBACK - 4 Cloud native implies container native With all of the tight coupling between the items Fast: Containers launch much faster than VMs (e.g. AWS Lambda, Dynamo DB, etc.) are cloud because containers on the same host share an OS (and VM). application build with these technologies still . Containers don’t wait for an OS to boot… considered as “Native Cloud”? Lightweight: Because containers are lightweight, more can be hosted on a single host (VM) . Linux does a good job of providing resource isolation. Consistent: Because containers package together dependencies, it is easier to run containerized applications consistently across different host environments. TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 L3.7 April 2, 2018 L3.8 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma OBJECTIVES ROLES REVIEW Cloud Computing Concepts and Models Cloud provider . Roles and boundaries Cloud consumer . Cloud characteristics Cloud service owner . Cloud delivery models Cloud resource administrator Cloud auditor . Cloud deployment models Cloud brokers Cloud carriers Term project proposal TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 L3.9 April 2, 2018 L3.10 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma OBJECTIVES CLOUD CHARACTERISTICS Cloud Computing Concepts and Models On-demand usage . Roles and boundaries Ubiquitous access . Cloud characteristics Multitenancy (resource pooling) . Cloud delivery models Elasticity . Cloud deployment models Measured usage Term project proposal Resiliency Assessing these features helps measure the value offered by a given cloud service or platform TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 L3.11 April 2, 2018 L3.12 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma Slides by Wes J. Lloyd L3.2 TCSS 562: SE for Cloud Computing [Spring 2018] 4/2/2018 Institute of Technology, UW-Tacoma OBJECTIVES EXAMPLE CLOUD SERVICES Cloud Computing Concepts and Models . Roles and boundaries . Cloud characteristics . Cloud delivery models . Cloud deployment models Term project proposal TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 L3.13 April 2, 2018 L3.14 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma SERVERLESS COMPUTING SERVERLESS COMPUTING - 2 New cloud platform for hosting application code Many challenging features of distributed systems are provided automatically Every cloud vendor provides their own: . AWS Lambda, Azure Functions, Google Cloud Functions, Built into the platform: IBM OpenWhisk Highly availability (24/7) Similar to platform-as-a-service Scalability Replace opensource web container (e.g. Apache Tomcat) with abstracted vendor-provided Fault tolerance black-box environment TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 15 L3.15 April 2, 2018 16 L3.16 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma SERVERLESS SOFTWARE SERVERLESS COMPUTING ARCHITECTURE BILLING MODELS Every service with a different pricing model AWS Lambda Pricing FREE TIER: first 1,000,000 function calls/month FREE first 400 GB-sec/month FREE Afterwards: obfuscated pricing (AWS Lambda): $0.0000002 per request Price obfuscation deployment confusion $0.000000208 to rent 128MB / 100-ms TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 17 L3.17 Nov. 17, 2017 L3.18 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma Slides by Wes J. Lloyd L3.3 TCSS 562: SE for Cloud Computing [Spring 2018] 4/2/2018 Institute of Technology, UW-Tacoma PRICING EXAMPLE PRICING EXAMPLE Consider a continuously running webservice Consider a continuously running webservice Each service call requires 1-second of 100% CPU utilization, Each service call requires 1-second of 100% CPU utilization, and 4GB of memory and 4GB of memory Renting an m4.large 2-vCPU Virtual Machine this workload can Renting an m4.large 2-vCPU Virtual Machine this workload can be hosted for $72/month be hostedWorst-case for $72/month scenario = 4.8x ! m4.large costs 10¢ an hour, 24 hours/day, m4.largeAWS costs EC2: 10¢ an hour,$72.00 24 hours/day, 30 days/month AWS Lambda: $346.51 30 days/month How much would costing this workload on AWS Lambda cost? How much would costing this workload on AWS Lambda cost? TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 19 L3.19 April 2, 2018 20 L3.20 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma MICROSERVICE MEMORY AWS LAMBDA IMPLEMENTATION RESERVATION QUESTION… Microservice code deployed to individual container-like Memory must be environment reserved for functions Service requests routed to “containers” by the Lambda UI provides a “slider platform bar” to set the AWS API Gateway provides a REST URL, and routing function’s memory Containers run on virtual machines, presumably EC2 instances (c4 series?) allocation CPU power also coupled to the slider bar: every doubling of memory, doubles CPU… But how much memory does code require? TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 21 L3.21 April 2, 2018 22 L3.22 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma FAAS CODE DISAGGREGATION LAMBDA@EDGE How should legacy application code be decomposed into microservices? Lambda function limits: All source files and libraries must fit into: 64MB compressed, 256MB uncompressed What are the implications for cost based on how we disaggregate code into individual functions? How does this impact # of invocations and memory utilization? TCSS562: Software Engineering for Cloud Computing [Spring 2018] TCSS562: Software Engineering for Cloud Computing [Spring 2018] April 2, 2018 23 L3.23 April 2, 2018 24 L3.24 Institute of Technology, University of Washington - Tacoma Institute of Technology, University of Washington - Tacoma Slides by Wes J. Lloyd L3.4 TCSS 562: SE for Cloud Computing [Spring 2018] 4/2/2018 Institute of Technology, UW-Tacoma SOFTWARE-AS-A-SERVICE Software applications as shared cloud service Nearly all server infrastructure management
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages7 Page
-
File Size-