AAWWSS Flashcards
Best practice when is comes to designing architectures in the cloud. Allows common tasks to be repeated faster then doing them manually. Benefits include:
Automation
- Rapid testing and experimentation
- Reducing expenses
- Minimizing human error
- Rolling back changes safely and completely
Approach automation in 2 different ways: imperative and declarative.
This focuses on the specific step by step operations required to carry out a task.
Imperative Approach
This focuses on writing code that declares the desired result of the task, rather then how to carry it out. Requires some intelligent software to figure out the operations required to achieve the desired result.
Declarative Approach
Using code to define your infrastructure and configurations
Infrastructure As Code (IaC) Approach
Automatically creates and configures your AWS infrastructure from code that defines the resources you want it to create and how you want those resources configured.
CloudFormation
Automate the testing, building and deployment of applications to EC2 and on-premises instances
AWS Developer Tools of Commit, CodeBuild, CodeDeploy and CodePipeline
Automatically launches, configures and terminates EC2 instances as needed to meet fluctuating demand
EC2 Auto Scaling
Automates common operational tasks such as patching instances and backing up Elastic Block Store (EBS) volumes
Systems Manager
A collection of three different offerings that help automate instance configuration and application deployments using the popular Chef and Puppet configuration management platform
OpsWorks
In CloudFormation the code that defines your resources is stored in text files called ____. These use the proprietary CloudFormation language which can be written in JavaScript Object Notation (JSON) or YAMI format. Also function as infrastructure documentation.
Templates
Templates can be stored in what
S3 Buckets or a GIT Repository
A container that organizes the resources described in the template. The purpose of it is to collectively manage related resources. If you delete this, CloudFormation automatically deletes all of the resources in it.
A Stack
A JSON document, separate from a template, that specifies what resources may be updated. Create this to guard against accidental updates.
Stack Policy
A feature of CloudFormation that monitors your stacks for such changes and alerts you when they occur.
Drift Detection
Difference between CloudFormation and AWS CLI
CloudFormation: You simply adjust the template or parameters to change your resources and CloudFormation figures out how to perform the changes. Easier to update resources in cloudformation then CLI.
CLI: It’s up to you to understand how to change each resource and to ensure that a change you make to one resource doesn’t break another.
Collection of tools designed to help application developers develop, build, test and deploy their application on EC2 and on-premises instances. These tools automate the tasks that must take place to get a new application revision released in production
AWS Developer Tools
AWS Developer Tools enable more than just application development, you can also use them as part of any IaC approach to automate the deployment and configuration of your AWS infrastructure. AWS Developer tools include:
- CodeCommit
- CodeBuild
- CodeDeploy
- CodePipeline
Lets you create private Git repositories that easily integrate with other AWS services.
CodeCommit
_____ is A version control system that you can use to store source code, CloudFormation templates, documents or any arbitrary files –even binary files such as Amazon Machine Image (AMI) and Docker containers. These files are stored in a repository colloquially known as___
Git
Repo
Git uses a process called ____where all changes or commits to a repository are retained indefintely so you can always revert to an old version of a file if you need it.
Versioning
Useful for teams of people who need to collaborate on the same set of files, such as developers who collaborate on a shared source code base for an application. Allows users to check out code by copying or cloning it locally to their machine. Can make changes to it locally and then check it back in to the repository.
CodeCommit
Git uses a process called ____ to identify differences between different versions of a file.
Differencing
A set of actions performed on source code to get it ready for deployment. This specific action depends on the application.
A Build
One of the primary purposes of this process is to run tests against the new code to ensure it works properly
CodeBuild