Skip to main content

Self-Study: Architecture & Tool Review (3.15) [Final]

Brief

This self-study module introduces modern software architectures and DevOps tools used in cloud-native environments. You will explore different architectural patterns, their advantages, and the tools that enterprises use for building scalable, reliable, and secure applications.

Videos

Introduction to Modern Software Architecture

Learn about common architectural patterns such as monolithic, microservices, and serverless.

Watch: https://www.youtube.com/watch?v=4PrXFHPA2Ew&ab_channel=MichaelPogrebinsky

Understanding Microservices & Cloud-Native Applications

Explore how microservices enable scalable and resilient applications in cloud environments.

Watch: https://www.youtube.com/watch?v=lL_j7ilk7rc&ab_channel=5MinutesorLess

What is DevOps? CI/CD Explained

Understand the importance of DevOps, automation, and continuous integration/deployment (CI/CD).

Watch: https://www.youtube.com/watch?v=scEDHsr3APg&ab_channel=Fireship

Cloud Infrastructure & Container Orchestration (Kubernetes)

How Kubernetes manages containerized applications at scale.

Watch: https://www.youtube.com/watch?v=kBF6Bvth0zw&ab_channel=IBMTechnology

Readings

Modern Software Architectures: A Comprehensive Guide

Learn the fundamentals of software architectures and their use cases.

Read: https://martinfowler.com/articles/microservices.html (Martin Fowler - Microservices Guide)

https://vfunction.com/blog/what-is-software-architecture/

Monolithic vs Microservices vs Serverless

A deep dive into the differences, benefits, and trade-offs of various architectures.

Read: https://medium.com/ni-tech-talk/monolith-vs-microservices-vs-serverless-and-what-to-choose-for-your-business-needs-49d58b9e91f1

Understanding CI/CD Pipelines & DevOps Practices

How CI/CD pipelines automate application delivery and deployment.

Read: https://www.redhat.com/en/topics/devops/what-is-ci-cd

GitOps, ArgoCD, and Flux: Automating Kubernetes Deployments

Explore the benefits of using GitOps tools for Kubernetes applications.

Read: https://medium.com/@platform.engineers/automating-kubernetes-deployments-with-gitops-and-argocd-4b41a01656d8

Comparison of Cloud Infrastructure as Code (IaC) Tools

Terraform, Pulumi, and CloudFormation: which one should you use?

Read: https://www.techtarget.com/searchdatacenter/feature/IaC-tools-comparison-shows-benefits-of-automated-deployments

Key Concepts to Explore

Modern Software Architectures

  • Monolithic Architecture – Single application containing all components.
  • Microservices Architecture – Independent services communicating via APIs.
  • Serverless Architecture – Stateless, event-driven functions (AWS Lambda, Google Cloud Functions).
  • Event-Driven Architecture – Services communicate asynchronously using events and message queues.
  • Service Mesh Architecture – Secure service-to-service communication using proxies (Istio, Linkerd).

Cloud Computing & Kubernetes

  • Virtual Machines vs. Containers – Differences in compute deployment models.
  • Kubernetes – Container orchestration for scalable workloads.
  • Service Discovery & Networking – Load balancers, API gateways, service meshes.
  • Infrastructure as Code (IaC) – Automating infrastructure with Terraform, CloudFormation.

DevOps & CI/CD Toolchains

  • CI/CD Pipelines – Automating code build, test, and deployment.
  • GitOps – Managing infrastructure through Git (ArgoCD, Flux).
  • Observability & Monitoring – Logging, tracing, and monitoring with Prometheus, ELK, OpenTelemetry.
  • Security Best Practices – Role-Based Access Control (RBAC), IAM, secret management.

Popular Tools Used by Enterprises

CI/CD & GitOps

  • Jenkins – Open-source automation server.
  • GitHub Actions – CI/CD workflows for GitHub repositories.
  • GitLab CI/CD – Integrated CI/CD pipelines.
  • ArgoCD – GitOps-based continuous deployment for Kubernetes.
  • FluxCD – Kubernetes-native GitOps toolkit.

Infrastructure & Cloud Management

  • Terraform – Declarative infrastructure provisioning.
  • Pulumi – Infrastructure as Code using multiple programming languages.
  • AWS CloudFormation – Automate AWS resource provisioning.
  • Ansible – Agentless configuration management.

Observability & Monitoring

  • Prometheus – Metrics collection and monitoring.
  • Grafana – Visualization and dashboarding.
  • OpenTelemetry – Distributed tracing and observability.
  • Elasticsearch (ELK Stack) – Centralized logging.

Security & Compliance

  • HashiCorp Vault – Secure secret management.
  • AWS IAM, Azure AD – Role-based access control and identity management.
  • Aqua Security – Container and Kubernetes security.

Helpful Links (References)

Modern Software Architecture Principles

Read: https://12factor.net/ (The 12-Factor App Methodology)

Official Kubernetes Documentation

Read: https://kubernetes.io/docs/ (Kubernetes.io)

Introduction to Infrastructure as Code (IaC)

Read: https://www.terraform.io/docs/index.html (Terraform Documentation)

DevOps & GitOps Resources

Comments