Technology - Developer Tools & Deployment Flashcards
Cloud9
Allows to write and debug code within an integrated development environment (IDE) from within a web browser/
E.g. building a serverless application by writing code for Lambda directly in a web browser.
CodeCommit
A source control system for private Git repos. Allows to create repos to store code, commit, branch, merge and collab.
E.g. manage versions of source code files for your app - like GitHub
CodeBuild
Allows to build and test application source code. You can compile source code, run tests, CICD, build artifacts.
E.g. run tests before deploying a new version of the app to prod.
CodeDeploy
Manages the deployment of code to compute services in the cloud (EC2, Fargate, Lambda) or on-prem and helps to maintain app uptime.
E.g. maintain app uptime when rolling out a new version using ‘rolling deployments’.
CodePipeline
Automates the software release process.
Allows for a quick delivery of new features and updates, integrates with CodeBuild to run tests; CodeCommit to retrieve source code; CodeDeploy to deploy changes.
E.g. add automation to building, testing and deployment of the app
X-Ray
Helps to analyse and debug production apps. You can map apps components and view requests end-to-end.
E.g. trace calls to an RDS database from within your app.
CodeStar
Allows developers to collaborate on development projects.
You can connect your dev environment to CodeStar, which integrates with CodeCommit, CodeBuild and CodeDeploy. Contains issue tracking dashboard.
E.g. manage dev pipeline.
Infrastructure as Code
IaC allows you to write a script to provision AWS resources in a reproducible manner that saves time.
CloudFormation
Allows to provision AWS resources using IaC using repeatable processes.
E.g. automate creation of EC2 instances in AWS account based on a template
Elastic Beanstalk
Orchestration service to automatically deploy and scale web apps and web services ONLY to AWS, as well as monitors apps health via dashboard.
E.g. deploy a scalable java-based web app to AWS; Beanstalk will handle: deploy, provision capacity, load balancing, auto scaling, monitoring.
OpsWork
Use Chef or Puppet to automate configuration of your servers, deploy code and manage your apps (located on on-prem servers or EC2 instances).
E.g. automate software config and infrastructure mgmt of the app