<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sachin Varghese</title>
    <description>The latest articles on DEV Community by Sachin Varghese (@sachin_varghese_zele).</description>
    <link>https://dev.to/sachin_varghese_zele</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3032877%2Fdb3b7b5f-6f9d-43dd-a211-9e9f2cceb3ec.jpg</url>
      <title>DEV Community: Sachin Varghese</title>
      <link>https://dev.to/sachin_varghese_zele</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sachin_varghese_zele"/>
    <language>en</language>
    <item>
      <title>EPCS Rx-Transfer - Project Summary 01</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Tue, 13 Oct 2026 10:05:12 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/epcs-rx-transfer-project-summary-01-4oem</link>
      <guid>https://dev.to/sachin_varghese_zele/epcs-rx-transfer-project-summary-01-4oem</guid>
      <description>&lt;p&gt;EPCS Rx-Transfer - Project Summary 01&lt;/p&gt;

&lt;h3&gt;
  
  
  Problem Statement
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Legacy Transfer-Out workflow was a rigid 5-step wizard with Client focused pharmacy search only — no electronic vs. verbal distinction, slowing pharmacist throughput.&lt;/li&gt;
&lt;li&gt;Electronic transfer eligibility (NCPDP SCRIPT via Surescripts) wasn't consistently surfaced per prescription across RPh Verify and Dispense Maintenance, creating inconsistent pharmacist experience.&lt;/li&gt;
&lt;li&gt;Controlled-substance transfer rules (federal schedule + state-specific restrictions) weren't reliably enforced at both prescription page-load and destination-pharmacy selection — risking non-compliant transfers of scheduled drugs.&lt;/li&gt;
&lt;li&gt;Any workflow change carried high rollout risk against live dispense operations, with no safe way to test/rollback in production.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Solution
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Built the pharmacist-facing Transfer-Out UI and related Rx-Transfer task pages (transfer-in request, transfer-out request, transfer-in received) across Dispense Maintenance and RPh Verify.&lt;/li&gt;
&lt;li&gt;Integrated electronic Rx Transfer with Surescripts via NCPDP SCRIPT transactions, delivering an enhanced pharmacy-first search/select flow (9 search fields, electronic-eligibility detection) replacing the legacy verbal-only flow.&lt;/li&gt;
&lt;li&gt;Implemented controlled-substance rule checks into the Transfer-Out workflow — federal + state restriction logic and transfer-method eligibility (electronic/verbal/both/none), evaluated at both page load and destination selection, blocking non-compliant transfers with specific error codes.&lt;/li&gt;
&lt;li&gt;Shipped the entire rollout behind feature flags (Legacy vs. enhanced flow, electronic/verbal selector, state re-evaluation, audit logging) for a phased, low-risk release.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Benefits
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Faster, more guided pharmacist workflow with fewer manual steps and improved pharmacy discovery vs. the legacy Client-only search.&lt;/li&gt;
&lt;li&gt;Reduced regulatory/compliance risk — automated, real-time enforcement of controlled-substance transfer rules that previously relied on manual pharmacist judgment.&lt;/li&gt;
&lt;li&gt;Better data quality on transfer destinations through advanced, multi-field pharmacy search and validation.&lt;/li&gt;
&lt;li&gt;Safe, incremental delivery — feature-flag gating allowed instant rollback on production issues without a redeploy, protecting live dispense operations.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>AWS CP CLF-02 Cheat Sheet</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Thu, 18 Jun 2026 06:01:26 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/aws-cp-clf-02-cheat-sheet-3ikh</link>
      <guid>https://dev.to/sachin_varghese_zele/aws-cp-clf-02-cheat-sheet-3ikh</guid>
      <description>&lt;h1&gt;
  
  
  AWS Certified Cloud Practitioner (CLF-C02) 2026 Cheat Sheet
&lt;/h1&gt;

&lt;p&gt;An ultra-concise, tabular reference guide for the AWS Certified Cloud Practitioner exam (CLF-C02).&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Exam Overview &amp;amp; Domains
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Domain&lt;/th&gt;
&lt;th&gt;Weight&lt;/th&gt;
&lt;th&gt;Core Focus&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Domain 1: Cloud Concepts&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;24%&lt;/td&gt;
&lt;td&gt;Benefits of cloud, economics (CapEx/OpEx), architecture, and CAF.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Domain 2: Security and Compliance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;td&gt;Shared Responsibility, IAM, infrastructure security, and compliance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Domain 3: Cloud Technology and Services&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;34%&lt;/td&gt;
&lt;td&gt;Core services (Compute, Storage, Database, Network, Developer, ML, Integration).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Domain 4: Billing, Pricing, and Support&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;12%&lt;/td&gt;
&lt;td&gt;Pricing models, cost management tools, and Support Plans.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Exam Details:&lt;/strong&gt; 65 Questions | 90 Minutes | Passing Score: 700 / 1000 | Format: Multiple Choice / Multiple Response | 50 scored + 15 unscored questions | No penalty for guessing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official reference checked:&lt;/strong&gt; AWS Certified Cloud Practitioner (CLF-C02) Exam Guide and in-scope service list on AWS Certification documentation (checked 2026-06-21).&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Cloud Concepts &amp;amp; Economics
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;Key Keywords / Definition&lt;/th&gt;
&lt;th&gt;Exam Focus / Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;High Availability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No single point of failure; running in multiple AZs.&lt;/td&gt;
&lt;td&gt;System remains operational even if hardware fails.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fault Tolerance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;System survives component failures without degradation.&lt;/td&gt;
&lt;td&gt;Critical apps needing zero downtime.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scalability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Grow/shrink system capacity based on workload.&lt;/td&gt;
&lt;td&gt;Handling traffic spikes (vertical/horizontal scaling).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Elasticity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automated scaling; match resource supply to demand.&lt;/td&gt;
&lt;td&gt;Auto Scaling scale-out/scale-in based on CPU usage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agility&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reduce time to spin up resources from weeks to minutes.&lt;/td&gt;
&lt;td&gt;Rapid experimentation and faster time-to-market.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Economy of Scale&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lower pay-as-you-go prices as AWS grows and buys bulk.&lt;/td&gt;
&lt;td&gt;Massive cost savings compared to private data centers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CapEx vs. OpEx&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;CapEx:&lt;/strong&gt; Upfront physical assets. &lt;strong&gt;OpEx:&lt;/strong&gt; Pay-as-you-go costs.&lt;/td&gt;
&lt;td&gt;Cloud changes CapEx (buying servers) into OpEx (utility bills).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total Cost of Ownership (TCO)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Compare on-premises vs. AWS costs. Includes both &lt;strong&gt;direct&lt;/strong&gt; (hardware, labor) and &lt;strong&gt;indirect&lt;/strong&gt; (power, cooling, space) costs.&lt;/td&gt;
&lt;td&gt;Used to build a financial business case for migrating to the cloud.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cloud Adoption Framework (CAF)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Structure to migrate workloads. &lt;strong&gt;6 Perspectives:&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Business, People, Governance&lt;/strong&gt; (Business); &lt;strong&gt;Platform, Security, Operations&lt;/strong&gt; (Technical).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CAF Transformation Phases&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Iterative and incremental cloud transformation. &lt;strong&gt;4 Phases:&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Envision&lt;/strong&gt; → &lt;strong&gt;Align&lt;/strong&gt; → &lt;strong&gt;Launch&lt;/strong&gt; → &lt;strong&gt;Scale&lt;/strong&gt; (repeat).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Envision&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Define business outcomes and how cloud delivers measurable value.&lt;/td&gt;
&lt;td&gt;First phase: identify transformation opportunities and stakeholder alignment.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Align&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Identify capability gaps across people, process, and technology.&lt;/td&gt;
&lt;td&gt;Build a concrete roadmap, prioritize initiatives with stakeholders.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Launch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Execute pilot projects to prove value with real workloads.&lt;/td&gt;
&lt;td&gt;Learn from early results, build organizational confidence.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scale&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Expand successful pilots to full production across the enterprise.&lt;/td&gt;
&lt;td&gt;Operationalize best practices, drive broad adoption.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Deployment Models&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Public:&lt;/strong&gt; Fully AWS. &lt;strong&gt;Private:&lt;/strong&gt; On-premises. &lt;strong&gt;Hybrid:&lt;/strong&gt; Combined.&lt;/td&gt;
&lt;td&gt;Use &lt;strong&gt;Direct Connect / VPN&lt;/strong&gt; to connect Hybrid clouds.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Rightsizing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Match resource size/type to actual workload demand.&lt;/td&gt;
&lt;td&gt;Cost optimization: reduce over-provisioned EC2/RDS/EBS capacity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;BYOL vs. Included License&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Bring existing software licenses or use license-included AWS pricing.&lt;/td&gt;
&lt;td&gt;Licensing strategy questions, especially Windows/SQL Server/Oracle workloads.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Automation Benefits&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Repeatable, faster, lower-error operations using IaC/scripts.&lt;/td&gt;
&lt;td&gt;Reduces manual work and improves operational consistency.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Migration Strategies (7 Rs)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Strategy&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;th&gt;Exam Keyword&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Retire&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Remove apps no longer needed.&lt;/td&gt;
&lt;td&gt;Reduce scope and cost.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Retain&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Keep on-premises for now.&lt;/td&gt;
&lt;td&gt;Not ready, compliance, dependency constraints.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Rehost&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lift and shift to AWS.&lt;/td&gt;
&lt;td&gt;Fast migration to EC2, Application Migration Service.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Replatform&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Move with small optimizations.&lt;/td&gt;
&lt;td&gt;Managed DB, Elastic Beanstalk, minimal code change.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Repurchase&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Move to SaaS/product replacement.&lt;/td&gt;
&lt;td&gt;Replace self-managed app with marketplace/SaaS option.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Refactor / Re-architect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Redesign for cloud-native benefits.&lt;/td&gt;
&lt;td&gt;Serverless, microservices, highest effort/highest benefit.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Relocate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Move infrastructure without purchasing new hardware or rewriting.&lt;/td&gt;
&lt;td&gt;VMware Cloud on AWS migration.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  3. Shared Responsibility Model
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;AWS Responsibility (Security &lt;strong&gt;OF&lt;/strong&gt; the Cloud)&lt;/th&gt;
&lt;th&gt;Customer Responsibility (Security &lt;strong&gt;IN&lt;/strong&gt; the Cloud)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Physical infrastructure, data centers, host virtualization OS.&lt;/td&gt;
&lt;td&gt;Customer data, application code, identity management (IAM).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global Infrastructure (Edge locations, AZs, Regions).&lt;/td&gt;
&lt;td&gt;Guest Operating Systems (patching EC2 virtual machines).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Managed databases (RDS OS patching, hardware failures).&lt;/td&gt;
&lt;td&gt;Firewall configurations (Security Groups, Network ACLs).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Physical security, security audits, server destruction.&lt;/td&gt;
&lt;td&gt;Encryption settings (At-rest using KMS, In-transit using SSL/TLS).&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Responsibility shifts by service:&lt;/strong&gt; EC2 = customer patches guest OS and apps; RDS = AWS patches database host/OS, customer manages data/access/config; Lambda = AWS manages servers/runtime infrastructure, customer manages code, data, IAM, and configuration.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. AWS Well-Architected Framework (6 Pillars)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pillar&lt;/th&gt;
&lt;th&gt;Key Design Principle&lt;/th&gt;
&lt;th&gt;Exam Focus / Keyword&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Operational Excellence&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Perform operations as code, make frequent, small, reversible changes.&lt;/td&gt;
&lt;td&gt;Continuous improvement, post-mortems, automating deployment.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Implement a strong identity foundation, protect data at rest/transit.&lt;/td&gt;
&lt;td&gt;Principle of Least Privilege, traceability (logging), encrypt everything.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Reliability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automatically recover from failure, scale horizontally.&lt;/td&gt;
&lt;td&gt;Test recovery procedures, Multi-AZ design, fault tolerance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Performance Efficiency&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Use serverless architectures, go global in minutes.&lt;/td&gt;
&lt;td&gt;Democratizing advanced technologies, mechanical sympathy.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost Optimization&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Measure overall efficiency, stop spending money on undifferentiated work.&lt;/td&gt;
&lt;td&gt;Analyze spend, use managed services, pay-as-you-go matching.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Sustainability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Maximize utilization, minimize resources required.&lt;/td&gt;
&lt;td&gt;Shared responsibility for environmental impact, reduction of waste.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  5. Core Technology Services
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Global Infrastructure
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Definition&lt;/th&gt;
&lt;th&gt;Exam Focus&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Region&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Physical geographic area with multiple Availability Zones.&lt;/td&gt;
&lt;td&gt;Choose for latency, cost, service availability, and data residency.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Availability Zone (AZ)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;One or more discrete data centers in a Region.&lt;/td&gt;
&lt;td&gt;Multi-AZ improves high availability; AZs avoid shared single points of failure.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Edge Location&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CDN/security edge site used by services like CloudFront and Route 53.&lt;/td&gt;
&lt;td&gt;Cache and serve content closer to users for lower latency.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Multi-Region&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Workloads/data deployed across Regions.&lt;/td&gt;
&lt;td&gt;Disaster recovery, business continuity, global latency, sovereignty.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Compute Services
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon EC2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Virtual Servers&lt;/td&gt;
&lt;td&gt;IaaS, resizable capacity, full OS access.&lt;/td&gt;
&lt;td&gt;Legacy apps, custom software needing specific OS config.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EC2 Instance Types&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;General, compute, memory, storage, accelerated computing.&lt;/td&gt;
&lt;td&gt;Pick based on workload profile: CPU-heavy, RAM-heavy, local storage, GPU/ML.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Elastic Load Balancing (ELB)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ALB/NLB/GWLB, distributes traffic.&lt;/td&gt;
&lt;td&gt;Improves availability and scales traffic across multiple targets/AZs.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automatic scale out/in.&lt;/td&gt;
&lt;td&gt;Provides elasticity by matching capacity to demand.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Lambda&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless&lt;/td&gt;
&lt;td&gt;FaaS, event-driven, runs code max 15 mins.&lt;/td&gt;
&lt;td&gt;Run code without managing servers; pay only for execution time.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon ECS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Container Orchestration&lt;/td&gt;
&lt;td&gt;AWS-native, runs Docker containers.&lt;/td&gt;
&lt;td&gt;Running microservices in Docker at scale.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon EKS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Container Orchestration&lt;/td&gt;
&lt;td&gt;Managed Kubernetes standard.&lt;/td&gt;
&lt;td&gt;Migrating existing Kubernetes workloads to AWS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon ECR&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Container Registry&lt;/td&gt;
&lt;td&gt;Secure storage and sharing of container images.&lt;/td&gt;
&lt;td&gt;Private Docker registry to store container images for ECS or EKS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Fargate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless Compute&lt;/td&gt;
&lt;td&gt;Container-only compute; no EC2 to manage.&lt;/td&gt;
&lt;td&gt;Serverless Docker containers for ECS or EKS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Elastic Beanstalk&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PaaS&lt;/td&gt;
&lt;td&gt;Quick deploy, upload code, AWS handles infrastructure.&lt;/td&gt;
&lt;td&gt;Developers who want to deploy web apps without configuring infrastructure.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Lightsail&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Virtual Servers&lt;/td&gt;
&lt;td&gt;VPS, simple, low cost, predictable monthly pricing.&lt;/td&gt;
&lt;td&gt;Simple websites, blogs, test environments, small business apps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Batch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Compute&lt;/td&gt;
&lt;td&gt;Runs batch jobs at any scale.&lt;/td&gt;
&lt;td&gt;High-throughput, automated large-scale batch processing.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Outposts&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hybrid Compute&lt;/td&gt;
&lt;td&gt;Run native AWS services on-premises.&lt;/td&gt;
&lt;td&gt;Extremely low latency or local data residency requirements.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Wavelength&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Edge Compute&lt;/td&gt;
&lt;td&gt;Connects to 5G networks, ultra-low latency.&lt;/td&gt;
&lt;td&gt;Mobile edge applications (video streaming, gaming, IoT).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Local Zones&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Edge Compute&lt;/td&gt;
&lt;td&gt;Places compute/storage near large cities.&lt;/td&gt;
&lt;td&gt;Running low-latency applications close to end-users.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VMware Cloud on AWS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hybrid Compute&lt;/td&gt;
&lt;td&gt;Runs VMware workloads natively on AWS.&lt;/td&gt;
&lt;td&gt;Migrating on-premises VMware vSphere environments without modifying workloads.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Storage Services
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon S3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Object Storage&lt;/td&gt;
&lt;td&gt;Key-value store, 99.999999999% durability, static hosting.&lt;/td&gt;
&lt;td&gt;Unstructured files, backups, static websites, data lake storage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;S3 Storage Classes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Standard, Intelligent-Tiering, Standard-IA, One Zone-IA, Glacier Instant/Flexible/Deep Archive.&lt;/td&gt;
&lt;td&gt;Match retrieval frequency, availability needs, and archive cost.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;S3 Lifecycle Policies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automatically transition/expire objects.&lt;/td&gt;
&lt;td&gt;Move older logs/backups to cheaper storage or delete after retention period.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;S3 Glacier&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Archive&lt;/td&gt;
&lt;td&gt;Glacier Instant/Flexible/Deep Archive (up to 12h retrieval).&lt;/td&gt;
&lt;td&gt;Long-term backup/compliance archiving at ultra-low cost.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon EBS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Block Storage&lt;/td&gt;
&lt;td&gt;Persistent volume, tied to single AZ, attached to EC2.&lt;/td&gt;
&lt;td&gt;Database storage or boot volumes for individual EC2 instances.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EC2 Instance Store&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ephemeral block storage physically attached to host.&lt;/td&gt;
&lt;td&gt;Temporary cache/scratch data; data lost if instance stops/terminates/fails.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon EFS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;File Storage&lt;/td&gt;
&lt;td&gt;Shared network file system, Linux, scalable, multi-AZ.&lt;/td&gt;
&lt;td&gt;Shared storage for multiple EC2 instances simultaneously.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon FSx&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;File Storage&lt;/td&gt;
&lt;td&gt;Native Windows (FSx for Windows) or Lustre (high-perf).&lt;/td&gt;
&lt;td&gt;High-performance computing or Windows server migration.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Storage Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hybrid&lt;/td&gt;
&lt;td&gt;File Gateway, Volume Gateway (Cached/Stored), Tape Gateway.&lt;/td&gt;
&lt;td&gt;Connects on-premises environments to cloud storage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Backup&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Backup&lt;/td&gt;
&lt;td&gt;Managed, centralized, automated backup across services.&lt;/td&gt;
&lt;td&gt;Automating backup policies for EBS, RDS, S3, etc.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Database Services
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon RDS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Relational&lt;/td&gt;
&lt;td&gt;Managed SQL (MySQL, PostgreSQL, SQL Server, Oracle).&lt;/td&gt;
&lt;td&gt;OLTP applications, complex queries, traditional databases.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Relational&lt;/td&gt;
&lt;td&gt;Proprietary RDS, MySQL/PostgreSQL compatible, 3-5x performance.&lt;/td&gt;
&lt;td&gt;High-throughput, self-healing relational database requirements.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon DynamoDB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;NoSQL&lt;/td&gt;
&lt;td&gt;Key-value, serverless, single-digit millisecond latency.&lt;/td&gt;
&lt;td&gt;Shopping carts, user profiles, high-speed read/write web apps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon ElastiCache&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;In-Memory&lt;/td&gt;
&lt;td&gt;Redis or Memcached compatible.&lt;/td&gt;
&lt;td&gt;Caching frequently read database queries to reduce load.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Redshift&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Relational&lt;/td&gt;
&lt;td&gt;Columnar data warehouse, OLAP.&lt;/td&gt;
&lt;td&gt;Large-scale data analytics, business intelligence (BI) reports.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon DocumentDB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;NoSQL&lt;/td&gt;
&lt;td&gt;Managed MongoDB compatible.&lt;/td&gt;
&lt;td&gt;Storing JSON data structures and content management.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Neptune&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Graph DB&lt;/td&gt;
&lt;td&gt;Managed graph database.&lt;/td&gt;
&lt;td&gt;Social networks, fraud detection, recommendation engines.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS DMS / SCT&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Migration&lt;/td&gt;
&lt;td&gt;DMS moves data; Schema Conversion Tool converts schemas.&lt;/td&gt;
&lt;td&gt;Migrating homogeneous/heterogeneous databases to AWS managed databases.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Networking &amp;amp; Content Delivery
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon VPC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Isolated virtual network, Subnets, Internet Gateway, NAT Gateway.&lt;/td&gt;
&lt;td&gt;Logically isolating your AWS resources in a private network.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security Group&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stateful, instance-level firewall.&lt;/td&gt;
&lt;td&gt;Controlling inbound and outbound traffic for individual EC2 instances.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Network ACL (NACL)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stateless, subnet-level firewall.&lt;/td&gt;
&lt;td&gt;Securing entire VPC subnets with explicit allow/deny rules.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Route 53&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Global DNS, health checks, domain registration, latency routing.&lt;/td&gt;
&lt;td&gt;Mapping domain names to IP addresses; routing users to closest resources.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CloudFront&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Global Content Delivery Network (CDN), Edge Locations, caching.&lt;/td&gt;
&lt;td&gt;Fast content delivery (images, videos, APIs) to users worldwide.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Direct Connect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dedicated physical cable, bypasses the internet, secure, consistent.&lt;/td&gt;
&lt;td&gt;Establishing a high-speed, private connection from on-prem to AWS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS VPN&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Site-to-Site (IPsec) VPN, Client VPN (OpenVPN endpoint).&lt;/td&gt;
&lt;td&gt;Securely connecting on-premises data centers or remote employees to VPC.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Transit Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hub-and-spoke network router.&lt;/td&gt;
&lt;td&gt;Connecting thousands of VPCs and on-premises networks together.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Global Accelerator&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Optimizes IP routing using the AWS global network.&lt;/td&gt;
&lt;td&gt;Improving global user latency by up to 60% via Static IPs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;API Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed API creation, hosting, and protection.&lt;/td&gt;
&lt;td&gt;Exposing serverless backends (Lambda) as REST/WebSocket APIs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS PrivateLink&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Private service connectivity through VPC endpoints.&lt;/td&gt;
&lt;td&gt;Access supported AWS/SaaS services privately without public internet exposure.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Route 53 Routing Policies
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Policy&lt;/th&gt;
&lt;th&gt;Core Behavior / Meaning&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Keyword&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Simple&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single resource, basic DNS query resolution.&lt;/td&gt;
&lt;td&gt;Redirecting domain traffic to a single resource; no health check failover.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Routes traffic to multiple resources in proportions you specify.&lt;/td&gt;
&lt;td&gt;Blue/Green deployments, testing new versions on a fraction of users (e.g., 90%/10%).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Latency&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Routes traffic to the AWS Region with the lowest network latency.&lt;/td&gt;
&lt;td&gt;Providing the fastest response times for globally distributed users.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Failover&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Active-Passive disaster recovery.&lt;/td&gt;
&lt;td&gt;Automatically routing users to a secondary resource (backup) if the primary is unhealthy.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Geolocation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Routes traffic based on the geographic location of the user.&lt;/td&gt;
&lt;td&gt;Localizing website language, managing regional compliance, or content restrictions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Geoproximity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Routes traffic based on user/resource distance; can adjust boundaries using &lt;strong&gt;Bias&lt;/strong&gt;.&lt;/td&gt;
&lt;td&gt;Shifting the geographic region boundaries served by specific resources.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Multivalue Answer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Returns up to 8 healthy IP addresses in response to DNS queries.&lt;/td&gt;
&lt;td&gt;Simple, decentralized, DNS-based load balancing with health checks.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Analytics Services
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Athena&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless Query&lt;/td&gt;
&lt;td&gt;Query S3 files directly using standard SQL.&lt;/td&gt;
&lt;td&gt;Querying logs/data stored in S3 without loading them into a database.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon EMR&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Big Data / Hadoop&lt;/td&gt;
&lt;td&gt;Elastic MapReduce, Spark, Hadoop, HBase.&lt;/td&gt;
&lt;td&gt;Running and scaling petabyte-scale distributed data processing frameworks.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon MSK&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Streaming / Kafka&lt;/td&gt;
&lt;td&gt;Managed Apache Kafka cluster.&lt;/td&gt;
&lt;td&gt;Building and running real-time streaming data applications.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Kinesis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Streaming&lt;/td&gt;
&lt;td&gt;Real-time data ingestion, processing, and analysis.&lt;/td&gt;
&lt;td&gt;Ingesting real-time application logs or IoT device sensor data.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Glue&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ETL Service&lt;/td&gt;
&lt;td&gt;Extract, Transform, Load; serverless data catalog.&lt;/td&gt;
&lt;td&gt;Discovering schemas and preparing data for database/analytics platforms.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon QuickSight&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Business Intelligence&lt;/td&gt;
&lt;td&gt;Serverless BI dashboards, ML-powered visualizations.&lt;/td&gt;
&lt;td&gt;Creating interactive business reports and dashboards for stakeholders.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon OpenSearch Service&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Search/analytics&lt;/td&gt;
&lt;td&gt;Log analytics, search, observability.&lt;/td&gt;
&lt;td&gt;Searching and analyzing application logs/events.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  End User Computing, Business Applications, &amp;amp; IoT
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon WorkSpaces&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;End User Computing&lt;/td&gt;
&lt;td&gt;DaaS, persistent virtual desktops (Windows/Linux).&lt;/td&gt;
&lt;td&gt;Providing employees with remote access to virtual office desktops.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon AppStream 2.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;End User Computing&lt;/td&gt;
&lt;td&gt;Non-persistent desktop application streaming.&lt;/td&gt;
&lt;td&gt;Streaming high-performance desktop apps to a web browser on any device.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WorkSpaces Secure Browser&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;End User Computing&lt;/td&gt;
&lt;td&gt;Secure browser access to internal websites/SaaS.&lt;/td&gt;
&lt;td&gt;Browser-only workforce access without full virtual desktops.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Connect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Business App&lt;/td&gt;
&lt;td&gt;Omnichannel cloud contact center, customer service helpdesk.&lt;/td&gt;
&lt;td&gt;Setting up a scalable customer support phone system and chat center.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon SES&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Business App&lt;/td&gt;
&lt;td&gt;Simple Email Service, marketing and transaction emails.&lt;/td&gt;
&lt;td&gt;Automatically sending order confirmation or newsletter emails to customers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Amplify&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frontend &amp;amp; Mobile&lt;/td&gt;
&lt;td&gt;Full-stack web/mobile app build tools and hosting.&lt;/td&gt;
&lt;td&gt;Rapidly building and hosting mobile and web frontends on AWS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS AppSync&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frontend &amp;amp; Mobile&lt;/td&gt;
&lt;td&gt;Managed GraphQL APIs.&lt;/td&gt;
&lt;td&gt;Connecting web/mobile apps to data sources with real-time sync.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS IoT Core&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;IoT&lt;/td&gt;
&lt;td&gt;Secure device-to-cloud connection, message broker.&lt;/td&gt;
&lt;td&gt;Connecting and routing messages from millions of IoT sensors to AWS.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  6. Security, Identity, &amp;amp; Compliance
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Core Security &amp;amp; Identity
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS IAM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Users, Groups, Roles, Policies, MFA, Access Analyzer.&lt;/td&gt;
&lt;td&gt;Control who can access what in your AWS account (Least Privilege).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;IAM Policies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;JSON permissions; AWS managed, customer managed, inline.&lt;/td&gt;
&lt;td&gt;Define allowed/denied actions on resources.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;IAM Roles&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Temporary credentials; assumed by users/services/accounts.&lt;/td&gt;
&lt;td&gt;Preferred access for EC2/Lambda and cross-account access.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;IAM Identity Center&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single Sign-On (SSO).&lt;/td&gt;
&lt;td&gt;Centrally manage SSO access to multiple AWS accounts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS STS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Security Token Service, temporary credentials.&lt;/td&gt;
&lt;td&gt;Granting temporary access to resources (e.g., federation, IAM role assumption).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Cognito&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sign-up, Sign-in, Guest Access.&lt;/td&gt;
&lt;td&gt;Identity provider for web/mobile apps (Google/Facebook login).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS KMS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Envelope encryption, customer managed keys (CMKs), shared hardware.&lt;/td&gt;
&lt;td&gt;Creating, deleting, and rotating cryptographic encryption keys.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Secrets Manager&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Database credentials, automatic rotation.&lt;/td&gt;
&lt;td&gt;Securely storing and rotating sensitive API/DB keys.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Directory Service&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed Active Directory.&lt;/td&gt;
&lt;td&gt;Integrates AWS resources with existing on-premises AD.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Certificate Manager (ACM)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SSL/TLS certificates, free public certificates.&lt;/td&gt;
&lt;td&gt;Provisioning, managing, and deploying SSL/TLS encryption certificates.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS License Manager&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;BYOL license management, Dedicated Hosts, usage tracking.&lt;/td&gt;
&lt;td&gt;Governing and tracking software license usage (Windows/SQL Server) to avoid overage penalties.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Root user exam tip:&lt;/strong&gt; Protect with MFA, avoid daily use, do not create root access keys, and use IAM/admin roles for routine tasks. Some account-level tasks require root, such as changing root credentials, closing the account, and certain tax/support plan/account settings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security Protection &amp;amp; Auditing
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS WAF&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Layer 7 Web Application Firewall, SQL injection, XSS protection.&lt;/td&gt;
&lt;td&gt;Blocking malicious web attacks targeting HTTP/HTTPS apps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Shield&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Layer 3/4 DDoS protection, Standard (free) and Advanced.&lt;/td&gt;
&lt;td&gt;Protecting applications from massive Distributed Denial of Service attacks.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Firewall Manager&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Centralized security rules across accounts.&lt;/td&gt;
&lt;td&gt;Configuring and deploying firewall rules (WAF, Shield, Security Groups) for AWS Organizations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon GuardDuty&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Threat detection, Machine Learning, continuously monitors logs.&lt;/td&gt;
&lt;td&gt;Finding malicious activity (e.g., bitcoin mining, compromised instances).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Inspector&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Vulnerability scanner, EC2, ECR container images, Lambda.&lt;/td&gt;
&lt;td&gt;Scanning application software packages for known security exposures.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Macie&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PII discovery, S3 buckets, Machine Learning.&lt;/td&gt;
&lt;td&gt;Identifying and alerting on sensitive data (e.g., credit cards, SSNs).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Artifact&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Compliance portal, ISO/PCI/SOC reports.&lt;/td&gt;
&lt;td&gt;Downloading official AWS compliance documents for audits.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Security Hub&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Security posture management, single dashboard.&lt;/td&gt;
&lt;td&gt;Consolidated view of security alerts across GuardDuty, Inspector, Macie.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Detective&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Security investigation.&lt;/td&gt;
&lt;td&gt;Investigating and finding the root cause of security anomalies.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CloudHSM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dedicated hardware security module (FIPS 140-2 Level 3).&lt;/td&gt;
&lt;td&gt;Managing encryption keys using dedicated cryptographic hardware in AWS.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  7. Management, Governance, &amp;amp; Billing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Management &amp;amp; Monitoring
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon CloudWatch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Performance metrics, logs, alarms, dashboards.&lt;/td&gt;
&lt;td&gt;Monitoring resource CPU utilization, setting alarms for high usage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CloudTrail&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;API auditing, user history, "Who did what, when, and where."&lt;/td&gt;
&lt;td&gt;Reviewing which user deleted an S3 bucket or changed a route table.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Config&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Compliance auditing, configuration history.&lt;/td&gt;
&lt;td&gt;Tracking changes to security group rules over time for compliance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Systems Manager&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SSM, Run Command, Patch Manager, Session Manager.&lt;/td&gt;
&lt;td&gt;Executing shell scripts or applying OS patches to hundreds of EC2s.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Organizations&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Multi-account management, OUs, Service Control Policies (SCPs).&lt;/td&gt;
&lt;td&gt;Centrally applying security guardrails and consolidating bills.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Control Tower&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automated landing zone setup, multi-account governance.&lt;/td&gt;
&lt;td&gt;Setting up a secure, compliant multi-account environment.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Trusted Advisor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Best practices advisor: Cost, Security, Reliability, Performance, Limits.&lt;/td&gt;
&lt;td&gt;Finding idle EC2 instances or public S3 buckets.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Well-Architected Tool&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Architecture review against 6 pillars.&lt;/td&gt;
&lt;td&gt;Evaluating workload architectures to ensure they align with best practices.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Compute Optimizer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Machine learning analysis of usage.&lt;/td&gt;
&lt;td&gt;Recommending optimal EC2/Lambda sizes to save money/boost performance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Health Dashboard&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Two views: &lt;strong&gt;Service Health Dashboard&lt;/strong&gt; (global status of all AWS services) and &lt;strong&gt;Personal Health Dashboard&lt;/strong&gt; (personalized alerts for your account/resources).&lt;/td&gt;
&lt;td&gt;Checking general AWS outages vs. getting specific alerts about services that affect your workloads.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Service Catalog&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed catalog of approved IT services.&lt;/td&gt;
&lt;td&gt;Governing resource creation by allowing users to launch only pre-approved, compliant configurations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CloudFormation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Infrastructure as Code (IaC), declarative templates (JSON/YAML), drift detection, StackSets.&lt;/td&gt;
&lt;td&gt;Provisioning and managing AWS resources consistently using repeatable, version-controlled templates.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Resource Groups &amp;amp; Tag Editor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Organize and manage resources by tags; bulk tag editing across services/Regions.&lt;/td&gt;
&lt;td&gt;Grouping EC2 instances by &lt;code&gt;Environment: Production&lt;/code&gt; tag for centralized management and cost tracking.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Service Quotas&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;View and manage service limits (formerly Service Limits); request quota increases.&lt;/td&gt;
&lt;td&gt;Checking current EC2 instance count limits and requesting an increase before launching large workloads.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Billing &amp;amp; Cost Management
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service / Tool&lt;/th&gt;
&lt;th&gt;Primary Purpose&lt;/th&gt;
&lt;th&gt;Key Exam Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Billing Dashboard&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Visual monthly invoice, payments.&lt;/td&gt;
&lt;td&gt;High-level tracking of current month costs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Cost Explorer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Historic cost visualization, forecasting.&lt;/td&gt;
&lt;td&gt;Identifying spend trends and predicting future cloud bills.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Budgets&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Custom cost/usage alerts.&lt;/td&gt;
&lt;td&gt;Triggering email notifications when costs exceed 80% of budget.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost &amp;amp; Usage Report (CUR)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Most granular raw data (S3 export).&lt;/td&gt;
&lt;td&gt;Deep dive cost analysis with Athena/QuickSight.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Pricing Calculator&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Estimate infrastructure costs.&lt;/td&gt;
&lt;td&gt;Planning costs &lt;em&gt;before&lt;/em&gt; deploying an application to AWS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost Allocation Tags&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Key-value tagging (&lt;code&gt;Environment: Production&lt;/code&gt;).&lt;/td&gt;
&lt;td&gt;Organizing and categorizing resource costs by department/project.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Consolidated Billing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single bill across AWS Organizations accounts.&lt;/td&gt;
&lt;td&gt;Volume discounts and centralized payment while keeping account isolation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Savings Plans&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1- or 3-year spend commitment.&lt;/td&gt;
&lt;td&gt;Flexible compute savings across EC2, Fargate, and Lambda usage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Reserved Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1- or 3-year instance commitment.&lt;/td&gt;
&lt;td&gt;Steady-state EC2/RDS usage; can share benefits across Organizations accounts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Spot Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Unused EC2 capacity with interruption risk.&lt;/td&gt;
&lt;td&gt;Fault-tolerant, flexible workloads such as batch jobs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Dedicated Hosts / Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dedicated physical server or dedicated instance placement.&lt;/td&gt;
&lt;td&gt;Compliance, server-bound licenses, physical isolation requirements.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Capacity Reservations&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reserve EC2 capacity in a specific AZ.&lt;/td&gt;
&lt;td&gt;Ensure capacity availability without necessarily getting a billing discount.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Data Transfer Pricing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Inbound usually free; outbound and cross-Region usually charged.&lt;/td&gt;
&lt;td&gt;Watch egress and inter-Region traffic costs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Free Tier&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Free plan:&lt;/strong&gt; Up to $200 credits over 6 months (new accounts). &lt;strong&gt;Always Free:&lt;/strong&gt; 30+ services within monthly limits (both plans). &lt;strong&gt;Short-term trials:&lt;/strong&gt; Time-limited trials for select paid services.&lt;/td&gt;
&lt;td&gt;Starting hands-on experience with AWS at no cost; practicing core services without incurring charges.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Marketplace&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Digital catalog of third-party software.&lt;/td&gt;
&lt;td&gt;Finding, buying, and deploying software that runs on AWS with unified billing.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Cost Anomaly Detection&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Machine Learning cost monitors.&lt;/td&gt;
&lt;td&gt;Automatically detecting and alerting on anomalous or unexpected billing activity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Billing Conductor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Custom pro forma billing.&lt;/td&gt;
&lt;td&gt;Customizing billing parameters and sharing billing views with business partners/clients.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  8. Integration, Developer, &amp;amp; Machine Learning
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Application Integration
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Architecture&lt;/th&gt;
&lt;th&gt;Communication Model&lt;/th&gt;
&lt;th&gt;Primary Exam Keyword / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon SQS (Simple Queue Service)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Message Queue&lt;/td&gt;
&lt;td&gt;Pull-based (Consumers pull messages)&lt;/td&gt;
&lt;td&gt;Decoupling components; processing asynchronous transactions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon SNS (Simple Notification Service)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pub/Sub Topic&lt;/td&gt;
&lt;td&gt;Push-based (Fan-out pattern)&lt;/td&gt;
&lt;td&gt;Broadcasting single notifications (Email, SMS) to multiple targets.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EventBridge&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless Event Bus&lt;/td&gt;
&lt;td&gt;Push-based (Event routing &amp;amp; scheduling)&lt;/td&gt;
&lt;td&gt;Routes real-time events from AWS services, SaaS apps, and custom apps using pattern matching rules; supports scheduled events via EventBridge Scheduler; sends to multiple targets (Lambda, SNS, SQS, Kinesis, Firehose, etc.); event transformation and filtering capabilities.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Step Functions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;State Machine Workflow&lt;/td&gt;
&lt;td&gt;Visual orchestration&lt;/td&gt;
&lt;td&gt;Coordinating sequential multi-step serverless tasks (Lambda).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS SWF (Simple Work Flows)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Coordinated Workflow&lt;/td&gt;
&lt;td&gt;Task-based (Deciders &amp;amp; Workers)&lt;/td&gt;
&lt;td&gt;Orchestrating complex, long-running, programmatic workflows; human approval steps and custom retry/compensation logic.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Developer Tools
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Primary Function&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CLI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Command Line Interface&lt;/td&gt;
&lt;td&gt;Control AWS services using text commands in a terminal.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CloudShell&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Browser-based shell&lt;/td&gt;
&lt;td&gt;Executing CLI scripts directly from the AWS Console without installs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Cloud9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Browser-based IDE&lt;/td&gt;
&lt;td&gt;Writing and debugging code collaboratively in the cloud.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CodeCommit&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Git Repository&lt;/td&gt;
&lt;td&gt;Hosting private Git repositories natively in AWS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CodeBuild&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Build &amp;amp; Test&lt;/td&gt;
&lt;td&gt;Compiling source code and running automated testing scripts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CodeDeploy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Code Deployment&lt;/td&gt;
&lt;td&gt;Automating application updates onto EC2, ECS, or Lambda.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CodePipeline&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CI/CD Orchestration&lt;/td&gt;
&lt;td&gt;Designing and managing the workflow from commit to deploy.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS X-Ray&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Distributed tracing &amp;amp; debugging&lt;/td&gt;
&lt;td&gt;Analyzing and debugging production, distributed serverless applications (visualizing service maps).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CDK&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Infrastructure as Code using programming languages&lt;/td&gt;
&lt;td&gt;Defining repeatable AWS infrastructure with code.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Machine Learning &amp;amp; AI (No ML expertise required)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Primary Function / Keyword&lt;/th&gt;
&lt;th&gt;Primary Exam Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon SageMaker&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Build, Train, Deploy custom ML.&lt;/td&gt;
&lt;td&gt;Fully custom machine learning modeling workbench.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Bedrock&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Generative AI, Foundation Models.&lt;/td&gt;
&lt;td&gt;Building generative AI apps using API-based foundation models.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Lex&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Conversational chatbots (Alexa tech).&lt;/td&gt;
&lt;td&gt;Creating customer service chatbots for websites/apps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Rekognition&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Image &amp;amp; Video analysis.&lt;/td&gt;
&lt;td&gt;Facial recognition, locating unsafe content, labeling objects in photos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Transcribe&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Speech-to-Text.&lt;/td&gt;
&lt;td&gt;Generating text transcripts from audio recordings.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Polly&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Text-to-Speech.&lt;/td&gt;
&lt;td&gt;Converting written text into lifelike spoken voice.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Translate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Language translation.&lt;/td&gt;
&lt;td&gt;Localizing application text content into multiple languages.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Comprehend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Natural Language Processing (NLP).&lt;/td&gt;
&lt;td&gt;Analyzing customer feedback text for sentiment (Positive/Negative).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Textract&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Document OCR + data extraction.&lt;/td&gt;
&lt;td&gt;Extracting table structures and form data from scanned PDF invoices.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Kendra&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Intelligent Document Search.&lt;/td&gt;
&lt;td&gt;Finding answers across thousands of PDF and Word files.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  9. Migration &amp;amp; Support
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Migration &amp;amp; Transfer
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Key Keywords / Characteristics&lt;/th&gt;
&lt;th&gt;Primary Exam Use Case / Scenario&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Database Migration Service (DMS)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Minimal downtime, homogeneous/heterogeneous.&lt;/td&gt;
&lt;td&gt;Migrating database to AWS while source remains operational.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Migration Hub&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single tracking dashboard.&lt;/td&gt;
&lt;td&gt;Monitoring progress of application migrations across multiple tools.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Application Discovery Service&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Discover inventory, profiling resources.&lt;/td&gt;
&lt;td&gt;Cataloging on-premises server configurations to plan migrations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Application Migration Service (MGN)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lift-and-shift server replication.&lt;/td&gt;
&lt;td&gt;Rehosting virtual/physical servers onto EC2 instances.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Snow Family&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Physical data transport. &lt;strong&gt;Snowcone &amp;lt; Snowball &amp;lt; Snowmobile.&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Migrating massive datasets (TB/PB-scale) where internet is too slow.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS DataSync&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Online automation, sync over WAN.&lt;/td&gt;
&lt;td&gt;Synchronizing local NAS storage data to S3 or EFS on a schedule.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Transfer Family&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SFTP, FTPS, FTP wrapper.&lt;/td&gt;
&lt;td&gt;Exposing S3 or EFS storage directly to users via SFTP protocol.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  AWS Support Plans
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;th&gt;Technical Support Response Times&lt;/th&gt;
&lt;th&gt;Trusted Advisor Checks&lt;/th&gt;
&lt;th&gt;Key Feature&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Basic&lt;/strong&gt; (Free)&lt;/td&gt;
&lt;td&gt;No technical cases; account/billing support only&lt;/td&gt;
&lt;td&gt;Core checks&lt;/td&gt;
&lt;td&gt;24/7 customer service, docs, whitepapers, AWS re:Post, AWS Health Dashboard.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Developer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&amp;lt; 24h (general), &amp;lt; 12h (system impaired)&lt;/td&gt;
&lt;td&gt;7 Core checks&lt;/td&gt;
&lt;td&gt;Single contact, Email support (biz hours).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Business&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&amp;lt; 4h (system impaired), &amp;lt; 1h (production down)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Full checks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Unlimited contacts, 24/7 Phone/Email/Chat.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Enterprise On-Ramp&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Production/business-critical response faster than Business&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Full checks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pool of Technical Account Managers, concierge-style guidance for growing production workloads.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Enterprise&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&amp;lt; 15m (business critical down)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Full checks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Technical Account Manager (TAM)&lt;/strong&gt;, Concierge Support.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Technical Resources &amp;amp; Partners
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;What It Is&lt;/th&gt;
&lt;th&gt;Exam Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Documentation / Whitepapers / Blogs&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Official technical guidance and best practices.&lt;/td&gt;
&lt;td&gt;Find authoritative service details and architecture/security guidance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Knowledge Center&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Troubleshooting articles and answers.&lt;/td&gt;
&lt;td&gt;Resolve common AWS account/service issues.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS re:Post&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Community Q&amp;amp;A and expert answers.&lt;/td&gt;
&lt;td&gt;Ask/search technical questions outside a support case.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Prescriptive Guidance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Migration, modernization, and architecture patterns.&lt;/td&gt;
&lt;td&gt;Follow recommended implementation patterns.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Professional Services&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Paid consulting from AWS experts.&lt;/td&gt;
&lt;td&gt;Hands-on help for large migrations or complex transformations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Solutions Architects&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AWS technical advisors.&lt;/td&gt;
&lt;td&gt;Architecture guidance during planning and adoption.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Partner Network (APN)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AWS partner ecosystem: ISVs, system integrators, consultants.&lt;/td&gt;
&lt;td&gt;Find third-party software/services and partner expertise.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Trust and Safety Team&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Abuse reporting and investigation.&lt;/td&gt;
&lt;td&gt;Report abuse of AWS resources such as spam, malware, or attacks.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  10. Service Level Agreements (SLAs)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;SLA Commitment&lt;/th&gt;
&lt;th&gt;Key Exam Detail&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Route 53&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;100% (Hosted Zones)&lt;/td&gt;
&lt;td&gt;Only AWS service with a 100% SLA; &amp;lt; 100% → ≥ 99.99% yields 10% credit.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon EC2 (Multi-AZ)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;99.99%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Region-Level SLA: instances deployed across ≥ 2 AZs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon EC2 (Single Instance)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;99.5%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Instance-Level SLA: individual EC2 instance uptime.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon S3 (Standard)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;99.9%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;S3 Standard, Express One Zone, Glacier Flexible, Glacier Deep Archive.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon S3 (IA / Intelligent-Tiering)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;99.0%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;S3 Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon RDS (Multi-AZ)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;99.95%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Multi-AZ DB Instance or DB Cluster deployment.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon RDS (Single DB Instance)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;99.5%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single-DB Instance deployment.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;SLA Credit Process:&lt;/strong&gt; Submit a support case within the second billing cycle after the incident. Credits apply as future service credits (not refunds), minimum $1 USD.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SLA Exclusions (common):&lt;/strong&gt; Force majeure, customer actions/inactions, customer equipment/software, free-tier services, and services in beta/preview.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>beginners</category>
      <category>learning</category>
      <category>resources</category>
    </item>
    <item>
      <title>Python compare script 7</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Thu, 19 Jun 2025 12:42:03 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/python-compare-script-7-32g7</link>
      <guid>https://dev.to/sachin_varghese_zele/python-compare-script-7-32g7</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
import difflib
import re

def extract_method_names(file_path):
    """Extract method names from a Java file."""
    method_names = []
    with open(file_path, 'r', encoding='utf-8', errors='ignore') as file:
        content = file.read()
        # Java method pattern: return_type methodName(parameters)
        # This regex looks for method declarations while avoiding comments and strings
        pattern = r'(?:public|protected|private|static|\s)+[\w\&amp;lt;\&amp;gt;\[\]]+\s+([\w]+)\s*\([\w\s,\[\]&amp;lt;&amp;gt;\.\]]*\)\s*(?:\{|[^;])'
        methods = re.findall(pattern, content)
        method_names.extend(methods)
    return method_names

def get_package_methods(repo_path):
    """Get all method names from Java files in a repository."""
    package_methods = {}
    for root, _, files in os.walk(repo_path):
        for file in files:
            if file.endswith('.java'):
                file_path = os.path.join(root, file)
                methods = extract_method_names(file_path)
                package_name = os.path.relpath(root, repo_path).replace(os.sep, '.')
                if package_name in package_methods:
                    package_methods[package_name].extend(methods)
                else:
                    package_methods[package_name] = methods
    return package_methods

def compare_methods(repo1_methods, repo2_methods):
    """Compare method names from two repositories and find methods unique to each."""
    comparison_results = {}
    all_packages = set(repo1_methods.keys()) | set(repo2_methods.keys())

    for package in all_packages:
        repo1_methods_set = set(repo1_methods.get(package, []))
        repo2_methods_set = set(repo2_methods.get(package, []))

        only_in_repo1 = repo1_methods_set - repo2_methods_set
        only_in_repo2 = repo2_methods_set - repo1_methods_set

        if only_in_repo1 or only_in_repo2:
            comparison_results[package] = {
                'only_in_repo1': sorted(list(only_in_repo1)),
                'only_in_repo2': sorted(list(only_in_repo2))
            }

    return comparison_results

def main(repo1_path, repo2_path, output_file='method_comparison_results.txt'):
    if not repo1_path or not repo2_path:
        print("Error: Repository paths must be specified")
        return

    repo1_methods = get_package_methods(repo1_path)
    repo2_methods = get_package_methods(repo2_path)
    comparison_results = compare_methods(repo1_methods, repo2_methods)

    # Write results to a text file
    with open(output_file, 'w', encoding='utf-8') as f:
        f.write("Method Comparison Results\n")
        f.write(f"Repo 1: {repo1_path}\n")
        f.write(f"Repo 2: {repo2_path}\n")
        f.write("=" * 80 + "\n\n")

        for package, result in comparison_results.items():
            f.write(f"InComparing methods in package: {package}\n")
            f.write("-" * 50 + "\n")
            if result['only_in_repo1']:
                f.write("Methods only in Repo1:\n")
                for method in result['only_in_repo1']:
                    f.write(f"  {method}\n")
                f.write("\n")
            if result['only_in_repo2']:
                f.write("Methods only in Repo2:\n")
                for method in result['only_in_repo2']:
                    f.write(f"  {method}\n")
                f.write("\n")

    print(f"Comparison results saved to {output_file}")

if __name__ == "__main__":
    # Replace these with the actual paths to your Java repositories
    repo1_path = '/path/to/your/first/java/repo'
    repo2_path = '/path/to/your/second/java/repo'

    # Optional: Specify the output file path
    output_file = 'java_method_comparison.txt'

    main(repo1_path, repo2_path, output_file)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Python compare script 6</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Thu, 19 Jun 2025 12:26:48 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/python-compare-script-6-77d</link>
      <guid>https://dev.to/sachin_varghese_zele/python-compare-script-6-77d</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
import difflib
import re

def extract_method_names(file_path):
    """Extract method names from a Java file."""
    with open(file_path, 'r', encoding='utf-8', errors='ignore') as file:
        content = file.read()
    # Java method pattern: return_type methodName(parameters)
    # This regex looks for method declarations while avoiding comments and strings
    pattern = r'(?:(?:public|protected|private|static|s)[\w\s]*\s+[\w&amp;lt;&amp;gt;\[\]]+\s+([\w]+)\s*\()'
    method_names = re.findall(pattern, content)
    return method_names

def get_package_methods(repo_path):
    """Get all method names from Java files in a repository."""
    package_methods = {}
    for root, _, files in os.walk(repo_path):
        for file in files:
            if file.endswith('.java'):
                file_path = os.path.join(root, file)
                methods = extract_method_names(file_path)
                package_name = os.path.relpath(root, repo_path).replace(os.sep, '.')
                if package_name in package_methods:
                    package_methods[package_name].extend(methods)
                else:
                    package_methods[package_name] = methods
    return package_methods

def compare_methods(repo1_methods, repo2_methods):
    """Compare method names from two repositories and find methods unique to each."""
    comparison_results = {}
    all_packages = set(repo1_methods.keys()) | set(repo2_methods.keys())
    for package in all_packages:
        repo1_methods_set = set(repo1_methods.get(package, []))
        repo2_methods_set = set(repo2_methods.get(package, []))
        only_in_repo1 = repo1_methods_set - repo2_methods_set
        only_in_repo2 = repo2_methods_set - repo1_methods_set
        if only_in_repo1 or only_in_repo2:
            comparison_results[package] = {
                'only_in_repo1': sorted(list(only_in_repo1)),
                'only_in_repo2': sorted(list(only_in_repo2))
            }
    return comparison_results

def main(repo1_path, repo2_path):
    if not repo1_path or not repo2_path:
        print("Error: Repository paths must be specified")
        return
    repo1_methods = get_package_methods(repo1_path)
    repo2_methods = get_package_methods(repo2_path)
    comparison_results = compare_methods(repo1_methods, repo2_methods)
    for package, result in comparison_results.items():
        print(f"\nComparing methods in package: {package}")
        if result['only_in_repo1']:
            print("Methods only in Repo1:")
            for method in result['only_in_repo1']:
                print(f"+ {method}")
        if result['only_in_repo2']:
            print("Methods only in Repo2:")
            for method in result['only_in_repo2']:
                print(f"- {method}")

if __name__ == "__main__":
    # Replace these paths with the actual paths to your repositories
    repo1_path = ''
    repo2_path = ''
    main(repo1_path, repo2_path)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Py compare script 5</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Thu, 19 Jun 2025 08:51:32 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/py-compare-script-5-3k1</link>
      <guid>https://dev.to/sachin_varghese_zele/py-compare-script-5-3k1</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
import re
import difflib

def extract_java_method_names(file_path):
    """Extract method names from a Java file."""
    method_names = []
    method_pattern = re.compile(r'^(\bpublic\b|\bprotected\b|\bprivate\b|\bstatic\b\s*)*(?=\w+\s+\w+\s*\([^)]*\))\s*\w+\s*\([^)]*\)\s*{?')
    with open(file_path, 'r', encoding='utf-8', errors='ignore') as file:
        for line in file:
            line = line.strip()
            match = method_pattern.match(line)
            if match:
                method_name = match.group(2)
                method_names.append(method_name)
    return method_names

def get_all_method_names(repo_path):
    """Get all method names from Java files in a repository."""
    package_methods = {}
    for root, _, files in os.walk(repo_path):
        for file in files:
            if file.endswith('.java'):
                file_path = os.path.join(root, file)
                methods = extract_java_method_names(file_path)
                package_name = os.path.relpath(root, repo_path).replace(os.sep, '.')
                if package_name not in package_methods:
                    package_methods[package_name] = []
                package_methods[package_name].extend(methods)
    return package_methods

def compare_methods(repo1_methods, repo2_methods):
    """Compare method names from two repositories."""
    comparison_results = {}
    all_packages = set(repo1_methods.keys()).union(repo2_methods.keys())
    for package in all_packages:
        methods1 = set(repo1_methods.get(package, []))
        methods2 = set(repo2_methods.get(package, []))
        only_in_repo1 = methods1 - methods2
        only_in_repo2 = methods2 - methods1
        if only_in_repo1 or only_in_repo2:
            comparison_results[package] = {
                'only_in_repo1': sorted(only_in_repo1),
                'only_in_repo2': sorted(only_in_repo2)
            }
    return comparison_results

def main(repo1_path, repo2_path):
    repo1_methods = get_all_method_names(repo1_path)
    repo2_methods = get_all_method_names(repo2_path)
    comparison_results = compare_methods(repo1_methods, repo2_methods)
    for package, diffs in comparison_results.items():
        print(f"\nComparing methods in package: {package}")
        if diffs['only_in_repo1']:
            print("Methods only in Repo1:")
            for method in diffs['only_in_repo1']:
                print(f"  - {method}")
        if diffs['only_in_repo2']:
            print("Methods only in Repo2:")
            for method in diffs['only_in_repo2']:
                print(f"  - {method}")

if __name__ == "__main__":
    # Replace these paths with the actual paths to your Java repositories
    repo1_path = ""
    repo2_path = ""
    main(repo1_path, repo2_path)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Py compare script 4</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Wed, 18 Jun 2025 15:15:08 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/py-compare-script-4-3lck</link>
      <guid>https://dev.to/sachin_varghese_zele/py-compare-script-4-3lck</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
import difflib


def extract_method_names(file_path):
    """Extract method names from a Python file."""
    method_names = []
    with open(file_path, 'r') as file:
        for line in file:
            line = line.strip()
            if line.startswith('def '):
                # Extract method name
                method_name = line.split('(')[0][4:]  # Get the name after 'def'
                method_names.append(method_name)
    return method_names


def get_package_methods(repo_path):
    """Get all method names from Python files in a repository."""
    package_methods = {}
    for root, _, files in os.walk(repo_path):
        for file in files:
            if file.endswith('.py'):
                file_path = os.path.join(root, file)
                methods = extract_method_names(file_path)
                package_name = os.path.relpath(root, repo_path).replace(os.sep, '.')
                package_methods[package_name] = methods
    return package_methods


def compare_methods(repo1_methods, repo2_methods):
    """Compare method names from two repositories."""
    comparison_results = {}
    for package, methods in repo1_methods.items():
        if package in repo2_methods:
            repo2_method_names = repo2_methods[package]
            # Compare method names
            diff = difflib.unified_diff(
                methods,
                repo2_method_names,
                lineterm='',
                fromfile='Repo1',
                tofile='Repo2'
            )
            comparison_results[package] = list(diff)
    return comparison_results


def main(repo1_path, repo2_path):
    repo1_methods = get_package_methods(repo1_path)
    repo2_methods = get_package_methods(repo2_path)
    comparison_results = compare_methods(repo1_methods, repo2_methods)

    for package, diffs in comparison_results.items():
        print(f"Comparing methods in package: {package}")
        for line in diffs:
            print(line)


if __name__ == "__main__":
    # Replace these paths with the actual paths to your repositories
    repo1_path = '/path/to/repo1'
    repo2_path = '/path/to/repo2'
    main(repo1_path, repo2_path)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Py compare script 3</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Wed, 18 Jun 2025 15:14:20 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/py-compare-script-3-49jb</link>
      <guid>https://dev.to/sachin_varghese_zele/py-compare-script-3-49jb</guid>
      <description>&lt;p&gt;`import os&lt;br&gt;
import difflib&lt;/p&gt;

&lt;p&gt;def extract_method_names(file_path):&lt;br&gt;
    """Extract method names from a Python file."""&lt;br&gt;
    method_names = []&lt;br&gt;
    with open(file_path, 'r') as file:&lt;br&gt;
        for line in file:&lt;br&gt;
            line = line.strip()&lt;br&gt;
            if line.startswith('def '):&lt;br&gt;
                # Extract method name&lt;br&gt;
                method_name = line.split('(')[0][4:]  # Get the name after 'def'&lt;br&gt;
                method_names.append(method_name)&lt;br&gt;
    return method_names&lt;/p&gt;

&lt;p&gt;def get_package_methods(repo_path):&lt;br&gt;
    """Get all method names from Python files in a repository."""&lt;br&gt;
    package_methods = {}&lt;br&gt;
    for root, _, files in os.walk(repo_path):&lt;br&gt;
        for file in files:&lt;br&gt;
            if file.endswith('.py'):&lt;br&gt;
                file_path = os.path.join(root, file)&lt;br&gt;
                methods = extract_method_names(file_path)&lt;br&gt;
                package_name = os.path.relpath(root, repo_path).replace(os.sep, '.')&lt;br&gt;
                package_methods[package_name] = methods&lt;br&gt;
    return package_methods&lt;/p&gt;

&lt;p&gt;def compare_methods(repo1_methods, repo2_methods):&lt;br&gt;
    """Compare method names from two repositories."""&lt;br&gt;
    comparison_results = {}&lt;br&gt;
    for package, methods in repo1_methods.items():&lt;br&gt;
        if package in repo2_methods:&lt;br&gt;
            repo2_method_names = repo2_methods[package]&lt;br&gt;
            # Compare method names&lt;br&gt;
            diff = difflib.unified_diff(&lt;br&gt;
                methods,&lt;br&gt;
                repo2_method_names,&lt;br&gt;
                lineterm='',&lt;br&gt;
                fromfile='Repo1',&lt;br&gt;
                tofile='Repo2'&lt;br&gt;
            )&lt;br&gt;
            comparison_results[package] = list(diff)&lt;br&gt;
    return comparison_results&lt;/p&gt;

&lt;p&gt;def main(repo1_path, repo2_path):&lt;br&gt;
    repo1_methods = get_package_methods(repo1_path)&lt;br&gt;
    repo2_methods = get_package_methods(repo2_path)&lt;br&gt;
    comparison_results = compare_methods(repo1_methods, repo2_methods)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for package, diffs in comparison_results.items():
    print(f"Comparing methods in package: {package}")
    for line in diffs:
        print(line)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;":&lt;br&gt;
    # Replace these paths with the actual paths to your repositories&lt;br&gt;
    repo1_path = '/path/to/repo1'&lt;br&gt;
    repo2_path = '/path/to/repo2'&lt;br&gt;
    main(repo1_path, repo2_path)`&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Py compare script 2</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Wed, 18 Jun 2025 15:13:14 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/py-compare-script-2-3ocg</link>
      <guid>https://dev.to/sachin_varghese_zele/py-compare-script-2-3ocg</guid>
      <description>&lt;p&gt;import os&lt;br&gt;
import difflib&lt;/p&gt;

&lt;p&gt;def extract_method_names(file_path):&lt;br&gt;
    """Extract method names from a Python file."""&lt;br&gt;
    method_names = []&lt;br&gt;
    with open(file_path, 'r') as file:&lt;br&gt;
        for line in file:&lt;br&gt;
            line = line.strip()&lt;br&gt;
            if line.startswith('def '): pc&lt;br&gt;
                # Extract method name&lt;br&gt;
                method_name = line.split('(')[0][4:]  # Get the name after 'def'&lt;br&gt;
                method_names.append(method_name)&lt;br&gt;
    return method_names&lt;/p&gt;

&lt;p&gt;def get_package_methods(repo_path):&lt;br&gt;
    """Get all method names from Python files in a repository."""&lt;br&gt;
    package_methods = {}&lt;br&gt;
    for root, _, files in os.walk(repo_path):&lt;br&gt;
        for file in files:&lt;br&gt;
            if file.endswith('.py'):&lt;br&gt;
                file_path = os.path.join(root, file)&lt;br&gt;
                methods = extract_method_names(file_path)&lt;br&gt;
                package_name = os.path.relpath(root, repo_path).replace(os.sep, '.')&lt;br&gt;
                package_methods[package_name] = methods&lt;br&gt;
    return package_methods&lt;/p&gt;

&lt;p&gt;def compare_methods(repo1_methods, repo2_methods):&lt;br&gt;
    """Compare method names from two repositories."""&lt;br&gt;
    comparison_results = {}&lt;br&gt;
    for package, methods in repo1_methods.items():&lt;br&gt;
        if package in repo2_methods:&lt;br&gt;
            repo2_method_names = repo2_methods[package]&lt;br&gt;
            # Compare method names&lt;br&gt;
            diff = difflib.unified_diff(methods, repo2_method_names, lineterm='', fromfile='Repo1', tofile='Repo2')&lt;br&gt;
            comparison_results[package] = list(diff)&lt;br&gt;
    return comparison_results&lt;/p&gt;

&lt;p&gt;def main(repo1_path, repo2_path):&lt;br&gt;
    repo1_methods = get_package_methods(repo1_path)&lt;br&gt;
    repo2_methods = get_package_methods(repo2_path)&lt;br&gt;
    comparison_results = compare_methods(repo1_methods, repo2_methods)&lt;br&gt;
    for package, diffs in comparison_results.items():&lt;br&gt;
        print(f"Comparing methods in package: {package}")&lt;br&gt;
        for line in diffs:&lt;br&gt;
            print(line)&lt;/p&gt;

&lt;p&gt;if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;":&lt;br&gt;
    # Replace these paths with the actual paths to your repositories&lt;br&gt;
    repo1_path = '/path/to/repo1'&lt;br&gt;
    repo2_path = '/path/to/repo2'&lt;br&gt;
    main(repo1_path, repo2_path)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Py script to compare repo</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Wed, 18 Jun 2025 14:41:36 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/py-script-to-compare-repo-21ga</link>
      <guid>https://dev.to/sachin_varghese_zele/py-script-to-compare-repo-21ga</guid>
      <description>&lt;p&gt;import os&lt;br&gt;
import difflib&lt;/p&gt;

&lt;p&gt;def extract_method_names(file_path):&lt;br&gt;
    """Extract method names from a Python file."""&lt;br&gt;
    method_names = []&lt;br&gt;
    with open(file_path, 'r') as file:&lt;br&gt;
        for line in file:&lt;br&gt;
            line = line.strip()&lt;br&gt;
            if line.startswith('def '):&lt;br&gt;
                # Extract method name&lt;br&gt;
                method_name = line.split('(')[0][4:]  # Get the name after 'def'&lt;br&gt;
                method_names.append(method_name)&lt;br&gt;
    return method_names&lt;/p&gt;

&lt;p&gt;def get_package_methods(repo_path):&lt;br&gt;
    """Get all method names from Python files in a repository."""&lt;br&gt;
    package_methods = {}&lt;br&gt;
    for root, _, files in os.walk(repo_path):&lt;br&gt;
        for file in files:&lt;br&gt;
            if file.endswith('.py'):&lt;br&gt;
                file_path = os.path.join(root, file)&lt;br&gt;
                methods = extract_method_names(file_path)&lt;br&gt;
                package_name = os.path.relpath(root, repo_path).replace(os.sep, '.')&lt;br&gt;
                package_methods[package_name] = methods&lt;br&gt;
    return package_methods&lt;/p&gt;

&lt;p&gt;def compare_methods(repo1_methods, repo2_methods):&lt;br&gt;
    """Compare method names from two repositories."""&lt;br&gt;
    comparison_results = {}&lt;br&gt;
    for package, methods in repo1_methods.items():&lt;br&gt;
        if package in repo2_methods:&lt;br&gt;
            repo2_method_names = repo2_methods[package]&lt;br&gt;
            # Compare method names&lt;br&gt;
            diff = difflib.unified_diff(methods, repo2_method_names, lineterm='', fromfile='Repo1', tofile='Repo2')&lt;br&gt;
            comparison_results[package] = list(diff)&lt;br&gt;
    return comparison_results&lt;/p&gt;

&lt;p&gt;def main(repo1_path, repo2_path):&lt;br&gt;
    repo1_methods = get_package_methods(repo1_path)&lt;br&gt;
    repo2_methods = get_package_methods(repo2_path)&lt;br&gt;
    comparison_results = compare_methods(repo1_methods, repo2_methods)&lt;br&gt;
    for package, diffs in comparison_results.items():&lt;br&gt;
        print(f"Comparing methods in package: {package}")&lt;br&gt;
        for line in diffs:&lt;br&gt;
            print(line)&lt;br&gt;
    if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;":&lt;br&gt;
        # Replace these paths with the actual paths to your repositories&lt;br&gt;
        repo1_path = ''&lt;br&gt;
        repo2_path = ''&lt;br&gt;
        main(repo1_path, repo2_path)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Keep awake - ps script</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Sat, 14 Jun 2025 09:35:34 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/keep-awake-ps-script-1j6b</link>
      <guid>https://dev.to/sachin_varghese_zele/keep-awake-ps-script-1j6b</guid>
      <description>&lt;p&gt;Thanks for the image — the issue is clear!&lt;/p&gt;

&lt;p&gt;❌ Error Explained:&lt;/p&gt;

&lt;p&gt;Method invocation failed because [System.Object[]] does not contain a method named 'op_Addition'&lt;/p&gt;

&lt;p&gt;This means you're trying to add to a value that’s not a point object, probably because .Position is returning an array or something not cast correctly.&lt;/p&gt;




&lt;p&gt;✅ Fix — Cast the mouse position correctly before doing math&lt;/p&gt;

&lt;p&gt;Update your script like this:&lt;/p&gt;

&lt;p&gt;Add-Type -AssemblyName System.Windows.Forms&lt;br&gt;
Add-Type -AssemblyName System.Drawing&lt;/p&gt;

&lt;p&gt;Clear-Host&lt;br&gt;
Write-Host "...Lock screen avoider with mouse movement..."&lt;/p&gt;

&lt;p&gt;$sleep = 30  # seconds&lt;/p&gt;

&lt;p&gt;while ($true) {&lt;br&gt;
    # Get and cast current mouse position properly&lt;br&gt;
    $pos = [System.Windows.Forms.Cursor]::Position&lt;br&gt;
    $x = $pos.X&lt;br&gt;
    $y = $pos.Y&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Move slightly and back
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x + 1, $y)
Start-Sleep -Milliseconds 100
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)

Write-Host "Mouse moved to prevent lock. Waiting $sleep seconds..."
Start-Sleep -Seconds $sleep
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;




&lt;p&gt;✅ Why this works:&lt;/p&gt;

&lt;p&gt;$pos.X and $pos.Y safely extract coordinates as numbers.&lt;/p&gt;

&lt;p&gt;New-Object System.Drawing.Point(...) constructs a valid point object for cursor movement.&lt;/p&gt;

&lt;p&gt;Avoids the invalid attempt to do math on an object array.&lt;/p&gt;




&lt;p&gt;Let me know if you'd like:&lt;/p&gt;

&lt;p&gt;To run it in the background silently&lt;/p&gt;

&lt;p&gt;A scheduled task version&lt;/p&gt;

&lt;p&gt;A .ps1 file ready to download and use&lt;/p&gt;

</description>
      <category>powershell</category>
      <category>automation</category>
    </item>
    <item>
      <title>Letter01</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Wed, 23 Apr 2025 14:11:02 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/letter01-1ad6</link>
      <guid>https://dev.to/sachin_varghese_zele/letter01-1ad6</guid>
      <description>&lt;p&gt;Here's a professional and concise email you can send to your Business Analyst to be forwarded to the client:&lt;/p&gt;




&lt;p&gt;Subject: Clarification Required Regarding RAALL002 Script and OB Episode Error&lt;/p&gt;

&lt;p&gt;Hi [Business Analyst's Name],&lt;/p&gt;

&lt;p&gt;Could you please check with the client on the following points regarding the RAALL002 script and the OB Episode record error?&lt;/p&gt;

&lt;p&gt;We are unable to replicate the issue in our environment (JEDI 2.0); it is working as expected.&lt;/p&gt;

&lt;p&gt;RAALL002 is a pre-save rule, so it will be triggered first during the save and close of the OB Episode record. Please confirm if there are any other pre-save rules defined that may be executing before this one. (Specifically, any custom execution sequence implemented for OB Episode save/close in CareManage.)&lt;/p&gt;

&lt;p&gt;Typically, this error occurs when attempting to insert/update the OB Episode record in the database. However, the RAALL002 script does not involve any direct database interaction, which could otherwise cause such an error.&lt;/p&gt;

&lt;p&gt;Kindly let us know once the client confirms these details so we can proceed accordingly.&lt;/p&gt;

&lt;p&gt;Best regards,&lt;br&gt;
[Your Full Name]&lt;br&gt;
[Your Job Title]&lt;br&gt;
[Your Company Name]&lt;/p&gt;




&lt;p&gt;Let me know if you'd like to add anything specific like a ticket number or reference screenshots/logs.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>JSON to CSV - 01</title>
      <dc:creator>Sachin Varghese</dc:creator>
      <pubDate>Wed, 23 Apr 2025 07:01:41 +0000</pubDate>
      <link>https://dev.to/sachin_varghese_zele/json-to-csv-01-i9i</link>
      <guid>https://dev.to/sachin_varghese_zele/json-to-csv-01-i9i</guid>
      <description>&lt;p&gt;I'll write a Python script to convert your large JSON file to CSV format. Based on the snippet you've shared, I can see it's a complex JSON with nested structures that needs careful handling for efficient processing.&lt;/p&gt;

&lt;p&gt;Here's a Python script optimized for handling large JSON files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;gc&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;itertools&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;islice&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ijson&lt;/span&gt;  &lt;span class="c1"&gt;# You'll need to install this: pip install ijson
&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;flatten_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Flatten a nested json structure into a single level dictionary&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="n"&gt;out&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;flatten&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;''&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;type&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="nf"&gt;flatten&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;_&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="nf"&gt;type&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
                &lt;span class="nf"&gt;flatten&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nf"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;_&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;

    &lt;span class="nf"&gt;flatten&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;out&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;process_json_to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json_file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;csv_file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;batch_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Process large JSON file to CSV with batching for memory efficiency&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="c1"&gt;# Use ijson to parse the JSON file as a stream
&lt;/span&gt;    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json_file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;rb&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# For an array of objects
&lt;/span&gt;        &lt;span class="n"&gt;objects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ijson&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;items&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;item&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="c1"&gt;# Process the first object to get the headers
&lt;/span&gt;        &lt;span class="n"&gt;first_batch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;islice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;objects&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;batch_size&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;first_batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;No data found in JSON file&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt;

        &lt;span class="c1"&gt;# Flatten the first batch to get all possible headers
&lt;/span&gt;        &lt;span class="n"&gt;flattened_batch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nf"&gt;flatten_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;first_batch&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;all_headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;flattened_batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;all_headers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;

        &lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sorted&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;all_headers&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

        &lt;span class="c1"&gt;# Write to CSV
&lt;/span&gt;        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;csv_file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;w&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;csvfile&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;writer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DictWriter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;csvfile&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fieldnames&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writeheader&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

            &lt;span class="c1"&gt;# Write the first batch
&lt;/span&gt;            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;flattened_batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

            &lt;span class="c1"&gt;# Process the rest of the file in batches
&lt;/span&gt;            &lt;span class="n"&gt;batch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;objects&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;flatten_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="n"&gt;batch_size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writerows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                    &lt;span class="n"&gt;batch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
                    &lt;span class="n"&gt;gc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;collect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;# Force garbage collection
&lt;/span&gt;
            &lt;span class="c1"&gt;# Write any remaining items
&lt;/span&gt;            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writerows&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;json_file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;your_large_file.json&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;  &lt;span class="c1"&gt;# Replace with your JSON file path
&lt;/span&gt;    &lt;span class="n"&gt;csv_file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;output.csv&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;

    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Converting &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;json_file&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; to &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;csv_file&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;process_json_to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json_file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;csv_file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Conversion complete! Output saved to &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;csv_file&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CSV file size: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getsize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;csv_file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; MB&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key optimization techniques used in this script:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stream parsing with ijson&lt;/strong&gt;: Instead of loading the entire JSON into memory, ijson parses the file as a stream, which is crucial for large files.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Batch processing&lt;/strong&gt;: Processing the data in batches (1000 records at a time) to control memory usage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flattening nested structures&lt;/strong&gt;: The &lt;code&gt;flatten_json&lt;/code&gt; function converts nested JSON objects into a flat structure suitable for CSV.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Garbage collection&lt;/strong&gt;: Explicitly calling &lt;code&gt;gc.collect()&lt;/code&gt; after processing each batch to free up memory.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Optimized CSV writing&lt;/strong&gt;: Using &lt;code&gt;DictWriter&lt;/code&gt; for efficient CSV creation.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You may need to adjust the script based on the exact structure of your JSON. If your JSON is not an array at the root level but has a different structure, you'll need to modify the ijson path in &lt;code&gt;ijson.items(f, 'item')&lt;/code&gt; to match your structure.&lt;/p&gt;

&lt;p&gt;Also, if your JSON has deeply nested structures, the flattened column names could get very long. You might want to customize the &lt;code&gt;flatten_json&lt;/code&gt; function to handle the naming scheme differently if needed.&lt;/p&gt;

&lt;p&gt;Would you like me to explain any specific part of this script in more detail?&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
