- Step Functions coordinate multiple AWS services into serverless workflows using State Machines.
- A state machine is an abstract model which decides how one state moves to another based on a series of conditions.
AWS Developer Associate
- API Gateway is a solution for creating secure API's in your cloud environment at any scale.
- Create API's that act as a front door for applications to access data, business logic, or functionality from back-end services.
- API Gateway throttles API endpoints at 10,000 requests per second (can be increase via service request through AWS support).
- Stage allow you to have multiple published versions of your API eg.
- ElastiCache is a managed in-memory caching service.
- ElastiCache can launch either Memcached or Redis.
- Memcached is a simple key / value store preferred for caching HTML fragments and is arguably faster than Redis.
- Redis has richer data types and operations.
- Simple Storage Service (S3) Object-based storage. Store unlimited amount of data without worry of underlying storage infrastructure.
- S3 replicates data across at least 3 AZ's to ensure 99.99% availability and 11 9's of durability.
- Objects contain your data (they are like files).
- Objects can be size anywhere from 0 Bytes up to 5 Terabytes.
- Buckets contain objects. Buckets can also contain folders which can in turn can contain objects.
- Bucket names are unique across all AWS accounts.
- Relational Database Service (RDS) is the AWS Solution for relational databases.
- RDS instances are managed by AWS, You cannot SSH into the VM running the database.
- There are 6 relational database options currently available on AWS, Aurora, MySQL, MariaDB, Postgres, Oracle, Microsoft SQL Server.
- Multi-AZ is an option you can turn on which makes an exact copy of your database in another AZ that is only standby.
- For Multi-AZ AWS automatically synchronizes changes in the database over to the standby copy.
- Multi-AZ has automatic failover pr
- CodePipeline is a fully-managed CI/CD pipeline to setup automatic deployments.
- Anatomy of CodeDeploy
1 Pipeline - encompasses all components.
2 Stage - a step in the pipeline eg. Source > Build > Deploy.
3 Action Group - groups several actions together.
4 Artifact - a zip stored in S3 containing outputted files from an action to pass along to another stage of the pipeline.
5 Stage Transitions - link to the next pipeline stage.
- Use Cases
- A fully-managed deploy pipeline to deploy to staging or production environments.
- Can deploy to EC2, On-Premise, Lambda or ECS.
- Can Perform In-Place or Blue/Green Deployments.
1 In-Place - instances are breifly taken offline, updates are applied to existing servers.
2 Blue/Green - Replaces instances with new instances. Swapping environments.
- CodeDeploy Core Components
1 Application - Encompassess all other components. Unique ID of the application being deployed.
- CodeBuild is a fully-managed build pipeline to create temporary servers to build and test code.
- Compile source code, runs unit tests, and produces artifacts that are ready to deploy.
- Provides prepackaged build environments or you can build your own environments as a Docker container.
- Uses a Buildspec.yml to provide build instructions. This file is stored in the root of your project.
1 Version 0.1 - runs each build command in a separate instance.
2 Version 0.2 - runs all build commands in the same instance.
- CI/CD is automated methodologies that prepare, test, deliver or deploy code into a servers.
- Production an env which is intended to be used by paying users.
- Staging an env which is intended to simulate a production env for last stage debugging.
- Continuous Integration (CI)
1 Automating the review of developer's code.
2 eg. Run test suites with a build server to eg. CodeBuild.
- CloudTrail logs calls between AWS services.
- Governance, compliance, operational auditing, and risk auditing are keywords relating to CloudTrail.
- When you need to know who to blame think CloudTrail.
- To track beyond 90 days you need to create Trail.
- To ensure logs have not been tampered with you need to turn on Log File Validation option.
- CloudTrail logs can be encrypted using KMS (Key Management Service).
- CloudTrail can be set to log across all AWS accounts in an organization and all regions in an account.