Skip to content
/ phase-1B Public

Microservice Architectures, Code Build and Test Pipelines, Containerization and Intermediate Cloud Topics

Notifications You must be signed in to change notification settings

LMTD/phase-1B

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

LMTD - Phase 1B

Intro to Cloud Technology & Foundational Cloud/DevOps Concepts Linux, Python, and Cloud Computing with AWS

Foundations of DevOps

Instructors: Cam Flowers and Shafan Sugarman

Program Start Date: September 22nd

Class Times: TU, TH, FR 6:00-9:00 p.m. & SA 10 a.m.- 5:00 p.m.

Office Hours: Book 1-1 time @ https://calendly.com/camflowers

Rationale

Modernized software systems have required engineers to develop their skills across the entire software delivery lifecycle: Design, Development, Testing, Deployment and Maintenance. Armed with new software architectural patterns, more powerful cloud infrastructure, and efficient automation/management tools engineers working along the DevOps lifecycle are able to build more scalable and elastic systems while being test-driven and secure.

Course Aims and Outcomes

Aims

As a result of participating in this course, you will work along the different steps of the Software Delivery Lifecycle learning about different software architectural patterns including Microservice Architecure, Serverless Architecture, and Containerized Architecture and manners of automating the testing, build and deployment of those various systems.

Specific Learning Outcomes

By the end of this course, you will understand the various roles of a full-stack engineering team. You will learn how to build a fully production ready application using test-driven development, and collaborating with other engineers through Agile Development practices like SCRUM and KANBAN. You will establish CI/CD pipelines and create strategies for automation and monitoring to ensure your confidence in your application releases. You will develop your ability to actively engage in technical discussions about architecture, code reviews and pair-programming.

Format and Procedures

This course meets three times a week and once on the weekend to facilitate both lecture and lab components of instruction. This course is intended to reflect industry norms as much as possible; to that end, project delivery and collaboration are emphasized over written homework or assessments. Sessions will not be recorded by default, though some materials may be pre-recorded to facilitate instruction.

Assumptions

In order to fully participate in this course you are expected to have demonstrated profieciency in the essentials of Linux, Python, and AWS as discussed in Phase 1A.

There is a guide of recommended precourse work available here

Course Requirements

Tasks and assignments are intended to align with the learning outcomes specified above.

Class attendance and participation policy

Attendance is a weighed component of this class, students are encouraged to attend all lectures to fully benefit from the delivered material and peer discussion.

Course readings

In adhering to "real-world" industry norms, this class does not have any required texts, as all course material can be obtained through various free online resources. However, various readings will be recommended during the course of this class and will likely be helpful to student learning.

Assignments

Student evaluations in this course will be assigned as follows:

  • Attendance

    • Intents:
      • Reinforce readings/lecture content
      • Practice writing code
      • Practice using GitHub (delivery/submission vehicle)
  • Technical Communication

    • Intents:
      • Demonstrate understanding of software delivery lifecycle stages
      • Demonstrate understanding of various software architectures
      • Demonstrate a growing acquisition of knowledge in new domains
  • Project Development

    • Intents:
      • Demonstrate adept knowledge of Python
      • Demonstrate understanding of various engineering roles
      • Demonstrate ability to work in AGILE work environments

Tentative Course Schedule

May change to accommodate guest presenters & student needs.

Week Date Content README Assigned
0 9/14 - 9/21 Intersession -- --
1 9/22 - 9/28 Software Delivery Lifecycle SDLC Microservice Project
2 9/29 - 10/05 Test Driven Development TDD Microservice Project
3 10/06 - 10/12 Continuous Integration CI/CD Microservice Project
4 10/13 - 10/19 Microservices & Containerization Docker Microservice Project
5 10/20 - 10/26 Configuration Management CM Deployment Environments & CI/CD
6 10/27 - 11/02 Container Orchestration / Kubernetes K8s Deployment Environments & CI/CD
7 11/03 - 11/09 Infrastructure as Code IaC Deployment Environments & CI/CD
8 11/10 - 11/16 Server Monitoring & Logging Monitoring Deployment Environments & CI/CD

Due -- | TBA | -- | -- | -- | Final Showcase

Academic Integrity

Each student in this course is expected to abide by a policy of Academic Integrity. Any work submitted by a student in this course for credit will be the student's own work. Collaboration is allowed where assignments are designated as group projects.

You are encouraged to study together and to discuss information and concepts covered in lecture and the sections with other students. You can give "consulting" help to or receive "consulting" help from such students. However, this permissible cooperation should never involve one student having possession of a copy of all or part of work done by someone else, in the form of an e-mail, an e-mail attachment file, a diskette, or a hard copy.

Reasonable Accommodations and Academic Adjustments

Our team is available to discuss appropriate academic accommodations that may be required for student with disabilities or reasonable accommodations.

Inclusivity Statement

We understand that our members represent a rich variety of backgrounds and perspectives. The Instructional Team is committed to providing an atmosphere for learning that respects diversity. While working together to build this community we ask all members to:

  • share their unique experiences, values and beliefs
  • be open to the views of others
  • honor the uniqueness of their colleagues
  • appreciate the opportunity that we have to learn from each other in this community
  • value each other's opinions and communicate in a respectful manner
  • keep confidential discussions that the community has of a personal (or professional) nature
  • use this opportunity together to discuss ways in which we can create an inclusive environment in this course and across the community

About

Microservice Architectures, Code Build and Test Pipelines, Containerization and Intermediate Cloud Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published