Software Engineering for Cloud Computing [Fall 2019] School of Engineering and Technology, UW-Tacoma

Software Engineering for Cloud Computing [Fall 2019] School of Engineering and Technology, UW-Tacoma

TCSS 562: Software Engineering for Cloud Computing [Fall 2019] School of Engineering and Technology, UW-Tacoma TCSS 562: OBJECTIVES SOFTWARE ENGINEERING FOR CLOUD COMPUTING Syllabus and course introduction Cloud Computing – How did we get here? Introduction Introduction to parallel and distributed systems (Marinescu Ch. 2 - 1st edition, Ch. 4 - 2nd edition) Wes J. Lloyd School of Engineering and Technology University of Washington - Tacoma TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 L1.2 School of Engineering and Technology, University of Washington - Tacoma 1 2 TCSS562 – SOFTWARE ENGINEERING DEMOGRAPHICS SURVEY FOR CLOUD COMPUTING Please complete the ONLINE demographics survey: Syllabus online at: http://faculty.washington.edu/wlloyd/courses/tcss562/ https://forms.gle/dE4Q7Lt13rAXtahJ9 Grading Linked from course webpage in Canvas: http://faculty.washington.edu/wlloyd/courses/tcss562/ Schedule announcements.html Assignments TCSS562: Software Engineering for Cloud Computing [Fall 2019] TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 L1.3 September 25, 2019 L1.4 School of Engineering and Technology, University of Washington - Tacoma School of Engineering and Technology, University of Washington - Tacoma 3 4 REFERENCES REFERENCES - 2 [1] Cloud Computing: Concepts, Technology and Architecture* [4] Systems Performance: Enterprise and the Cloud * Thomas Erl, Prentice Hall 2013 Brendan Gregg, First Edition 2013 [2] Cloud Computing - Theory and Practice [5] AWS Administration – The Definitive Guide * Dan Marinescu, First Edition 2013 *, Second Edition 2018 Yohan Wadia, First Edition 2016 [3] Cloud Computing: Research papers A Hands-On Approach Arshdeep Bahga 2013 * - available online via UW library * - available online via UW library TCSS562: Software Engineering for Cloud Computing [Fall 2019] TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 L1.5 September 25, 2019 L1.6 School of Engineering and Technology, University of Washington - Tacoma School of Engineering and Technology, University of Washington - Tacoma 5 6 Slides by Wes J. Lloyd L1.1 TCSS 562: Software Engineering for Cloud Computing [Fall 2019] School of Engineering and Technology, UW-Tacoma TCSS 562 – Fall 2019 Mondays/Wednesdays TCS562 COURSE WORK . Lecture, midterm, quiz, activities . No class: Monday Nov 11 TCSS 562 Project Proposal Class online: Wednesday Nov 27 FALL . Key Topics: 2019 Project Status Reports / Activities / Quiz . IaaS, Virtualization, Serverless computing, FaaS, Containerization . ~ 2-4 total items (??) . Variety of formats: in class, online, reading, activity Tutorials . Lab Day: Tutorials, group project work Midterm No Final exam . Open book, note, etc. Midterm Wednesday October 30th (tentative) Class Presentation Term Project: Build and evaluate alternate implementations of a native cloud serverless application; or group proposed Term Project / Paper / Presentation cloud research project TCSS562: Software Engineering for Cloud Computing [Fall 2019] TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 September 25, 2019 L1.8 School of Engineering and Technology, University of Washington - Tacoma L1.7 School of Engineering and Technology, University of Washington - Tacoma 7 8 CLASS PRESENTATION TCS562 TERM PROJECT Each student will make one presentation in a team of ~3 Project description to be posted Teams of ~3, self formed, one project leader Technology sharing presentation Proposal due: Friday October 11, 11:59pm (tentative) . PPT Slides, demonstration Focus: . Provide technology overview of one cloud service offering . Build a native cloud serverless application . Present overview of features, performance, etc. Compose multiple FaaS functions (services) . Compare alternate implementation of: Cloud Research Paper Presentation . Service compositions . PPT slides, identify research contributions, strengths and . Application flow control - AWS Step Functions, laptop client, etc. weaknesses of paper, possible areas for future work . External cloud components (e.g. database, key-value store) . How does application design impact cost and performance? TCSS562: Software Engineering for Cloud Computing [Fall 2019] TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 L1.9 September 25, 2019 L1.10 School of Engineering and Technology, University of Washington - Tacoma School of Engineering and Technology, University of Washington - Tacoma 9 10 TCSS562 TERM PROJECT - 2 ALTERNATE TERM PROJECT IDEAS Deliverables GOAL: propose cloud development project that serves as a vehicle to compare and contrast the use of alternative cloud . Demo in class at end of quarter (TBD) services . Project report paper (4-6 pgs IEEE format, template Examples: provided) Object/blob storage services . GitHub (project source) . Amazon S3, Google blobstore, Azure blobstore, vs. self-hosted . How-To document (via GitHub markdown) Cloud Relational Database services . Amazon Relational Database Service (RDS), Aurora, Self-Hosted DB Platform-as-a-Service hosting (PaaS) alternatives . Amazon Elastic Beanstalk, Heroku, others Function-as-a-Service platforms . Google Cloud Functions, Azure Functions, IBM Cloud Functions TCSS562: Software Engineering for Cloud Computing [Fall 2019] TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 L1.11 September 25, 2019 L1.12 School of Engineering and Technology, University of Washington - Tacoma School of Engineering and Technology, University of Washington - Tacoma 11 12 Slides by Wes J. Lloyd L1.2 TCSS 562: Software Engineering for Cloud Computing [Fall 2019] School of Engineering and Technology, UW-Tacoma TERM PROJECT IDEAS - 2 TERM PROJECT: RESEARCH File-based storage systems Alternative: conduct a cloud-related research project on any . Amazon EBS, Amazon EFS, others topic to answer a set of research questions Container orchestration services . Can be used to help spur MS Capstone/Thesis work . Amazon ECS, AKS, Azure Kubernetes Service If you’re interested in this option, please talk with the Queueing services comparison instructor . Amazon SQS, Amazon MQ, Apache Kafka, RabbitMQ, 0Mq, others First step is to identify 1 – 2 research questions NoSQL database services comparison . DynamoDB, Google BigTable, MongoDB, Cassandra Instructor will help guide projects throughout the quarter Approval based on team preparedness to execute project TCSS562: Software Engineering for Cloud Computing [Fall 2019] TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 L1.13 September 25, 2019 L1.14 School of Engineering and Technology, University of Washington - Tacoma School of Engineering and Technology, University of Washington - Tacoma 13 14 PROJECT SUPPORT TCSS562 TERM PROJECT OPPORTUNITIES Project cloud infrastructure support: Projects can lead to papers or posters presented at Sign up for the Github Student Developer Pack: ACM/IEEE/USENIX conferences, workshops . https://education.github.com/pack . Includes up to $150 in Amazon Cloud Credits . Networking and travel opportunity . Includes up to $100 in Microsoft Azure Credits . Conference participation (posters, papers) . AWS credit extensions provided as needed helps differentiate your resume from others Microsoft Azure for Students . $100 free credit per account valid for 1 year Project can support preliminary work for: . https://azure.microsoft.com/en-us/free/students/ UWT - MS capstone/thesis project proposals . Also: $200 free credit option for 1 month Google Cloud Research projects provide valuable practicum experience . $300 free credit for 1 year with cloud systems analysis, prototyping . https://cloud.google.com/free/ Chameleon / CloudLab Publications are key for building your resume/CV, . Bare metal NSF cloud - free Also key if applying to PhD programs TCSS562: Software Engineering for Cloud Computing [Fall 2019] TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 L1.15 September 25, 2019 L1.16 School of Engineering and Technology, University of Washington - Tacoma School of Engineering and Technology, University of Washington - Tacoma 15 16 TCSS562 TERM PROJECT - 3 OBJECTIVES Project status report / term project check-ins Cloud Computing: How did we get here? . Written status report . Parallel and distributed systems . 2-3 times in quarter (Marinescu Ch. 2 - 1st edition, Ch. 4 - 2nd edition) . Part of: “Project Status Reports / Activities / Quizzes” . Data, thread-level, task-level parallelism category . Parallel architectures . 10% of grade . SIMD architectures, vector processing, multimedia extensions Project meetings with instructor . Graphics processing units . After class, end half of class, office hours . Speed-up, Amdahl's Law, Scaled Speedup . Properties of distributed systems . Modularity TCSS562: Software Engineering for Cloud Computing [Fall 2019] TCSS562: Software Engineering for Cloud Computing [Fall 2019] September 25, 2019 L1.17 September 25, 2019 L1.18 School of Engineering and Technology, University of Washington - Tacoma School of Engineering and Technology, University of Washington - Tacoma 17 18 Slides by Wes J. Lloyd L1.3 TCSS 562: Software Engineering for Cloud Computing [Fall 2019] School of Engineering and Technology, UW-Tacoma CLOUD COMPUTING: HOW DID WE GET HERE? General interest in parallel computing . Moore’s Law - # of transistors doubles every 18 months . Post

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us