CIS 92: Cloud Infrastructure and Operations#

Time:

Thursdays 1:20pm to 5:25pm

Room:

Aptos Room 829 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. Google Cloud Overview#

  • Describe the structure of the cloud

  • Describe how keys are used for authentication

  • Authenticate your computer with Google

Prep:

3. The Dev environment#

  • Describe common development environments

  • Install necessary software components

  • Run docker

Prep:

4. Web Applications#

  • Write a web application

  • Describe the connection between routes and URLs

  • Launch a development server

Prep:

5. Docker Containers#

  • Describe the purpose of a container

  • Start and stop a container

  • Customize a container

Prep:

6. The Dockerfile#

  • Plan a Dockerized build

  • Use the most common Dockerfile commands

  • Authenticate with a repository

Prep:

7. Introduction to Kubernetes#

  • Describe the purpose of Kubernetes

  • Install kubectl

  • Deploy a Pod resource

Prep:

8. Building Pods and Services#

  • Organize containers into pods

  • Write a Service resource

  • List service types

Prep:

9. Application Configuration#

  • Identify application configuration data

  • Use the environment to configure an application

  • Create a ConfigMap and Secret

Prep:

10. Durable Storage#

  • Write a persistent volume claim

  • Inspect a persistent volume

  • Describe the available storage classes

Prep:

11. Package Management with Helm#

  • Find a Helm chart

  • Customize a Helm chart

  • Deploy application components using Helm

Prep:

12. Scalable Workloads#

  • Identify the scalable workload resources

  • Make a Deployment from a Pod resource

  • Perform application updates

Prep:

13. Autoscaling and Health Checks#

  • Describe how autoscaling is configured

  • Write a health check

Prep:

14. Networking and DNS#

  • Describe how host names are resolved

  • Create a custom domain

  • Use an Ingress resource in your application

Prep:

15. Cloud Native Security#

  • Identify the “4C”s of cloud native security

  • Create ServiceAccount, ClusterRole and ClusterRoleBinding resources

  • Use TLS to secure your application

Prep:

16. Application Monitoring#

  • Use GCP to monitor your cluster

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.

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.