Please enable JavaScript.
Coggle requires JavaScript to display documents.
Technology (36%) - Coggle Diagram
Technology
(
36%
)
Identify Core
AWS Services
EC2
Instance Types
General Purpose
Compute Optimised
Memory Optimised
Accelerated Computing
Storage Optimised
Pricing
On-Demand
Spot Instances
Reserved Instances
Per-Second Billing
Security Groups
VPC
S3
Amazon S3 Standard
Amazon S3 Standard - Infrequent Access
Amazon Glacier
RDS
Instance Types
General Purpose
Memory Optimized
Database Engines
Amazon Aurora
PostgreSQL
MySQL
MariaDB
Oracle
Microsoft SQL Server
Supporting Services
AWS Database Migration Service
AWS Schema Conversion Tool
Lambda
Route 53
SNS
SQS
Two types of message queues
Standard queues
offer maximum throughput, best-effort ordering, and at-least-once delivery.
SQS FIFO
queues guarantee that messages are processed exactly once, in the exact order that they are sent
Fully managed message queuing service. Send, store, and receive messages between software components at any volume, without losing messages or requiring other services to be available. Lets you decouple and scale microservices, distributed systems, and serverless applications. Eliminates the complexity and overhead associated with managing and operating message oriented middleware.
ELB
Define methods of
Deploying and Operating
in the
AWS Cloud
AWS Elastic Beanstalk
A platform configuration defines the infrastructure and software stack to be used for a given environment. When you deploy your app, Elastic Beanstalk provisions a set of AWS resources that can include Amazon EC2 instances, alarms, a load balancer, security groups, and more.
AWS CloudFormation
You create a template that describes all the AWS resources that you want (like Amazon EC2 instances or Amazon RDS DB instances), and AWS CloudFormation takes care of provisioning and configuring those resources for you.
AWS OpsWorks
AWS OpsWorks Stacks
AWS OpsWorks for Chef Automate
AWS OpsWorks is a configuration management service that helps you configure and operate applications in a cloud enterprise by using Chef
AWS CodeCommit
CodeCommit integrates with AWS CodePipeline and AWS CodeDeploy to streamline your development and release process.
AWS CodePipeline
Is a continuous integration and continuous delivery service for fast and reliable application and infrastructure updates. CodePipeline builds, tests, and deploys your code every time there is a code change, based on the release process models you define.
AWS CodeDeploy
is a service that automates code deployments and software deployments to any instance, including Amazon EC2 instances and instances running on-premises. AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications.
Amazon Elastic Container Service (ECS)
is a highly scalable, high performance container management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances. Amazon ECS eliminates the need for you to install, operate, and scale your own cluster management infrastructure.
Non-AWS Solutions
Infrastructure as Code
Terraform
Salt Stack
Ansible
Configuration Management
Chef
Puppet
Ansible
Continuous Integration
Jenkins
TeamCity
Hosted Version Control Repositories
GitHub
GitLab
BitBucket
General Principles: :
Good Practice
Provision infrastructure from code
Deploy artifacts automatically from version control
Configuration managed from code and applied automatically
Scale your infrastructure automatically
Monitor every aspect of the pipeline and the infrastructure (CloudWatch)
Logging for every action (CloudWatch Logs and CloudTrail)
Instance profiles for embedding IAM roles in instances automatically
Use variables, don't hard code values
Tagging can be used with automation to provide more insights on what has been provisioned
Updating Your Stack
You can update your AMIs and then deploy a new environment from them.
You can use CI tools to deploy the code to existing environments.
You can use the "Blue/Green" method to have one environment for production (blue) and one for the new version (green). When it is time to upgrade, simply redirect the traffic from blue to green.
Define the
AWS Global Infrastructure
AWS Regions and Availability Zones
The AWS Cloud infrastructure is built around Regions and Availability Zones (AZs). A Region is a physical location in the world with multiple AZs. Availability Zones consist of one or more discrete data centres, each with redundant power and networking, housed in separate facilities that are located on stable flood plains. These AZs offer the abilities to operate production applications and databases which are highly available, fault tolerant, and scalable than would be possible from a single data centre. In total, the AWS Cloud operates 80 Availability Zones within 25 geographic Regions around the world.
Region & Number of Availability Zones
High Availability Through Multiple Availability Zones
Each AWS Region has multiple Availability Zones and data centres. Deploy multiple Availability Zones in the same region for fault tolerance and low latency. Availability Zones are connected to each other with fast and private fiber-optic network, which enables applications to automatically fail-over between Availability Zones without interruption.
Further Improving Availability by Deploying in Multiple Regions
Further increase redundancy and fault tolerance by replicating data between geographic Regions. Using both private and public network to provide an additional layer of business continuity, or to provide low latency access across the globe.
Meeting Compliance and Data Residency Requirements
You retain complete control and ownership over the region in which your data is physically located, making it easy to meet regional compliance and data residency requirements.
Geographic Expansion
The AWS Cloud has announced plans to expand
Edge Locations
AWS sites deployed in major cities and highly populated areas across the globe.
While Edge Locations are not used to deploy your main infrastructures.
Edge Locations as a global Content Delivery Network (CDN).
Identify resources for technology support