0% found this document useful (0 votes)
44 views6 pages

Docker Project - Part 2

The document outlines the requirements for Part 2 of a Docker project in a CPSY 300 Operating Systems course, focusing on enhancing a RESTful API by adding a PUT endpoint, managing Docker containers, and deploying to Azure. It includes detailed procedures for code updates, Docker deployment, CPU scheduling on Windows and Ubuntu, and final submission requirements. Students must compile their work into a PDF, include high-resolution screenshots, and provide a video explanation for evaluation.

Uploaded by

maleksameer715
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views6 pages

Docker Project - Part 2

The document outlines the requirements for Part 2 of a Docker project in a CPSY 300 Operating Systems course, focusing on enhancing a RESTful API by adding a PUT endpoint, managing Docker containers, and deploying to Azure. It includes detailed procedures for code updates, Docker deployment, CPU scheduling on Windows and Ubuntu, and final submission requirements. Students must compile their work into a PDF, include high-resolution screenshots, and provide a video explanation for evaluation.

Uploaded by

maleksameer715
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

CPSY 300

Operating Systems

Docker Project: Part 2 of 4 parts

Weight: 12.5% Marks: /100

Student Name:

Student ID:

Date:
This page was intentionally left blank.
Table of Contents
Extending RESTful API, CPU Scheduling, and Docker Deployment with Azure ..........................2

Introduction ............................................................................................................................ 2

Procedure............................................................................................................................... 2

Extension Tasks ..................................................................................................................... 3

Final Submission Requirements ............................................................................................. 4

You should include the following items in a single ZIP folder: ................................................. 4

Marking Criteria ...................................................................................................................... 4

© 2022, Southern Alberta Institute of Technology i


Extending RESTful API, CPU Scheduling, and Docker
Deployment with Azure
Introduction
In this part 2 you will enhance your knowledge of RESTful API from Project Part 1 by adding a
PUT endpoint for updating student data. It introduces Docker container management and CPU
scheduling on both Windows 10 and Ubuntu platforms. Additionally, it requires deploying the
Docker container to Azure, providing experience with cloud-based deployment and management
using Azure services. Through this assignment part, you'll explore multi-process environment
management and cloud-based scalability. To ensure thoroughness and clarity, you include all
relevant screenshots and details in your submission. Such screenshots must be high resolution
and must include what is asked to be eligible for marks. Compile your final submission into a
single PDF file.

Procedure
• Code content: Provide the updated RESTful API code, including the new PUT endpoint
and any modifications to the Dockerfile.
• Compilation and execution: Describe how to compile and run the updated code and
include screenshots showing successful compilation and execution.
• Docker deployment: Document the steps for building the Docker image and deploying
the container locally. Commands (docker build -t …, docker run -p …, …) and
include screenshots of the build process and the containers running.
• Database container connection: Explain how to connect to the database container.
Commands (docker network inspect …, docker exec -it …, …) and provide
screenshots demonstrating a successful connection to the database and interaction with
the database interface.
• Database record selection: Describe how to query and retrieve records from the
database. Commands (SELECT * FROM …) and include screenshots showing the queries
and the results.
• Postman screenshots (PUT and POST requests) and include screenshots of POST
and PUT requests with request bodies and responses as well as screenshots of
successful POST and PUT requests and a PUT request with a non-existent student ID.
• CPU scheduling management: Document the CPU scheduling management steps for
both Windows 10 and Ubuntu. Windows 10 Commands (open Task Manager, locate the
Docker container processes, right-click the process, select Set Priority, and adjust the
CPU priority). Ubuntu Commands (use htop or top to monitor processes, renice -n
<priority_value> -p <process_id> to adjust CPU priority) and provide screenshots
showcasing CPU scheduling adjustments for both operating systems.

© 2022, Southern Alberta Institute of Technology 2


• Docker deployment to Azure: Login to Azure. Command (az login) and create Azure
Container Registry (ACR). Command (az acr create --resource-group …). Tag and
push Docker image to ACR. Commands (docker tag …, docker push …). Create App
Service Plan. Command (az appservice plan create ….). Deploy Docker container
to Azure Web App. Command (az webapp create …). Configure Azure Web App to
use ACR credentials. Command (az webapp config container set …). Once the
web app is deployed, access it at: https://<WebAppName>.azurewebsites.net.
Include screenshots of the following:
o ACR creation and image push process.
o App Service Plan creation.
o Successful container deployment and web app access.
• Optional: If any issues were encountered during the project, document the debugging
process. Include relevant error logs and troubleshooting steps, along with screenshots.

Extension Tasks
Task 1: Implement PUT endpoint (20 Marks)

• Add a PUT endpoint to update student records and test the endpoint using Postman and
provide screenshots of successful updates (HTTP 200) and failed updates with a non-
existent student ID (HTTP 404). Verify and provide a screenshot of the updated
database record.
Task 2: Deploy two Docker containers (20 Marks)

• Build and run two instances of the RESTful API on separate ports. Command (docker
run -d -p …). Include screenshots showing both containers running, along with the
Docker commands used.
Task 3: CPU scheduling on Windows 10 (25 Marks)

• Create two Docker containers running on different ports. Use the Task Manager to
locate the container processes and adjust their CPU priorities (e.g., "High", "Normal", or
"Low") and provide screenshots of the priority changes and CPU usage.
• Write a brief analysis (2+ lines) on the performance impact.
Task 4: CPU scheduling on Ubuntu (25 Marks)

• Create two Docker containers running on different ports and use tools like top or htop to
monitor the containers and adjust CPU priorities using commands like renice (lower
niceness values mean higher priority) and then provide screenshots of process priorities
before and after changes.
Task 5: Deploy Docker image to Azure (optional)

© 2022, Southern Alberta Institute of Technology 3


• Log into Azure, create an Azure ACR, tag the Docker image, push the image to ACR
and provide screenshots.
• Create an App Service Plan, deploy the container using ACR credentials, and access
the app via the web URL and provide screenshots of the deployment steps and web
access.

Final Submission Requirements


You should include the following items in a single ZIP folder:
• PDF Document:
• Compile all screenshots and all code snippets into one comprehensive PDF file.
• Ensure that all screenshots are high-resolution, with clear and readable text that
meets the criteria for eligible marks.
• Video Explanation:
• Record a short video explaining each screenshot. Ensure your face is visible in
the video for a personal touch.
• References:
• List all references used in this assignment.

Marking Criteria
Item Marks
Implementation of PUT method (correctness, testing, documentation) /20
Deployment of two Docker containers (successful deployment and /20
documentation)
CPU scheduling on Windows 10 (priority adjustment and impact analysis) /25
CPU scheduling on Ubuntu (priority adjustment and outcome /25
documentation)
A short video /5
References /5
Total Marks /100

© 2022, Southern Alberta Institute of Technology 4

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy