Teaching Cloud Infrastructure and Scalable Application Deployment in an Undergraduate Computer Science Program
- URL: http://arxiv.org/abs/2410.01032v1
- Date: Tue, 1 Oct 2024 19:49:19 GMT
- Title: Teaching Cloud Infrastructure and Scalable Application Deployment in an Undergraduate Computer Science Program
- Authors: Aditya Saligrama, Cody Ho, Benjamin Tripp, Michael Abbott, Christos Kozyrakis,
- Abstract summary: Students commonly interact with cloud abstractions early in their technical careers.
Building cloud-native applications without a firm understanding of the fundamentals of cloud engineering can leave students susceptible to cost and security pitfalls common to cloud platforms.
Our course featured a number of hands-on assignments that gave students experience with modern, best-practice concepts and tools such as IaC, containerization, observability, serverless computing, and continuous integration and deployment.
- Score: 2.8912542516745168
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Making successful use of cloud computing for deploying scalable web applications requires nuanced approaches to both system design and deployment methodology, involving reasoning about the elasticity, cost, and security models of cloud services. Students commonly interact with cloud abstractions early in their technical careers, including during internships and academic research. Building cloud-native applications without a firm understanding of the fundamentals of cloud engineering can leave students susceptible to cost and security pitfalls common to cloud platforms. Yet, cloud computing is not commonly taught at the undergraduate level, because the technology and practices behind modern cloud deployment, such as containerization and infrastructure-as-code (IaC), have only recently matured into a set of general principles independent from specific providers' offerings. To address this gap, we designed an undergraduate-level course around these principles that framed cloud infrastructure deployment as a software engineering practice in support of scalable web applications, emphasizing the value of both cloud deployment and application design skills in building robust cloud-native systems. Our course featured a number of hands-on assignments that gave students experience with modern, best-practice concepts and tools such as IaC, containerization, observability, serverless computing, and continuous integration and deployment. We describe the design of the course, our experience teaching its initial offering in Winter 2024, and provide our reflections on what worked well and potential areas for improvement. Our course material is publicly available at https://infracourse.cloud.
Related papers
- Exploring Security Practices in Infrastructure as Code: An Empirical
Study [54.669404064111795]
Cloud computing has become popular thanks to the widespread use of Infrastructure as Code (IaC) tools.
scripting process does not automatically prevent practitioners from introducing misconfigurations, vulnerabilities, or privacy risks.
Ensuring security relies on practitioners understanding and the adoption of explicit policies, guidelines, or best practices.
arXiv Detail & Related papers (2023-08-07T23:43:32Z) - Integrating Homomorphic Encryption and Trusted Execution Technology for
Autonomous and Confidential Model Refining in Cloud [4.21388107490327]
Homomorphic encryption and trusted execution environment technology can protect confidentiality for autonomous computation.
We propose to integrate these two techniques in the design of the model refining scheme.
arXiv Detail & Related papers (2023-08-02T06:31:41Z) - Cloud-Native Computing: A Survey from the Perspective of Services [41.25934971576225]
Cloud-native computing is the most influential development principle for web applications.
This paper surveys key issues during the life-cycle of cloud-native applications from the perspective of services.
arXiv Detail & Related papers (2023-06-26T03:32:35Z) - Managing Cold-start in The Serverless Cloud with Temporal Convolutional
Networks [0.0]
Serverless cloud is an innovative cloud service model that frees customers from most cloud management duties.
A big threat to the serverless cloud's performance is cold-start, which is when the time of provisioning the needed cloud resource to serve customers' requests incurs unacceptable costs to the service providers and/or the customers.
This paper proposes a novel low-coupling, high-cohesion ensemble policy that addresses the cold-start problem at infrastructure- and function-levels of the serverless cloud stack.
arXiv Detail & Related papers (2023-04-01T21:54:22Z) - CWD: A Machine Learning based Approach to Detect Unknown Cloud Workloads [3.523208537466129]
We develop a machine learning based technique to characterize, profile and predict workloads running in the cloud environment.
We also develop techniques to analyze the performance of the model in a standalone manner.
arXiv Detail & Related papers (2022-11-28T19:41:56Z) - Measuring the Carbon Intensity of AI in Cloud Instances [91.28501520271972]
We provide a framework for measuring software carbon intensity, and propose to measure operational carbon emissions.
We evaluate a suite of approaches for reducing emissions on the Microsoft Azure cloud compute platform.
arXiv Detail & Related papers (2022-06-10T17:04:04Z) - Edge-Cloud Polarization and Collaboration: A Comprehensive Survey [61.05059817550049]
We conduct a systematic review for both cloud and edge AI.
We are the first to set up the collaborative learning mechanism for cloud and edge modeling.
We discuss potentials and practical experiences of some on-going advanced edge AI topics.
arXiv Detail & Related papers (2021-11-11T05:58:23Z) - Auto-Split: A General Framework of Collaborative Edge-Cloud AI [49.750972428032355]
This paper describes the techniques and engineering practice behind Auto-Split, an edge-cloud collaborative prototype of Huawei Cloud.
To the best of our knowledge, there is no existing industry product that provides the capability of Deep Neural Network (DNN) splitting.
arXiv Detail & Related papers (2021-08-30T08:03:29Z) - Machine Learning Algorithms for Active Monitoring of High Performance
Computing as a Service (HPCaaS) Cloud Environments [0.0]
This paper explores the viability of engineering applications running on a cloud infrastructure configured as an HPC platform.
The engineering applications considered in this work include MCNP6, a radiation transport code developed by Los Alamos National Laboratory, OpenFOAM, an open source computational fluid dynamics code, and CADONFS, a numerical implementation of the general number field sieve algorithm used for prime number factorization.
arXiv Detail & Related papers (2020-09-26T01:29:19Z) - A Privacy-Preserving Distributed Architecture for
Deep-Learning-as-a-Service [68.84245063902908]
This paper introduces a novel distributed architecture for deep-learning-as-a-service.
It is able to preserve the user sensitive data while providing Cloud-based machine and deep learning services.
arXiv Detail & Related papers (2020-03-30T15:12:03Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.