[AZ-305] Microsoft Azure Architect Design Prerequisites

สำหรับ Blog นี้ Draft ไว้น่านมาก อ่านตั้งแค่ตอนปลายปี 22 จนไว้จนสอบ AZ900 / AZ104 แล้วครับ โดย Part นี้ผมว่าหลายๆอย่างต่อจาก AZ-900 กับ AZ104 ครับ

Describe core Azure architectural components

  • Overview
    • การจัดการหน่วยเล็กสุด Resource
    • Resource Group - กลุ่ม Resource
    • การสร้างจัดการ Resource / Resource Group สามารถใช้ Azure Resource Manager หรือ Bicep มาทำเป็น IaC
  • Subscription + Management Group
    • Subscription - (logical unit of Azure services that links to an Azure account) ตัวตัดจ่ายเงิน + Access Control
    • Management Group (คุม Policy / Compliance ให้ทุกๆ Subscription ไปทางเดียวกัน)
  • Azure regions - ที่ตั้ง Data Center ตาม geographical area เช่น BKK (อนาคตหวังว่าจะมีนะ)
    • availability zones - Data Center ใน Region นั้นๆ ปกติมี 3 Zone
    • region pairs - หากเรากลัวว่า Region เดียวไม่เพียงพอ อาจจะต้องเพิ่ม Region ด้วย เช่นมี Singapore + Honkong
  • Knowledge check: Describe core Azure architectural components

Explore Azure compute services

  • Azure Virtual Machines ต้องการจะคุม OS Level (IaaS) โดยมี Scale Option
    - Virtual machine scale sets: เพิ่มจำนวนเครื่อง VMs อัตโนมัติแบบที่เหมือนกัน และกระจาย Load ตาม VM
    - Virtual machine availability sets: เพิ่ม Availability โดยดูตาม Update domain / Fault domain
    - Azure Batch: raw computing power or supercomputer-level compute power (HPC)
  • Azure App Service
    - มี Code แล้วต้องการ Host เพื่อเป็นหน้าที่ Web apps / API apps / WebJobs (background service) / Mobile apps (ทำงานในส่วนของ Backends)
    - เน้น Secure Endpoints / Scale + built-in load balancing + HA
  • Azure Container Instances - เอา Container ขึ้นมา Deploy
  • Azure Container Apps - เหมือน ACI แต่ต้องมามี Service มาช่วยเพิ่ม Network / Security (เช่น RBAC) / Load Balance / Scaling
  • Azure Kubernetes Service - Container ขึ้นมา และทำ orchestration - เน้น Automate / Scale / HA Cluster ของ Container ที่ต้องทำงานร่วมกัน Microservice
  • Azure Function - Code First //needs a response in a few seconds
  • Azure Logic - Design First workflow starts with a trigger
  • Azure Virtual Desktop (PaaS) ไม่ต้องมาดู Infra เอง แค่ลง App แล้วให้ User Remote เข้ามาใช้งาน
    - Windows 10 / 11 Multi-session (เข้าใช้งาน VM เดียวกันพร้อมๆกันแบบ Windows Server)
    - reduce costs - Bring your own licenses / Azure Reserve
    - เพิ่ม Security ด้วย user เข้าใช้จาก ฺBrowser
  • Knowledge check: Explore Azure compute services

Discover Azure message queues

Explore Azure networking services

Azure virtual networks

  • Isolation and segmentation - แยกวง Network ต่างๆ ออก ตาม Subnets ให้ Resource ต่างๆมาเชื่อมต่อ
  • Internet communications - ปกติต่อได้ ถ้ามี Public IP และ Filter เปิดให้นะ (NSG / Firewall) หรือจะเปิด BastionHost เพื่อให้เข้ามา SSH / Remote เพิ่ม Security อีกขั้น
  • Communicate between Azure resources จาก VNET / Service EndPoint ( link multiple Azure resources to virtual networks to improve security and provide optimal routing between resources.)
  • Communicate with on-premises resources:
    - Point-to-site (Client outside to org network)
    - Site-to-site (links your on-premises VPN device or gateway)
    - Azure ExpressRoute
  • Route network traffic - เพิ่งรู้ว่าทำได้ 55 มี 2 แบบ
    - Route tables
    - Border Gateway Protocol (ใช้ Azure VPN gateways, Azure Route Server, or ExpressRoute)
  • Filter network traffic
    - Network security groups(NSG)
    - Network virtual appliances (ไม่เคยใช้เหมือนกัน) และพวก Firewall / DDos Protection ตั้งจากตรงนี้ได้
  • Connect virtual networks - virtual network peering
  • Azure Virtual Network settings - พอสร้าง Resource เอง มันก็สร้างให้ เราใช้ Default มัน พอมาดูจริงๆ
  • Resource: WT Blog (ITGeist): ขั้นตอนการสร้าง VNet Peering ใน Microsoft Azure Part 1 (itgeist5blog.blogspot.com)

Azure VPN Gateway fundamentals

  • VPN gateways ( site-to-site / point-to-site / network-to-network ระหว่าง VNET) ตัว VPN type มี 2 แบบ
    - Policy-based VPNs - IKEv1 / compatibility with legacy on-premises VPN devices.
    - Route-based VPNs - IKEv2 / dynamic routing protocols //เหมือน Upgrade จาก Policy-based
  • Deploy VPN gateways
    • Required Azure resources
      - Virtual network
      - GatewaySubnet: at least a /27 address mask
      - Public IP address.
      - Local network gateway (define the on-premises network's configuration)
      - Virtual network gateway
      - Connection - on-premises VPN device's IPv4 address / virtual network gateway and its associated public IP address
  • Required on-premises resources
    • VPN policy-based / route-based VPN gateways
    • public-facing (internet-routable) IPv4
  • High-availability scenarios
    • Active/standby
    • Active/active - นึกถึง Cross Switch ของ L3 ที่เคยไปคุมทีม IA ทำงาน
    • ExpressRoute failover - เข้าใจว่า ถ้า ExpressRoute ตัว Physical เกิดปัญหา ให้ทำช่องทางสำรองของ VPN Gateway 2 แบบไว้
    • Zone-redundant gateways - มีทั้งแบบ availability แบบ Zone และ Region ขึ้นกับ SKU

Azure ExpressRoute fundamentals

  • Layer 2 (L2) - Data Link Layer / Layer 3 (L3) - Network Layer
  • Features and benefits of ExpressRoute
    • ExpressRoute is a private connection ดังนั้น Not Encrypted network communication
    • Connectivity to Microsoft cloud services
    • Connection uptime SLA. / Built-in redundancy
    • ExpressRoute provides Layer 3 (address-level) connectivity
  • ExpressRoute connectivity models
    • CloudExchange colocation
    • Point-to-point Ethernet connection
    • Any-to-any connection - integrate your wide area network (WAN)
    • Directly from ExpressRoute sites

Azure DNS - เป็น Server ไว้บอกทางเข้า Resource เรานะ เป็น Name Server และกำหนดข้อมูลตาม Alias records โดยทำได้ทั้ง Public / Private แต่พวกชื่อ Domain ต้องซื่อจาก Third Party นะ

บางอย่างนี่แบบตอนแรกนึกว่ามีใน Cloud ลอง Search ไปเรื่อยๆ อ้าวพวก Infra มีเหมือนกันด้วย 555

Resource: การใช้งาน Azure Web App ร่วมกับ Virtual Network โดยใช้ Virtual Network Integration ตอนที่ 1 | mvpskill.com | Change the World by Contributions.
Knowledge check: Explore Azure networking services

Explore Azure Storage services

  • ถ้าจะใช้ Storage ต้องมีตัว Azure Storage account ขึ้นมาก่อน
  • Disk storage fundamentals
    • Type Standard HDD / SSD / Premium SDD (งาน Critical อย่าง SAP เป็นต้น)
    • ปกติ VM แยก OS / DATA Disk จริงๆ หลาย Service Pattern นี้นะ
  • Azure storage redundancy
    - LRS
    - ZRS
    - GRS - LRS กับ LRS อีก Region
    - GZRS - ZRS กับ LRS อีก Region
    - RA-GRS / RA-GZRS เพิ่มส่วน read ใน Stand by region
  • Azure Blob storage fundamentals
    • มันจะมี 3 ชั้น Account > Container > Blob
    • ยัดอะไรลงไปก็ได้ Image / Stream ที่ขนาดใหญ่
    • Blob access tiers
      - Hot access tier: ใช้ประจำ
      - Cool access tier: <=30 Days
      - Cold access tier: <= 90 Days
      - Archive access tier - long-term backups ไม่ได้ยุ่งแน่ๆ 180 Days ++ / ถ้าใช้ highest costs to rehydrate
  • Azure Files fundamentals มัน คือ File Share (Map Drive) แบบ SMB เดิม และเอามาแชร์กรณีที่คนละ Geolocation ด้วยนะ
  • บางอันน่าจะ Link ได้นะ [AZ-204] Develop solutions that use Blob storage
  • Azure Queues - storing large numbers of messages / Each individual message max 64 KB in size
  • Azure Disk - สำหรับ Azure VMs
  • Azure Tables - NoSQL datastore that accepts authenticated calls from inside/outside the Azure cloud
  • Identify Azure data migration options
    - Azure Migrate - Discovery and assessment > Server Migration
    - Data Migration Assistant - assess SQL Servers
    - Azure Database Migration Service. Migrate on-premises databases to Azure VMs running SQL Server, Azure SQL Database, or SQL Managed Instances.
    - Azure App Service migration assistant - On Premise > AppService
    - Azure Data Box - สำหรับข้อมูลใหญ่ๆ
  • Identify Azure file movement options
    - AzCopy -  one-direction synchronization
    - Azure Storage Explorer - GUI Tools เอาไปดู Storage Account
    - Azure File Sync - keeps files between an on-premises Windows server and an Azure cloud environment updated / Protocal SMB, NFS, and FTPS
  • Knowledge check: Explore Azure Storage services / Describe Azure storage

Explore Azure database and analytics services

Build a cloud governance strategy on Azure

  • Azure RBAC - คุม Resource โดยใช้ Role Base Access จาก Azure AD เช่น ยุ่งกะ VM ได้ ตแต่ห้ามแก้ Network
  • resource lock - CanNotDelete / ReadOnly 
  • azure resource (tags) - เอาไว้แยกเรื่อง Cost ของแต่ละ Resource นอกจากนั้นยังใช้ในด้านอื่นๆ อาทิ เช่น
    • Resource management - ว่าของระบบไหน Workload แบบไหน ใช้ชั่วคราวอย่าง เช่น ทำเพื่อ Test หรือระยะยาวเป็นต้น
    • Operations management - SLA
    • Security (เช่น อาจจะเอาไว้แบ่ง Zone) + Governance (ตาม Azure Policy ไหม)
  • azure policy - คุม และจัดการแต่ละ Subscription ให้ไปทางเดียวกัน เช่น การสร้าง VM เลือก SKU ที่กำหนดไว้
  • azure blueprints - Template จัดการ Resource ที่กว้างกว่า ARM Template เช่น
    • Role assignments
    • Policy assignments
    • Azure Resource Manager templates
    • Resource groups
  • Knowledge check: Build a cloud governance strategy on Azure

Describe Azure identity, access, and security

  • Secure access to your applications by using Azure identity services (AZ-900) - Training | Microsoft Learn
  • Authentication (AuthN) = who they say they are
  • Authorization (AuthZ) = what they can do
  • Microsoft Entra ID - cloud-based identity and access management service / control access to apps and resources based on its business requirements
    - Authentication / Single sign-on / Application management / Device management
    - ทำ Multi-Factor Authentication (knows เช่น email address, password/ has เช่น OTP / is เช่น biometric)
    - ถ้ามี Active Directory เดิมใช้ตัว Azure AD Connect synchronizes ตอนนี้ entra connect sync
    - Entra ID Premium P1 or P2 - มีตัว Conditional Access ที่ดูเงื่อนไขการ Login จาก  identity signals เช่น the user's location.
  • Azure authentication methods
    - Internal identities เรียงตามความ Strong สะดวก
    1. Password
    2. Password less (Windows Hello / Microsoft Authenticator App/ FIDO2)
    3. MFA
    - External identities - B2B (สำหรับคู่ค้า Partner) / B2C (Social Login)
  • Azure การคุมสิทธิ
    - Conditional Access
    - RBAC
  • แนวคิดอื่นๆ Zero Trust (มองว่าทุกจุดเสี่ยง) / Defend in Depth (กันหลายชั้น)
    SC-900 เลย [SC-900] Short Note Part Azure
  • Knowledge check: Secure access to your applications by using Azure identity services / Describe Azure identity, access, and security

Microsoft Cloud Adoption Framework for Azure

  • Key หลักๆมี 3 ส่วน Plan Ready Adopt ส่วน Define Strategy (Trigger) ส่วน Govern + Manage จะเป็น Continuous Improvement

Define Strategy (Trigger - Motivation/Innovation) - มันจะกำหนดได้ ก็ต่อเมื่อกำหนด business outcomes / business justification ชัดเจน

  • business outcomes (ผลลัพธ์ที่ได้) ที่ต้องวัดได้ชัดเจน financial reasoning (CFO ทั้งหลายแหละ) เครื่องมี TCO / Azure pricing calculator / Microsoft Cost Management + Billing
  • business justification (เหตุผล) Cost (ลด CapEx) / Scale / Productivity (สร้าง Workload ได้ไวขึ้น สะดวกขึ้น) / Reliability

Note: ต้องกำหนด Business criteria / Technical criteria อาจจะเริ่มจาก Application Dependency น้อยๆ ในการลองขึ้นไปก่อนได้

Plan คน ระบบ องค์กร มีความพร้อมใ้ช้ Cloud ไหม

  • Rationalize your digital estate - digital estate (พวก Workload ต่างๆ เช่น VM) โดยเน้นได้ maximize return + minimize risks โดยมี 5R ดังนี้
    - Rehost (lift-and-shift) - ยกขึ้นไปเลย เช่น VM เพื่อ Reduce CapEx
    - Refactor - ปรับ Code ให้ทันกับ new business opportunities
    - Rearchitect - ปรับ Code + Infra เพื่อให้ไปใช้ Cloud ได้ ย้าย DB จากเดิม VM มาใช้แบบ PaaS แทน
    - Rebuild/New - ทำใหม่ ตามแนวทาง cloud-native design
    - Replace - ถ้าไม่คุ้ม หากตัวอื่นมาทดแทน ใช้ App บัญชี WinApp + Shared Path ย้ายไปใช้ App บัญชี แบบ Cloud Base แทน
  • Create your cloud adoption plan - กำหนด Metric ให้ชัดเจน ให้ล้อกับ business outcomes + ตอน Rationalize your digital estate ให้ทำแบบ Incremental

Ready

  • Define skills and support readiness - เตรีบมพร้อมด้านคน และ Skill ที่เกี่ยวข้อง เพื่อผิด Gap และความเสี่ยง ก่อนนำไปขึ้น Cloud
  • Create your landing zone = Azure Subscription และการกำหนด Workload ต้องอยู่ตรงไหนตาม Architecture ที่กำหนดว่ามี Resource อะไรบ้าง แบบไหน
    ลองดู Blog นี้เพิ่มได้ครับ Planning and designing enterprise landing zone to support on-premises workload migration to Microsoft Azure

Adopt - Execute ตามแผนที่วางไว้

  • Cloud migration - moving existing digital assets (Workload) with minimal modifications
  • Cloud innovation - Dev ใหม่ และทำ Support อื่นๆมาเสริมด้วย ให้ตาม Cloud-Native App เช่น DevOps เป็นต้น

Govern and manage

  • Cloud governance - จัดการด้านต่างๆ 5 ด้าน (five disciplines) ดังนี้ Cost management, security baseline, resource consistency, identity baseline และ deployment acceleration.
  • Cloud management
    - maximize ongoing business returns by creating a balance between stability and operational costs
    - Cloud operations - ปรับ Process ให้ maturity เพื่อ reduces the likelihood of interruptions through configuration and state management ซึ่งมันจะส่งผลต่อไปในด้าน Business ต่อไป

อื่นๆ

Introduction to the Microsoft Azure Well-Architected Framework

Azure Well-Architected Framework - Set ของ Best Practice ที่ Azure เตรียมไว้ให้ โดยจะต้องพิจารณาจาก Shared responsibility + General design principles ดังนี้

  • Enable architectural evolution - ปรับเปลี่ยนตาม
  • Use data to make decisions
  • Educate and enable
  • Automate - Speed + Productivity + ลด Risk

Azure เตรียมไว้ให้ 5 ด้าน ได้แก่ Cost optimization / Operational excellence / Performance efficiency / Reliability และSecurity ทุกเรื่องมี Knowledge Check นะ

  • Cost optimization
    -  TCO Calculator ตอนย้ายจาก on-premise > Azure
    - The Azure Pricing Calculator - Estimate Month Bill on Azure
  • Operational excellence - เอา modern practices มาลด Risk / Time เช่น DevOps / ARM Template หรือ Azure Automation เป็นต้น
  • Performance efficiency - Scaling up (vertical-more resources) / Scaling out (horizontal-more instances) นอกจากนั้นต้องหา bottlenecks มา optimize network /storage
  • Reliability มันจะเกี่ยวข้องกับ RPO/RTO
  • Security ต้อง Compile ตาม Regulator อย่างเช่น HIPAA/PDPA หรือ จะเป็นตัว Defense in depth ซึ่งมี 7 ส่วน ดังนี้
    - Data layer - Exposing an encryption key
    - Application layer - code injection and execution are the hallmarks of application-layer attacks. Common attacks include SQL injection and cross-site scripting (XSS).
    - VM/compute layer - Malware 
    - Networking layer - คุม Port ที่จำเป็นให้เปิด
    - Perimeter layer - ระวัง Denial-of-service (DoS) attacks
    - Policies and access layer - ต้องระวัง exposure of credentials โดย Limited หรือทำ MFA Conditional Access
    - Physical layer

Reference


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.