Skip to content
Dan Carr edited this page Oct 8, 2018 · 16 revisions

DevOps Fall 2017 - Syllabus

Course Information

  • Location: PNCA Building. 511 NW Broadway, Portland, OR 97209
  • Meeting Times: Tuesday + Thursday 6-9pm, starting 26 September
  • Duration: 8 weeks

Instructor Bios and Contact Information

Prerequisites

  • Linux & Bash
  • Scripting and programming experience (Javascript, Python, Ruby, Java)
  • Familiarity with Amazon Web Services
  • Basic understanding of networking fundamentals

Course Purpose & Goals

Students will gain direct, hands on experience inside the Hack Oregon DevOps team during our active production sprint and participate in the deployment of season projects.

Class Text Material

Computing and Technical Environment

Laptop

Please install the following software prior to our first class:

Hack Oregon operational stack includes AWS, Ansible, Docker and Vagrant. Applications typically use a combintation of Javascript with React for the front-end with Python and Django and Postgres used for the back-end.

Course Outline

Readings, Assignments, Lecture Notes and Projects

Throughout the course reading material will be assigned to give a broader understanding and context of the DevOps domain and expose the student to core technical principles and tools. Three projects will be assigned and used as the basis for successful completion of the course.

  • Assignment Solution Sets & Lecture Notes
  • Project 1 - DevOps Pipeline for a simple front-end application - Your HackOregon Team's Information Page
  • Project 2 - DevOps Pipeline for a full-stack application - Your HackOregon Team's full stack app
  • Project 3 - Infrastructure Provisioning & Configuration Management

Meeting 1 - Course Overview & DevOps Level Set

  • Assignment 1 - Host a web page on S3

Meeting 2 - AWS & CI Intro

  • Simple Storage Servies (S3)
  • Assignment 2 - CI for Static Web Page
  • Add NAT Gateway to demo VPC

Meeting 3 - AWS & Django Container - Part 1

  • Elastic Compute Services (ECS)
  • Assignment 3 - Containerize Django App Setup
  • Alignment with HackOregon Teams - MVPs

Meeting 4 - AWS & Django Container - Part 2

  • TDD Run Down - Trey
  • Assignment 4 - Containerize Django App DRF
  • Alignment with HackOregon Teams - MVPs

Meeting 5 - AWS & Django Container - Part 3

  • Virtual Private Clouds (VPCs)
  • Assignment 5 - Containerize Django App - TDD
  • Alignment with HackOregon Teams - MVPs

Meeting 6 - AWS & Django Container - Part 4

  • Elastic Load Balancing (ELB)
  • Assignment 6 - Containerize Django App - Push to ECR
  • Alignment with HackOregon Teams - MVPs

Meeting 7 - AWS & Django Container - Part 5

  • Identity & Access Management (IAM)
  • Assignment 6 - Containerize Django App Push to ECS
  • Alignment with HackOregon Teams - MVPs

Meeting 8 - AWS & Django Container - Travis CI - Elastic Container Service

  • Databases on AWS
  • EC2 Container Services (ECS)
  • Alignment with HackOregon Teams - MVPs

Meeting 9 - AWS & FullStack Deploy Part 1

  • SQS, SWF, SNS
  • Alignment with HackOregon Teams - MVPs

Meeting 10 - AWS & FullStack Deploy Part 2

  • DNS - Route 53
  • Alignment with HackOregon Teams - MVPs

Meeting 11 - AWS & FullStack Deploy Part 3

  • AWS Security Part 1
  • Alignment with HackOregon Teams - MVPs

Meeting 12 - AWS & Infrastructure Provisioning & Configuration Management

  • AWS Security Part 2
  • Cloudformation - Part 1
  • Assignment 7 - Cloudformation - Console
  • Alignment with HackOregon Teams - MVPs

Meeting 13 - AWS & Infrastructure Provisioning & Configuration Management

  • AWS Architecture Best Practices
  • Cloudformation - Part 2
  • Assignment 8 - Cloudformation - CLI
  • Alignment with HackOregon Teams - MVPs

Meeting 14 - AWS & Infrastructure Provisioning & Configuration Management

  • Ansible - Part 1
  • Assignment 10 - Ansible and Cloudformation
  • Alignment with HackOregon Teams - MVPs

Meeting 15 - AWS & Infrastructure Provisioning & Configuration Management

  • Ansible - Part 2
  • Assignment 11 - Ansible Fun Part 1
  • Alignment with HackOregon Teams - MVPs

Meeting 16 - AWS & Infrastructure Provisioning & Configuration Management

  • Ansible - Part 3
  • Assignment 11 - Ansible Fun Part 2
  • Alignment with HackOregon Teams - MVPs
  • Last day to turn in projects

Project Completion and Turn In Guidelines

  • Projects will be continuation of assignments with additional key features
  • Projects 1 & 3 are individual. Project 2 is team-based. Meaning, it needs to support your HackOregon teams CI/CD needs
  • Projects are checked into your Github account, with clear instructions on how to run. Meaning, it has to work on my machine and environments

Classroom and Lab Policies

Clone this wiki locally