Dev Tools Flashcards

1
Q

What is Amplify?

A

Helps developers quickly build full stack apps (mobile & web apps) by providing tools, libraries and services

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Name 3 features of Amplify?

A
  1. Framework flexibility
  2. Figma integration for design
  3. AWS Device Farm for testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does CI/CD stand for?

A

Continuous Integration / Continuous Delivery which helps developers build, test & deploy their changes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Cloud9?

A

Cloud9 is a web-based IDA for coding and debugging

It consists of 2 main components:
1. The development environment (EC2-based (aws manages instance) or SSH-based (you manage instance)) and the IDE itself

Its best used for serverless development (AWS Lambda) and it is free

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Cloud Shell?

A

Cloud Shell is a browser-based Linux shell within the AWS Management Console that offers secure access to AWS CLIs and tools

  • It is pre-configured with the user’s AWS credentials so don’t need dev setup
  • Includes AWS CLI and CLIs for services like Elastic Beanstalk, ECS and Serverless Application Model (SAM)
  • Includes access to command-line tools like Python or Node.js
  • Provides up to 1GB of persistant storage

It simplifies the AWS Sercice interaction for developers and administrators

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Code Commit?

A

Code commit is a managed git-based source control service

  • starting point for CI/CD pipelines
  • integrates with Build, Deploy and Pipeline
  • Serverless & managed
  • 3 conntection options: HTTPS, SSH, HTTPS (GRC)
  • IAM for fine grained access control
  • pricing based on active users
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Name 2 options for enabling event-driven workflows in Code Commit?

A
  1. Send notification such as AWS Chatbot, Slack, SNS
  2. Use actions such as SNS /lambda or rule templates such as requiring approvals on prs etc)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Code Build do?

A

Build phase of CI/CD pipeline

It revolves around 3 core concepts (CodeBuild project, Build environment, Build File)

It also determines where you save output artifacts (ie., s3 bucket)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Code Deploy do?

A

Deploys for us

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the 3 core concepts AWS Build revolves around?

A

Code (Code build project)
Build env (ie., Docker)
Build file (YAML)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The buildspec file is a critical component in CodeBuild that guides the build process.

Describe key info you need to know about build spec file..

A

Should be named ‘buildspec.yml’ and placed in code root directory (can override this)

Consists of 9 sections:
(RAVER BCPP)

Run-as (linux commands)
Artifacts (storage location ie., s3)
Version
Enviroment
Reports (for test results)

Batch (build instructions)
Cache (optimizes build)
Phases (commands for install, pre-build, build, post-build)
Proxy (config proxy server settings)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does Code Pipeline do?

A

Wires pieces together

You fill out info for these 6 actions:
- approval
- source
- build
- test
- deploy
- invoke

It will follow all these it integrates all the steps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Code Star?

A

Code Star (*)
can pull different CI/CD pipelines together
ie., dev, test, prod

it simplifies and speed sup the dev, testing and deployment of apps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What file do you use to configure CodeDeploy

A

AppSpec File

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the 3 main components of code deploy?

A

Application
Deployment Group
Deployment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the application component of Code Deploy?

A

Create application & select deployment platform as either EC2/on-premises, Lambda or ECS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the Deployment Group part of Code Deploy?

A

Define the deployment group which will be:
- A group of servers for EC2
- Clusters, load balancers & target groups for ECS
- Specific settings for Lambda deployments

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the Deployment Configuration part of Code Deploy?

A

Control deployment speed using config such as Canary (gradually direct traffic to the new code)
Linear (incrementally increase traffic over time)
AllAtOnce

EC2 allows blue/green strategies

19
Q

What is code deploy agent?

A

Communicates with code deploy over HTTPs port 443

20
Q

What 2 services can Code Deploy integrate with for event notifications?

A

Cloud Watch
and
SNS

21
Q

Name the file Code Deploy uses to help you run and manage scripts during deployment

A

AppSpecFile

22
Q

The AppSpecFile helps you run and manage scripts during deployment. What do you put in the EC2 appspec?

A
  • Version
  • Operating System
  • Hooks (different deployment scripts to run at phases Before Install, Install etc)
  • Files to copied to the instance
  • Permissions
23
Q

What is the AppSpec fie in Lambda?

A

Hooks run lambda functions for deployment validations

Resource:

24
Q

What does is the difference in the AppSpec file for EC2/on-premise and AppSpec file for Lambda

A

Lambda and ECS: versions, resources, hooks

EC2: version, OS, hooks, files, permissions

25
Q

What is X-Ray

A

Designed for TRACING and flow requests through your apps.

Can be used to pinpoint bottlenecks & to understand how different services are interconnected

26
Q

Name 4 things that give us visibility and observability into our systems?

A

Cloud Watch
Cloud Trail
VPC Flow Logs
X-Ray

27
Q

Name valid deployment configurations for Code Deploy?

A

OneAtATime

HalfAtATime

AllAtOnce

Custom: (based on conditions)

Canary10Percent5Minutes: deploy 10% instances, monitor for 5 mins before deploying the rest

Canary10Percent10Minutes

Canary10Percent15Minutes

Linear10PercentEvery1Minute: Deploys to 10% of instances and increases the % every minute

Linear10PercentEvery2Minutes

Linear10PercentEvery3Minutes

28
Q

Can you use the X-Amzn-Trace-Id tracing header to send AWS X-Ray trace headers through Amazon SQS?

A

Yes

29
Q

Can you use the AWSTraceHeader message system attribute to send X-Ray trace headers through SQS?

A

Yes

30
Q

You need to IDENTIFY bottlenecks in LAMBDA FUNCTIONS & provide solutions.

What will be your main tool?

A

X-Ray

You might think Cloud Watch, but once you find a time you might look at Cloud Watch logs

31
Q

What is CI?

A

CI is continuously integrating code from multiple developers into a shared code base

32
Q

What AWS tools do you use for CI?

A

Code Build
Code Pipeline
Code Commit

33
Q

What is CI and name its benefits

A

CI tests our code & checks it works as expected

Ensures maintain high quality & ensures don’t introduce errors

34
Q

Describe blue/green deployment?

A

blue/green is when you run two versions of the application at the same time

After the new version runs successfully, the service will be switched to the new version so that the service can run continuously.

35
Q

What is CD doing?

A

After CI, it deploys it on an environment that looks like the environment to check if it works

36
Q

10 points about CD?

A
  • Continuously run code
  • Modular code
  • Proritise security
  • Start new dev as MONOLITHS
  • Gradually refactor monnoliths into microservices
  • Use immutable/mutable servers with caution to avoid “snowflake” servers
  • Implement no/low downtime deployments ie., green, blue and canary
  • Aim for seamless releases
37
Q

What is code guru

A
38
Q

List steps of the CI/CD pipeline?

A
  1. Commit change (Code Commit)
  2. Trigger build
  3. Build
  4. Notify of build outcome
  5. Run test
  6. Notify of test outcome
  7. Deliver build to environment
  8. Deploy where necessary
39
Q

What does Code Artifact do?

A

Keeps packages and artifacts for deployment

40
Q

Describe Code Commits 3 connection options

A

HTTPS (convenient, firewall friendly)
SSH (enhanced security)
HTTPS (GRC) for temp credentials

41
Q

What 2 actions can you choose between when configuring a new deployment type in AWS CodeDeploy?

A

blue-green (increases availability, reduces risk)
in-place (minimal disturbance to underlying infrastructure)

42
Q

Is it true that mutable servers scale less effectively than immutable servers

A

Yes

43
Q

In which stage of the AWS CodePipeline is the code deployment setup run?

A

staging