Deploying and Managing Infrastructure at Scale Flashcards
(22 cards)
What do you know about CloudFormation?
- is a declarative way of outlining your AWS infrastructure for any resource (most of them are supported)
- for example you can say: i want a security group, i want two EC2 instances using the security group and a S3 bucket
- CloudFormation creates these for you, in the right order, with the exact configuration that you specify
What are the benefits of CloudFormation regarding infrastructure as code?
- no resources are manually created, which is excellent for control
- changes to the infrastructure are reviewed through code
What are the benefits of CloudFormation regarding costs?
- each resources within the stack is tagged with an identifier so you can easily see how much a stack costs you
- you can estimate the costs of your resources using CloudFormation template
- saving strategy: in Dev, you could automatic deletion of templates at 5pm and recreate at 8am, safely
What are the benefits of CloudFormation regarding productivity?
- ability to destroy and recreate an infrastructure on the cloud on the fly
- automated generation of diagram for your templates!
- declarative programming (no need to figure out ordering and orchestration)
What are the benefits of CloudFormation regarding “don’t re-invent the wheel”?
- leverage exitsting templates on the web
- leverage the documentation
What do you know about CloudFormation Stack Designer?
- you can see all resources
- you can see all relations
What do you know about AWS Elastic Beanstalk?
- a developer centric view of deploying an application on AWS
- it uses all the components like EC2, ASG, ELB, RDS etc…
- beanstalk = Platform as a Service (PaaS)
- the service is free (only pay for underlying services)
- just the application code is the responsibility of the developer
- support for many platforms and you can write your custom platform (advanced)
Name the five managed services of Elastic Beanstalk
- instance configuration / OS is handled by Beanstalk
- deployment strategy is configurable but performed by Elastic Beanstalk
- capacity provisioning
- load balancing & auto-scaling
- application health-monitoring & responsiveness
Name the three architecture models of Elastic Beanstalk
- single instance deployment: good for dev
- LB + ASG: great for production or pre-production web applications
- ASG only: great for non-web apps in production (workers, etc…)
What do you know about AWS CodeDeploy?
- to deploy application automatically
- works with EC2 instances
- works with On-premise servers
- hybrid service
- servers / instances must be provisioned and configured ahead of time with the CodeDeploy Agent
What do you know about AWS CodeCommit?
- before pushing the application code to servers, it needs to be stored somewhere
- developers usually store code in a repository, using the Git technology
- CodeCommit is the competing product to GitHub
- source-control services that hosts Git-based repositories
- make it easy to collaborate with others on code
- the code changes are automatically versioned
What are the three benefits of AWS CodeCommit?
- fully managed
- scalable & highly available
- private, secured, integrated with AWS
What do you know about AWS CodeBuild?
- code building service in the cloud
- compiles source code, run tests, and produces packages that are ready to be deployed (by CodeDeploy for example)
Name four benefits of AWS CodeBuild
- fully managed, serverless
- continuously scalable & highly available
- secure
- pay-as-you-go-pricing - only pay for the build time
What do you know about AWS CodePipeline?
- orchestrate the different steps to have the code automatically pushed to production
- code->build-> test->provision->deploy
- basis for CI/CD
Name two benefits of AWS CodePipeline
- fully managed, compatible with CodeCommit, CodeBuild, CodeDeploy, Elastic Beanstalk, CloudFormation, 3rd-Party services (GitHub for example) & custom plugins
- fast delivery & rapid updates
What do you know about AWS CodeArtifact?
- software packages depend on each other to be built (also called code dependencies) and new ones are created
- storing and retrieving these dependencies is called artifact management
- traditionally you need to setup your own artifact management system
- CodeArtifact is a secure, scalable and cost-effective artifact management for software development
- works with common dependency management tools such as Maven, Gradle, npm, yarn, twine, pip and NuGet
- developers and CodeBuild can retrieve dependencies straight from CodeArtifact
What do you know about CodeStar?
- unified UI to easy manage software development activities in one place
- “Quick way” to get started to correctly set-up CodeCommit, CodePipeline, CodeBuild, CodeDeploy, Elastic Beanstalk, EC2, etc…
- can edit the code “in-the-cloud” using AWS Cloud9
What do you know about Cloud9?
- cloud IDE for writing, running and debugging code
- “classic IDE” (like IntelliJ, Visual Studio Code…) are downloaded on a computer, but a cloud IDE can be used within a web browser -> you can work from everywhere (anywhere with internet)
- allows for code collaboration in real-time (pair programming)
What do you know about AWS System Manager (SSM)?
- helps you manage your EC2 and on-premisse systems at scale
- another hybrid AWS service
- get operational insights about the state of your infrastructure
- suite of 10+ products
- works for both Windows and Linux OS
Name the three important features of SSM
- patching automation for enhanced compliance
- run commands across an entire fleet of services
- store parameter configuration with the SSM Parameter Store
What do you know about AWS OpsWorks?
- managed Chef & Puppet
- is an alternative to AWS SSM
- only provision standard AWS resources like EC2 instances, databases, Load Balancers, EBS volumes…
- in the exam: chef or puppet needed –> AWS OpsWorks