-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add contents for the Cloud Computing course #189
base: main
Are you sure you want to change the base?
Add contents for the Cloud Computing course #189
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @ansarrafique, thanks for starting off the cloud computing section! Could you make some of the text more concise, and add dependency linkages using dependsOn
(see https://github.com/UNIVERSE-HPC/course-material/blob/main/CONTRIBUTING.md#section-metadata), at the moment it less clear which section follows what.
Courses also usually contain challenges and solutions, to make the course more interactive. These could test comprehension of introduced concepts, ask for a code snippet to do something, etc. It would be good to have some of them to align with other courses.
|
||
## Cloud Computing: A High-Level Overview | ||
|
||
Cloud computing refers to the delivery of computing services —including servers, storage, databases, networking, software, analytics, and intelligence— over the Internet ("the cloud") to offer faster innovation, flexible resources, and economies of scale. It enables organizations to access resources without the need to own or manage physical infrastructure, allowing them to innovate rapidly, adapt to changing workloads, and grow efficiently while minimizing costs. By leveraging the cloud, organizations can focus more on delivering value and less on managing IT infrastructure, enhancing their ability to compete in an increasingly digital world. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
insert space on either side of hyphen
@@ -0,0 +1,76 @@ | |||
--- | |||
name: Introduction to Cloud Computing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would generally shorten this introduction section. Benefits/drawbacks of cloud are well known at this point, and having a couple of paragraphs should be enough.
|
||
1. Clone the repository from GitHub: | ||
```bash | ||
git clone https://github.com/Oxford-Research-Cloud-Competency-Centre/image-processing-app.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a license to the repo?
|
||
### Prerequisites | ||
|
||
In addition to the prerequisites covered in **Integrating AWS Services with the Local Application** (e.g., Git, Python, Pip, Docker, AWS CLI), you will also need to install and configure the **AWS Elastic Beanstalk CLI** (`awsebcli`). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add link to the markdown file here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use h2 level here
|
||
In addition to the prerequisites covered in **Integrating AWS Services with the Local Application** (e.g., Git, Python, Pip, Docker, AWS CLI), you will also need to install and configure the **AWS Elastic Beanstalk CLI** (`awsebcli`). | ||
|
||
> **Note:** Before setting up Elastic Beanstalk, make sure that the **AWS CLI** is installed and configured with valid credentials. This includes your **AWS Access Key ID**, **AWS Secret Access Key**, and **Default region name**. These credentials are essential for interacting with AWS services, including Elastic Beanstalk. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
notes are written using callouts, see https://github.com/UNIVERSE-HPC/course-material/blob/main/CONTRIBUTING.md#callout-directive
learningOutcomes: | ||
--- | ||
|
||
### Image Processing Application Using S3 and DynamoDB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use h2/h3 hierarchy instead of just h3s
|
||
2. You will be prompted to enter the following information: | ||
|
||
- **AWS Access Key ID:** This is a key that allows you to access AWS services. You can obtain it by logging into the AWS Management Console, navigating to Identity and Access Management (IAM), and creating a new user with programmatic access. Once created, the Access Key ID will be provided to you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a screenshot here?
To verify that the AWS CLI is correctly configured, try listing your S3 buckets: | ||
|
||
```bash | ||
aws s3 ls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there any buckets created at this point?
|
||
- **Object Ownership** defines the access control behavior for objects uploaded to the bucket. By default, Amazon disables Access Control Lists (ACLs), which is the recommended approach for most use cases as it simplifies permissions management. Disabling ACLs ensures that the bucket owner automatically owns all objects, even if they are uploaded by different AWS accounts. | ||
|
||
#### Block Public Access: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This information is repeated in app_migrate_to_aws.md
. I would keep info in one of them and link to that.
|
||
The course was structured into three main parts: | ||
|
||
1. **Local Application Setup**: We started with an **Application Use Case Overview** of a local image processing application built with **Flask** to handle the web interface and **SQLite** to store metadata locally. This setup introduced you to fundamental processes like file handling, image processing, and metadata management in a Python-based application. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add links to course parts
This PR introduces a new Cloud Computing course covering key concepts, practical applications, and hands-on examples. It includes a structured outline and exercises focused on AWS services like EC2, S3, DynamoDB, and Elastic Beanstalk, aimed at helping learners build skills in cloud technologies.