CIS 92: Cloud Infrastructure and Operations#

Time:

Thursdays 1:00pm to 5:05pm

Room:

Aptos Room 828 and Online

Lab:

Open Lab - 1 hour per week TBA

Units:

4

Book:
The Linux Command Line (Optional, Free)
William Shotts No Starch Press
ISBN-13 9781593279523
Links:

Course Calendar#

1. Welcome#

  • Get cloud credit

  • Connect to cloud shell

2. The Dev environment#

  • Describe common development environments

  • Install and customize vscode

  • Run docker

3. The Role of Keys#

  • Describe how keys are used for authentication

  • Authenticate your computer with Google

  • Create a git repository

Prep:

4. Docker Containers#

  • Describe the purpose of a container

  • Start and stop a container

  • Customize a container

Prep:

5. The Dockerfile#

  • Plan a Dockerized build

  • Use the most common Dockerfile commands

  • Authenticate with a repository

Prep:

6. Docker Networking#

  • Expose a container port

  • Connect containers together

  • Create a private network

Prep:

7. Docker Storage#

  • Identify stateful applications

  • Create a bind mount

  • Create a volume mount

Prep:

8. Introduction to Kubernetes#

  • Describe the purpose of Kubernetes

  • Install kubectl

  • Deploy a pod locally

Prep:

9. Building Pods and Services#

  • Organize containers into pods

  • Write a service definition

  • List service types

Prep:

10. Kubernetes Storage#

  • Write a persistent volume claim

  • Inspect a persistent volume

  • Describe the available storage classes

Prep:

11. The Domain Name System#

  • Describe how IP addresses are resolved

  • Create a custom domain

  • Connect services using cloud DNS

Prep:

12. Building Kubernetes Clusters#

  • Install Kubernetes on a VM

  • Use Google Kubernetes Engine

  • Manage keys and configs

Prep:

13. Package Management with helm#

  • Find a Helm chart

  • Customize a Helm chart

Prep:

14. Fault Tolerance and Scale#

  • Plan a resilient application

  • Make a deployment from a pod template

  • Choose a DBMS to fit your needs

Prep:

Course Description#

Teaches how to deploy scalable infrastructure in the cloud, including how to build, test, and deploy Docker containers; Dockerize network services; and integrate containers with storage, databases, DNS, auto-scaling, and load balancers. Students will build fault-tolerant applications using a leading cloud provider (e.g. Amazon AWS, Microsoft Azure, or Google Cloud Platform). Prepares students for associate-level certifications such as AWS Certified Solutions Architect, AWS SysOps Administrator, and Microsoft Azure Administrator AZ-103. May be provided in a distance-learning format.

Student Learner Outcomes#

  1. Containerize and deploy an application in the cloud.

  2. Document the structure, costs and deployment of a containerized application.

Objectives#

  1. Describe cloud infrastructure as it relates to system operations, such as global infrastructure, core services, and account security.

  2. Make decisions based on recommended architectural principles and best practices.

  3. Identify best practices prescribed in the Well-Architected framework.

  4. Use the management interface, command line interface, and understand additional administration and development tools.

  5. Manage, secure, and scale compute instances in the cloud.

  6. Manage, secure, and scale configurations.

  7. Identify container services and services that are available for serverless computing.

  8. Manage, secure, and scale databases in the cloud.

  9. Build and configure virtual private networks.

  10. Configure and manage storage options using the various storage services offered in the cloud.

  11. Monitor the health of your cloud infrastructure.

  12. Manage cloud resource usage.

  13. Create and configure automated and repeatable deployments with tools.

Grading Policy#

Your grade in the class is based on your completion of project milestones. Each milestone represents a level of functionality and is graded on a pass/fail basis. A failed milestone should be resubmitted until it passes. The table describes the level of functionality and corresponding letter grade.

Grade

Functionality

C

You have an application deployed on a custom domain. The application data is ephemeral. This represents a proof of concept but not a production ready application.

B

Your application is production ready but not necessarily scalable. Data is stored in a persistent volume or managed service.

A

Your production application has been improved with one or more of the following:

  1. A scalable application using a Deployment

  2. Deploy your own database using a StatfulSet

  3. A heterogeneous application deployed using an Ingress

  4. A managed DNS zone with automatic updates.

  5. A certificate that’s issued automatically using cert-manager

COVID-19 Policy#

Students must conduct an illness/health self-assessment each day they visit campus which includes the questions below. If you answer YES to any of these, you should not come to campus and should contact me for further guidance.

  • Are you currently experiencing a fever? Is your temperature 100 degrees Fahrenheit or higher?

  • Do you have a headache, chills, body aches, or fatigue? Are you experiencing any respiratory symptoms such as cough, shortness of breath, difficulty breathing, sore throat, congestion, or runny nose? Have you lost your sense of smell or taste?

  • Do you have nausea, vomiting, or diarrhea?

By attending this course, you acknowledge that you are aware of the Cabrillo College COVID-19 Prevention Plan and Safe Reopening Plan and agree to abide by the guidelines therein to preserve the safety of yourself and others. You further understand that you will be asked to leave campus if you fail to adhere to the guidelines provided.

TBA (To Be Arranged) Lab Hours#

This course meets weekly at the times shown in the Cabrillo Schedule of Classes and above. In addition each student is required to spend lab time every week in either the CIS Lab (room 830) or online using one of the online accounts issued to you. Students may choose the time and day for their TBA Lab Hours where they will work on lab assignments designed to give them practical hands-on experience and continue the learning process. These TBA lab hours are required and tracked. It is the student’s responsibility to complete the TBA lab hours, which start on Week 1 of the term. Tip: A great time to do TBA lab hours is in the CIS Lab during my STEM hours. If that is not possible, questions can always be posted on the class discussion group.

Class Pacing and Due Dates#

Assignments are due most weeks during the term. Each class builds on the previous class so it’s important to keep up with the assignments. Keeping pace with the lectures will help you get the most out of in-class lab activities. However, I would much rather you do an assignment late than not at all. Late work will be accepted until a reasonable amount of time before the end of the semester. There will be a nominal penalty for late assignments.

If you have an emergency that prevents you from submitting assignments on time, please email me for an accommodation.

Classroom Etiquette#

It is important to have an effective, distraction-free classroom environment for learning. To minimize distractions all cell-phones should be turned off or at least silenced. Never carry on conversations during the lecture as this is probably the most annoying distraction possible to those sitting nearby.

For students in the physical classroom, computers can be turned on for viewing lecture slides locally, Google-ing related technical information, and doing classroom exercises. A student’s full attention is desired so the computers should not be used during lecture for email or anything that would distract them or others from the material being taught.

For students in the virtual classroom, use the “Raise hand” icon in CCC Confer to let the instructor know you have a question. The chat window can be used to ask questions and communicate with the instructor or other classmates. For students dialing in please use *6 on your phone to mute/unmute your line so background noises in your location don’t distract the class.

Please plan on coming to all classes. If class will be missed let the instructor know ahead of time. It is the student’s responsibility to get any missed material or information from other classmates (the forum is a good way to do this). Please note that being disruptive is grounds for being dropped from the class by the instructor.

Academic Conduct#

Instructors at Cabrillo will not tolerate any forms of academic dishonesty. We do not accept remarkably similar assignments. Students who engage in violations of academic integrity (cheating, plagiarizing print or electronic sources, copying computer files, web site content) as outlined in Cabrillo’s Student Rights and Responsibilities document are subject to disciplinary action by the instructor including receiving an “F” for the assignment, being dropped from the course with a “W” or being issued an “F” for the course.

Missing Classes and Drops#

It is the student’s responsibility to officially withdraw from classes. If you miss more than two classes or two lab assignments, the instructor may drop you from the course enrollment unless prior arrangements have been made and agreed to.

Nondescrimination and Accessibility Notice#

The District is committed to equal opportunity in educational programs, employment, and all access to institutional programs and activities. The District, and each individual who represents the District, shall provide access to its services, classes, and programs without regard to national origin, religion, age, gender, gender identity, gender expression, race or ethnicity, color, medical condition, genetic information, ancestry, sexual orientation, marital status, physical or mental disability, pregnancy, or military and veteran status, or because he/she is perceived to have one or more of the foregoing characteristics, or based on association with a person or group with one or more of these actual or perceived characteristics.

Students needing accommodations should inform the instructor. As required by the Americans with Disabilities Act (ADA), accommodations are provided to insure equal access for students with verified disabilities. To determine if you qualify or if you need assistance with an accommodation, please contact the ACCESSIBILITY SUPPORT CENTER (Formerly DSPS), Room 1073 (upstairs in the Library), (831) 479-6379 or (831) 479-6370.

Support Services#

Cabrillo College has many programs and services designed to help you during your academic journey. You can visit the website at www.cabrillo.edu for a complete listing of support services (under the Student Services tab). Please take advantage of the services provided to you by the college.

Financial Aid#

Cabrillo College provides several financial aid opportunities for students. For tuition and/or book assistance information, go to Cabrillo’s Financial Aid page.

Student Rights and Responsibilities#

You are expected to contribute to a positive learning environment. Your responsibilities as a student include:

  • Respect for your fellow students, staff, and faculty

  • Actively participating in the learning environment

  • Taking responsibility for learning and progressing in your course

  • Requesting assistance from the instructor when needed

  • Adhere to all academic integrity principles

  • Reading and understanding the Cabrillo Student Rights and Responsibilities Handbook. (the student grievance procedure is outlined beginning on pg. 18 of the handbook).

  • Following all school policies and procedures (All policies and procedures can be found at Cabrillo’s Board Policies and Administrative Procedures page).

Safety#

Cabrillo College is committed to providing a safe and secure campus environment. The college will not tolerate acts of harassment or violence. For campus safety and security information, go to the Sheriff’s page. To report an incident or complaint, please go to the Just Report It page on the website: Just Report It.