All guides
Practice now
D3 · Cloud technology and services

Deployment and operations on AWS

AWS offers multiple ways to interact with its services and deploy infrastructure. The CLF-C02 tests when to use the web console vs CLI vs SDK, the benefits of Infrastructure as Code, and when to choose cloud, on-premises, or hybrid.

Ways to access AWS

Every operation on AWS is an HTTP API call. The different access methods are simply different ways of making those API calls.

AWS Management Console

Web GUI

Graphical web interface for managing every AWS service. The main entry point for users who prefer a visual interface. Accessible from any browser at console.aws.amazon.com.

When to use

Exploring services, one-off tasks, complex configurations with many visual options, debugging, non-technical users.

Limitations

Repetitive operations across many resources. Higher risk of human error.

AWS CLI (Command Line Interface)

Terminal / Scripts

Unified command-line tool for managing every AWS service. Enables scripting and automation. Available on Windows, macOS, and Linux.

When to use

Automation scripts, bulk resource management, CI/CD pipeline integration, technical users who prefer the terminal.

Limitations

Not ideal for initial service exploration or for users without terminal experience.

AWS SDKs

Code integration

Libraries for interacting with AWS from application code. Available for Python (boto3), JavaScript/Node.js, Java, .NET, Go, Ruby, PHP, and more.

When to use

Applications that need to interact with AWS programmatically (e.g., an app that uploads files to S3, a Lambda that reads from DynamoDB).

Limitations

Not for infrastructure administration — use CLI or CloudFormation for that.

Direct REST APIs

Direct HTTP

Every AWS operation is an HTTP API (GET, POST, PUT, DELETE). The SDKs and CLI are convenient wrappers around these APIs. You can call them directly with any HTTP client.

When to use

Advanced cases: languages without an official SDK, integration with tools that only support HTTP.

Limitations

In practice you should always use the SDK or CLI instead of calling the REST API directly.

AWS CloudShell

Browser-based terminal

Browser-based terminal with the AWS CLI preinstalled, directly inside the AWS console. Nothing to install locally. Secure access using the credentials of the current session.

When to use

Running CLI commands without installing anything. Handy for quick tasks from any machine. Great for demos and learning.

Limitations

Not for long-running scripts (limited session). Files do not persist between sessions (except the home directory).

Infrastructure as Code (IaC)

Infrastructure as Code (IaC) is the practice of defining and managing infrastructure through code instead of manual processes. It lets you treat infrastructure like any other code: version-controlled, reviewed, tested, and automated.

Icon-Architecture/48/Arch_AWS-CloudFormation_48

Declarative IaC using JSON/YAML templates

Define your AWS infrastructure in template files (JSON or YAML). CloudFormation provisions and configures every resource automatically in the correct order.

  • •
    Stacks: a collection of AWS resources managed as a single unit
  • •
    Change Sets: preview changes before applying them
  • •
    Drift detection: detects when live infrastructure differs from the template
  • •
    Rollback: if a resource fails, the entire stack is rolled back
  • •
    Free: no charge for CloudFormation itself, only for the resources it creates

(Cloud Development Kit)

Framework for defining IaC using real programming languages: Python, TypeScript, Java, .NET. The CDK generates CloudFormation templates automatically. More productive for developers who prefer real code over YAML.

Icon-Architecture/48/Arch_AWS-Elastic-Beanstalk_48

Elastic Beanstalk as a alternative

Elastic Beanstalk is a higher-level alternative: you upload your code (ZIP, WAR, JAR) and AWS automatically provisions EC2, ELB, Auto Scaling, and more. No IaC templates to write. Ideal for teams that just want to deploy code.

Benefits of IaC

Repeatability

The same template creates identical environments in dev, staging, and prod. No configuration drift.

Version control

Infrastructure lives in Git. Full change history, code review, branches.

Consistency

Eliminates manual errors. The exact same infrastructure every time, no "works on my machine."

Automation

CI/CD can deploy infrastructure and applications automatically. Faster delivery cycles.

Deployment models

The exam can present scenarios where you must pick the right deployment model based on business requirements.

☁️

Cloud (Public cloud)

All resources run on AWS infrastructure. No owned hardware. Fully managed.

Advantages

  • • Unlimited scalability
  • • No hardware investment
  • • High availability across multi-AZ/region
  • • Instant global reach

When to choose

New applications, startups, variable workloads, small teams without infrastructure expertise.

🏢

On-premises (Private cloud)

Infrastructure owned in the company's own datacenter. AWS Outposts can bring AWS hardware into that datacenter.

Advantages

  • • Full control over data
  • • Ultra-low local latency
  • • Strict regulatory compliance
  • • Processing without internet access

When to choose

Highly sensitive data, regulations that prohibit the cloud, latency requirements <1ms, disconnected environments.

🔀

Hybrid

A combination of cloud and on-premises connected via VPN or AWS Direct Connect. The best of both worlds.

Advantages

  • • Gradual migration
  • • Sensitive data on-prem + processing in the cloud
  • • Disaster recovery in AWS
  • • Compliance + scalability

When to choose

Companies transitioning to the cloud, regulated data that cannot leave the country, extending on-prem capacity.

Connectivity for the model

(Site-to-Site): encrypted connection over the public internet between your datacenter and AWS. Quick to set up, lower cost, variable latency.

: dedicated private connection between your datacenter and AWS. Higher bandwidth, consistent latency, no public internet. More expensive and slower to set up.

Manual vs automated processes

Manual processes (one-time)

For tasks done once or exceptionally, the web console or interactive CLI are appropriate.

  • • Setting up a new AWS account
  • • Investigating a security incident
  • • Tweaking settings on a specific service
  • • Exploring new AWS services
  • • Unplanned emergency tasks

Tools: Web console, interactive AWS CLI, CloudShell

Automated processes (repeatable)

For repetitive, consistent, scalable tasks, automation is essential. It reduces errors and frees up the team's time.

  • • Deploying dev/staging/prod environments
  • • Creating/destroying infrastructure for testing
  • • Frequent application deployments
  • • Provisioning new customer environments
  • • Automatic response to alarms (auto-healing)

Tools: CloudFormation, CDK, Systems Manager, EventBridge Rules

Icon-Architecture/48/Arch_AWS-CodePipeline_48

CI/CD with AWS CodePipeline

AWS CodePipeline automates the full delivery flow: from code commit to production deployment. It integrates CodeBuild (build/test), CodeDeploy (deployment), and more.

Git commit→CodeBuild (build + tests)→Deploy staging→Deploy production

AWS Outposts

AWS Outposts brings AWS infrastructure, services, APIs, and tools to virtually any customer facility. It's physical AWS hardware installed in your datacenter, managed remotely by AWS.

Key features

  • •
    Same APIs as AWS: you use the same CLI, SDK, and console as regular AWS
  • •
    AWS-owned hardware: AWS installs, manages, and updates the hardware
  • •
    Integration with an AWS Region: connected to an AWS Region as an extension
  • •
    Supported services: EC2, EBS, S3 (Outposts S3), RDS, , ECS, and more

When to use Outposts

  • •
    Ultra-low latency: applications that require <1ms between the app and the data
  • •
    Data residency: regulations requiring data to stay within a country or building
  • •
    Gradual migration: modernizing without moving everything to an AWS Region right away
  • •
    Local processing: industries with limited or intermittent connectivity

For the exam

AWS Outposts = a hybrid model where AWS manages the on-premises hardware. Same experience as AWS, but in your datacenter.

Did you get this topic?

Test what you just learned

A company wants to deploy identical environments for development, staging, and production on AWS. Each environment is currently created manually in the console, which leads to configuration drift between environments. Which approach best solves this problem?

Ready to test "Deploying and operating on AWS"?

Put what you learned to the test with original CLF-C02 exam questions.

Start CLF-C02 mock exam

Unlimited mock exams with the Pro plan

Log in to track your progress.