cd ..
CLOUD

Provisioning on AWS: Console, CLI, CloudFormation, and Managed Services

You can create a resource by clicking in the console, running a command, or applying an infrastructure description. The result may involve the same services, but the way you work changes significantly.

In Amazon Web Services (AWS), it’s worth distinguishing the interface used to request an operation from the service that manages an environment for you.

Interfaces access APIs

An Application Programming Interface (API) allows you to request operations from a service. The console and automation tools use these interfaces to create, query, and modify resources.

Access methodHow you workTypical use
AWS Management ConsoleGraphical interfaceExplore resources and perform manual operations
AWS Command Line Interface (CLI)Commands in the terminalQueries and scripts
Software Development Kit (SDK)Libraries in the application’s languageIntegrate code with services
AWS CloudFormationInfrastructure descriptionCreate and update resource sets

Changing the interface does not exempt from authentication or permissions. A command does not gain access to a resource just by being executed in the terminal. The EC2 documentation gathers examples of these access methods.

CloudFormation: Infrastructure described in code

Infrastructure as Code (IaC) allows you to record configurations in files that can be reviewed and versioned.

In CloudFormation, a template describes resources. A stack gathers the resources managed from that template. The service organizes provisioning and necessary dependencies.

This is different from maintaining a list of clicks to repeat manually. The template can be reapplied to create similar environments, with specific values for each environment. How CloudFormation works.

Changes still need to be reviewed: a property change may require resource replacement. Declaring infrastructure does not eliminate the impact of deleting or recreating something that contains data.

Provisioning is not the same as application deployment

Provisioning creates and configures infrastructure. Deploying places a version of the application in the environment. Some tools cover parts of both processes, but the responsibilities remain distinguishable.

Imagine a team creating test and production environments. CloudFormation can describe the resources and their configurations. The team still needs to define how they build the application, how they publish versions, and how they verify if the deployment worked.

When a managed service simplifies the work

This section also presents services that address more specific needs than a general provisioning tool.

ServiceMain needComparison limit
Elastic BeanstalkDeploy applications on supported platformsNot just a template editor
AWS BatchSchedule and execute batch processingNot the natural choice for responding to every website click
Amazon LightsailCreate environments with a simplified experience and resource bundlesDoes not remove maintenance of the software you manage
AWS OutpostsUse AWS infrastructure in on-premises environmentNot an alternative console interface

Elastic Beanstalk provisions resources for the application and helps manage the environment. Depending on the configuration, this includes instances, load balancing, and scaling. You remain responsible for the code and environment choices; the resources used are charged. Elastic Beanstalk.

Batch organizes jobs and compute capacity for batch tasks. A queue of thousands of files to process is a scenario closer to its purpose than a page that needs to respond immediately. AWS Batch.

Lightsail offers a simplified experience with resources grouped into plans. A small website can take advantage of this, but package predictability does not mean an absence of limits or additional costs. Amazon Lightsail.

Outposts extends compatible AWS infrastructure and services to on-premises facilities. It can meet local processing and low-latency needs with nearby systems; it requires physical planning and connectivity. It does not automatically make the entire regional catalog available in the data center. AWS Outposts.

How to decide without mixing categories

If the difficulty is repeating infrastructure consistently, evaluate IaC. If the team wants to deliver an application on a supported platform with less manual assembly, evaluate Beanstalk. If you need to manage thousands of batch tasks, evaluate Batch.

Do not use a deployment platform as an automatic substitute for a data recovery strategy. And do not choose on-premises infrastructure when the project only needs conventional hosting in a region.

Practice Question for CLF-C02

A team wants to describe AWS resources in templates and manage these resources as a reproducible unit. Which service directly addresses this objective?

Answer: A. Templates and stacks are the infrastructure management mechanisms described in the scenario.

B addresses infrastructure extension to the on-premises environment. C organizes batch jobs. D simplifies hosting, but the characteristic mentioned does not correspond to management via templates and stacks.

Summary

Console, CLI, and SDK are forms of interaction. CloudFormation describes and manages infrastructure. Beanstalk, Batch, Lightsail, and Outposts address specific needs for deployment, processing, simplicity, and location. For the certification, identify the problem before associating it with a service name.

Official documentation

What did you think?