This chapter covers the following official AWS Certified SysOps Administrator – Associate (SOA-C02) exam domain:
Domain 3: Deployment, Provisioning, and Automation
(For more information on the official AWS Certified SysOps Administrator – Associate [SOA-C02] exam topics, see the Introduction.)
Resources in the cloud often contain software that needs to be maintained. This includes handling the lifecycle management of software as well as routine operations such as upgrading and patching software.
In this chapter, you learn about these application management processes, as well as the applications and tools that you may utilize in your AWS account to make the process of managing applications easier and more automated.
This section covers the following official AWS Certified SysOps Administrator – Associate (SOA-C02) exam topics for Domain 3: Deployment, Provisioning, and Automation:
3.1 Provision and maintain cloud resources
3.2 Automate manual or repeatable processes
If you can correctly answer these questions before going through this section, save time by skimming the Exam Alerts in this section and then completing the Cram Quiz at the end of the section.
1. Which deployment should contain the live solution that your organization uses?
2. What is an LTS build?
1. Answer: Production.
2. Answer: An LTS build is a stable build that should be supported for a longer than average period of time.
Deploying resources isn’t just about provisioning a server or a database. Resources in the cloud cost your organization money, both in direct costs from AWS as well as the money to maintain the resources. Additionally, a mis-deployed resource can cost additional money and can bring an operation to a standstill.
The following sections focus on the different application builds you should consider when planning your deployment. They also cover different upgrade methods that can have an impact on your resources.
A major consideration when deciding how to deploy applications in the cloud is to determine which environments you want to create. Each environment plays a specific role in your solution. Not all environments are deployed in every situation, and each environment provides a benefit that must be weighed against the cost (typically budgetary cost, but there are other costs, such as manpower and maintenance costs).
In a development environment, you develop new software or modify existing software that your organization is developing. Although the development environment might be used to prepare for changes to a production environment, its primary purpose is to allow software developers to operate in an environment that doesn’t affect any live work.
In a QA environment, testing is performed before migrating changes to a production environment. Initially, the QA environment should mirror the current production environment. In the QA environment, new features and configurations are tested to ensure they meet the needs of the users and organization.
Testing can include having regular users work in the environment to ensure that the environment works as it should. Eventually, after testing is complete, the changes made to the development environment are implemented in the production environment.
The production environment is the live solution that is used by your organization.