{"id":29107751,"url":"https://github.com/codetocloudorg/csa_project","last_synced_at":"2026-02-02T07:03:46.342Z","repository":{"id":250495043,"uuid":"815604507","full_name":"codetocloudorg/csa_project","owner":"codetocloudorg","description":"How To Become A CSA Capstone Project","archived":false,"fork":false,"pushed_at":"2025-03-29T03:03:19.000Z","size":2128,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-29T00:31:11.266Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.codetocloud.io/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codetocloudorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-15T15:48:45.000Z","updated_at":"2025-03-29T03:03:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"afc9de75-6e6b-4ce5-bfe6-a361ed78dc84","html_url":"https://github.com/codetocloudorg/csa_project","commit_stats":null,"previous_names":["codetocloudinc/csa_project","codetocloudorg/csa_project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codetocloudorg/csa_project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetocloudorg%2Fcsa_project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetocloudorg%2Fcsa_project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetocloudorg%2Fcsa_project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetocloudorg%2Fcsa_project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codetocloudorg","download_url":"https://codeload.github.com/codetocloudorg/csa_project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetocloudorg%2Fcsa_project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262544061,"owners_count":23326636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-29T05:39:46.338Z","updated_at":"2026-02-02T07:03:46.313Z","avatar_url":"https://github.com/codetocloudorg.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# How to Become a Cloud Solution Architect (CSA) - O'Reilly Course\n\nWelcome to the **[\"How to Become a Cloud Solution Architect](https://www.oreilly.com/library/view/becoming-a-cloud/0642572030667/?_gl=1*1n464e6*_ga*MTkxNjMyMDY2My4xNzQzMjE3MzA4*_ga_092EL089CH*MTc0MzIxNzMwNy4xLjEuMTc0MzIxNzMyNy40MC4wLjA.)\"** course by O'Reilly! This guide will walk you through the capstone materials, including translating business requirements into technical architecture, presenting your architecture, deploying an AKS cluster, and setting up the AKS demo store.\n\n---\n\n## Table of Contents\n1. [Translating Business Requirements into Technical Architecture](#1-translating-business-requirements-into-technical-architecture)\n2. [Presenting Your Architecture](#2-presenting-your-architecture)\n3. [Deploying a Basic AKS Cluster](#3-deploying-a-basic-aks-cluster)\n4. [Deploying the AKS Demo Store](#4-deploying-the-aks-demo-store)\n5. [Socials and Contact Information](#5-socials-and-contact-information)\n\n---\n\n## 1. Translating Business Requirements into Technical Architecture\n\nTo effectively translate business requirements into technical architecture, we use **Draw.io**, a powerful diagramming tool.\n\n### Steps to Use Draw.io\n1. **Open Draw.io**: Visit [Draw.io](https://www.draw.io) and choose to use it online or download the desktop version.\n2. **Create a New Diagram**: Select \"Create New Diagram\" and choose a blank or pre-defined template.\n3. **Define Business Requirements**: List all requirements, such as user needs, performance metrics, or compliance goals.\n4. **Translate Requirements into Architecture**:\n   - **Components**: Drag and drop elements like AKS clusters, Kubernetes pods, and networking components.\n   - **Connections**: Use arrows to show interactions between components.\n   - **Annotations**: Add labels and text to explain each component's purpose.\n5. **Save and Share**: Export your diagram in formats like PNG, SVG, or PDF and share it with stakeholders.\n\n### Reference Diagram\nFor inspiration, check out the reference diagram presented during the module:  \n![Reference Diagram](./Capstone.drawio.png)\n\n---\n\n## 2. Presenting Your Architecture\n\nEffectively presenting your architecture is crucial for stakeholder understanding and approval.\n\n### Tips for a Successful Presentation\n- **Start with an Overview**: Provide a high-level summary of the architecture.\n- **Break It Down**: Explain each component and its role in the system.\n- **Use Visual Aids**: Include diagrams (e.g., from Draw.io) to simplify complex concepts.\n- **Highlight Key Points**: Focus on scalability, security, and integration.\n- **Prepare for Q\u0026A**: Anticipate questions and have detailed answers ready.\n\n---\n\n## 3. Deploying a Basic AKS Cluster\n\n### Prerequisites\nBefore deploying an AKS cluster, ensure the following:\n- **Kubernetes Basics**: Familiarize yourself with [Kubernetes core concepts](https://learn.microsoft.com/en-us/azure/aks/concepts-clusters-workloads).\n- **Azure Subscription**: Create a [free Azure account](https://azure.microsoft.com/free/) if you don’t already have one.\n- **Azure Cloud Shell**: Review the [Azure Cloud Shell Overview](https://learn.microsoft.com/en-us/azure/cloud-shell/overview).\n\n### Steps to Deploy an AKS Cluster\n1. **Access Azure Portal**: Log in to the [Azure Portal](https://portal.azure.com).\n2. **Create a New AKS Cluster**:\n   - Navigate to \"Create a resource\" \u003e \"Kubernetes Service.\"\n   - Fill in details like Subscription, Resource Group, and Cluster Name.\n   - Choose the \"Dev/Test\" profile for a sandbox environment.\n   ![AKS Deployment Profile](./assets/cluster-basics.png)\n3. **Configure Cluster Settings**:\n   - **Node Pools**: Set the number of nodes and VM size.\n   - **Authentication**: Use default settings for Azure AD or Kubernetes RBAC.\n   - **Review and Create**: Verify settings and click \"Create.\"\n4. **Access the Cluster**: Use Azure CLI or the Kubernetes dashboard to manage the cluster.\n   ![Node Pool Configuration](./assets/node-pool-linux.png)\n\n---\n\n## 4. Deploying the AKS Demo Store\n\nDeploying the AKS demo store involves setting up a sample application on your AKS cluster.\n\n### Steps for Deployment\n1. **Prepare the Application**:\n   - Obtain the [YAML source code](aks-store-quickstart.yaml).\n   - Use the Azure Cloud Shell editor to create Kubernetes manifests.\n   - Follow the \"Connect to AKS Cluster\" workflow in the Azure portal.\n   ![Connect to AKS Cluster](./assets/aks-cluster-connect.png)\n2. **Deploy the Application**:\n   - Run `kubectl apply -f \u003cmanifest-file\u003e.yaml` to apply the manifests.\n   - Monitor the deployment with `kubectl get pods` and `kubectl get services`.\n   - Example terminal output:\n     ```\n     deployment.apps/rabbitmq created\n     service/rabbitmq created\n     deployment.apps/order-service created\n     service/order-service created\n     deployment.apps/product-service created\n     service/product-service created\n     deployment.apps/store-front created\n     service/store-front created\n     ```\n3. **Access the Application**:\n   - Check pod status with `kubectl get pods` (ensure all pods are running).\n   - Find the public IP of the store-front service using `kubectl get service --watch`.\n   - Example output:\n     ```\n     NAME          TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)        AGE\n     store-front   LoadBalancer   10.0.200.10   40.62.155.23   80:30025/TCP   9m\n     ```\n   - Open the public IP in your browser to access the store app.  \n     ![Web Store](./assets/store-application.png)\n\n---\n\n## 5. Socials and Contact Information\n\nStay connected and follow course updates through these channels:\n- **Twitter**: [@TheKevinEvans](https://twitter.com/TheKevinEvans)\n- **LinkedIn**: [Kevin Evans Profile](https://www.linkedin.com/in/kevinevans01/)\n- **Website**: [Code To Cloud](https://codetocloud.io)\n\n---\n\nThank you for taking this course! We hope it helps you on your journey to becoming a Cloud Solution Architect.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodetocloudorg%2Fcsa_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodetocloudorg%2Fcsa_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodetocloudorg%2Fcsa_project/lists"}