Skip to content

Ogala/SU_SEGR_5910_18WQ

Repository files navigation

SEGR 5910 18WQ - DevOps from the Architect's Perspective

Schedule: Thursdays in PIGT 205, 6:00pm to 8:40pm
Instructor: Michaeljon Miller (michaeljon.miller@outlook.com)
Office hours: Thursday before class or by appointment

Catalog Description

Customer demand for new features and Agile practices have created a virtuous feedback cycle. However, getting those demanded new features to the customer as fast as possible requires a completely different approach to the release phase of the SDLC. This course will address the combination of Development and Operations known as DevOps. We will cover organizational structures, tooling, process management, and change control from the perspective of a fast-release self-reliant development organization.

Course Learning Objectives

  • Process and organizational pros / cons of a DevOps model
  • The economic impact(s) of moving to DevOps
  • Relationship between Agile and DevOps
  • Tooling and engineering processes
  • Architecture for DevOps

Reading Materials

DevOps: A Software Architect's Perspective
Len Bass, Ingo Weber, and Liming Zhu
ISBN-13: 978-0134049847
ISBN-10: 0134049845

Google's SRE book
Availabe for free at the above link or from O'Reilly via your favorite book seller

Important Dates

  • 15 Feb - Mid-term exam
  • 22 February - Individual assignment due
  • 8 Mar - In-class team presentations
  • 22 March - Final exam, location TBD

Tentative list of topics / schedule

We'll follow the text closely, but expect to deviate on occasion. When we do this we will follow in-class materials as well as materials that I recommend from the web. These will include general papers, articles, and tools documentation.

11 Jan

  • Course overview, introductions, syllabus, course rules and regulations
  • What is Dev
  • What is Operations
  • What happens when you try to shorten the time window
  • What is DevOps
  • Why is this a people problem
  • Communication and collaboration

18 Jan

  • Cloud as a platform
  • Operations
  • Embracing risk
  • Service level objectives

25 Jan

  • CI/CD - Overall architecture
  • CI/CD - Test automation
  • Architecting for risk

1 Feb

  • CI/CD - Deployment strategies
  • Building containers with docker
  • Docker project assignment

8 Feb

  • Monitoring / alerting techniques
  • Mid-term review

15 Feb

  • Overview of threat modeling
  • Security audits
  • CI/CD - Compliance management and security
  • Mid-term exam

22 Feb - docker project due

  • A/B testing and canary release
  • General architectural considerations
  • Designing systems for DevOps
  • Business considerations

1 Mar

  • How to be on-call
  • Troubleshooting techniques
  • Communication and collaboration revisited
  • Operations as a process

8 Mar - Team presentations

  • Case study presentations on chapters 11, 12, and 13

15 Mar

  • Load balancing strategies
  • Dealing with overload
  • Cascading failures and SLOs revisited
  • Where do we go from here
  • Final exam review

22 Mar - Final exams due

Grading

This class is graded on the following scale. Over the course of the quarter you will be given, via homework, exams, projects, and participation, the opportunity to earn 100 points. Exams may include an "extra credit" opportunity. An "A" grade is easily achievable in my courses, but you will need to put in the work.

  • 95+ points - A
  • 90+ points - B
  • 85+ points - C

This is a tentative break-down, I'll adjust during the first week of class based on class size and experience.

  • Mid-term exam 20%
  • Final exam 30%
  • Team project 25%
  • Individual assignments 15%
  • Classroom participation 10%

Software engineering is a team process and one of the most important parts of that is communication. This includes both written and verbal. As such, the exams will be essay format (to include requirements artifacts as necessary). I also expect full classroom participation in discussions. Feel free to voice your opinions and disagree with what you're learning. That's part of the process. But do so in a respectful manner.

Academic Service Learning (ASL)

Academic service learning is defined for this course as a credit-bearing educational experience in which students participate in an organized service activity that meets identified community needs and reflect critically on the service activity in such a way as to gain further understanding of the course content and a broader appreciation of the discipline while enhancing their personal development and commitment to social justice.

Software engineering encompasses a disciplined approach to planning, design, development and maintenance of large and complex software systems. In an academic program, the concern is to ensure that students learn about the fundamental concepts that would enable them to apply these approaches and associated best practices to software systems. Getting hands on experience on actual software systems (instead of toy case studies) enable the abstract concepts to become concrete. Through the Academic Service Learning projects, students will be able to focus on learning the course material in the context of a real-world project, reflect on their learning, open avenues for discussion, and help a local non-profit organization in their software needs. We take a project-based approach to service learning, which enables the students to work on various aspects of the service learning project throughout the quarter. The project enables the students to understand and master the course objectives.

Attendance policy

Class attendance is strongly encouraged. Students missing a class are responsible for any material assigned or covered in class during their absence. Active participation in the class discussions and activities is expected and it could influence your grade in boundary cases. Punctual attendance is highly encouraged as late arrival is distracting for everyone in the class.

Personal Electronics Policy

Cellphone usage is not permitted in class. Turn them off and put them out of sight. You may use a laptop or tablet to take notes but do not use them to surf the web, chat, Facebook or catch up on email. No electronic equipment may be used during the exam unless otherwise instructed.

Homework Policy

Late homework will not be accepted. You are responsible to make sure your assignment is submitted before the deadline. Late submissions will receive a zero. Individual extensions will only be given in extraordinary circumstances communicated with the professor before the deadline.

Please follow the specific instructions and submission policy for each assignment. Your assignment may be submitted on paper to the instructor. In the case of an electronic submission, make sure that your submission is in Microsoft Word or PDF format (ZIP, text or image files are not accepted). Also submit a single document and make sure all your figures are included in your main document. You are responsible to make sure that your file is not corrupted and that it is readable by the instructor. All submissions must include your name.

Workload Expectation

You are expected to keep up with the course material. This includes completion of the reading assignments that are posted in the lecture notes and/or schedule. Unless explicitly noted, you are responsible for all assigned material even if a topic was not covered during the lecture. This is a three-credit hour class, and consequently you are required to spend at least 6 hours per week outside of class to prepare for the course, study material, and work on homework assignments or project.

Courtesy

  • Students are responsible for all materials covered in class.
  • Turn off all cellphones, pagers, etc.
  • If you use a laptop to take notes, make sure all other applications (email, IM, Facebook, etc.) are off during the class.
  • Strive for punctuality but if extenuating circumstances cause you to be late, please take a seat at the front of the classroom.

Grading Dispute Policy

If you feel that part of your homework or exam was graded incorrectly, you may contact me within a week from when the exam or assignment was returned to you.

Academic Integrity

Plagiarism is the unacknowledged use of the work or intellectual property of other persons, published or unpublished, presented as one's own work. All students are expected to work on all individual assignments independently. Collaboration on individual assignments is considered cheating and will be penalized accordingly. Other examples of behavior that is not tolerated in this class include copying all or part of someone else's work and submitting it as your own, sharing your assignment solution with other students in the class, consulting with another student during an exam, and copying text from published literature without proper attribution. If you have questions about what is allowed, please discuss it with the instructor. All students are responsible for reading and following the Seattle University Academic Honesty Policy. Students who violate University standards of academic honesty are subject to disciplinary sanctions, including failure in the course and suspension from the University.

Notice for Students Concerning Disabilities

If you have, or think you may have, a disability (including an 'invisible disability' such as a learning disability, a chronic health problem, or a mental health condition) that interferes with your performance as a student in this class, you are encouraged to arrange support services and/or accommodations through Disabilities Services staff located in Loyola 100, (206) 296-5740. Disability-based adjustments to course expectations can be arranged only through this process.

Academic Resources

Please take advantage of the academic support services available to you at the university. Even if you have had excellent study skills in the past, it is easy to slip into suboptimal habits and these services can help you excel in your studies.

Academic Resources (Links)

Library and Learning Commons (This includes: Learning Assistance Programs, Research [Library] Services, Writing Center, Math Lab)

Academic Integrity Tutorial

Academic Policies on Registrar website

  • Academic Integrity Policy
  • Academic Grading Grievance Policy
  • Professional Conduct Policy (only for those professional programs to which it applies)

About

Course notes, lecture materials, and sample code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published