PolarSPARC |
AWS Deployment and Migration - Quick Notes
Bhaskar S | 01/24/2024 |
AWS CloudFormation
The following is the summary of the various features/capabilities of CloudFormation:
Allows one to create and provision AWS infrastructure deployments predictably and repeatedly
Enables one to describe (in a declarative way) the build out instructions for a collection of AWS resources in a template file (in JSON or YAML format)
Uses the template file to create, update, and delete the collection of resources together as a single unit (a Stack)
Allows one to review and version control the template file just like code
Can be used to manage updates and dependencies
StackSets extends the functionality of stacks by enabling one create, update, and delete stacks across multiple accounts and regions with a single operation
AWS Elastic Beanstalk
The following is the summary of the various features/capabilities of Elastic Beanstalk:
Allows one to quickly deploy and manage web applications in the AWS Cloud without having to learn about the infrastructure that runs those applications
Reduces management complexity WITHOUT restricting choices or control over configuration
Automatically handles the details of capacity provisioning, load balancing, scaling, and application health monitoring
Supports applications developed in Go, Java, .NET, Node.js, PHP, Python, Ruby, and Docker based applications
An Application is a logical collection of Environments, Application Versions , and Environment Configurations
An Application Version points to an AWS S3 object that contains the deployable code, such as, a Java WAR file
An Environment is a collection of AWS resources running an Application Version
Each Environment runs only one application version at a time
There are two Environment tiers - a Web Server Environment and a Worker Environment (for long running background tasks that process events from SQS)
An Environment Configuration identifies a collection of parameters and settings that define how an environment and its associated resources behave
AWS Config
The following is the summary of the various features/capabilities of Config:
Provides a detailed view of the configuration of AWS resources in an AWS account for compliance reasons
Discovers the supported AWS resources that exist in an AWS account and generates a Configuration Item for each resource
A Configuration Item represents a point-in-time view of the various attributes of an AWS resource
Stores the configuration information about the AWS resources in an AWS account in an AWS S3 bucket
Enables one to generate configuration items when the configuration of a resource changes, and maintains historical records of the configuration items of the AWS resources
Allows one to evaluate the current configuration of an AWS resource against the desired configuration settings
The desired configuration settings are defined using Config Rules
Allows one to view how the resources are related to one another
One can receive notification whenever an AWS resource is created, modified, or deleted
AWS Application Discovery Service
The following is the summary of the various features/capabilities of Application Discovery Service :
Helps one plan the migration to the AWS cloud by collecting usage and static configuration data about the on-prem servers and databases
All discovered data is stored in a single place in the AWS Migration Hub
Two ways of performing discovery and collecting data about the on-prem servers - Agentless Discovery and Agent-based Discovery
Agentless Discovery
ONLY for VMWare
Once configured, it collects static configuration data, such as, hostnames, IP addresses, MAC addresses, disk resource allocations, database engine versions, and database schemas
It also collects the allocation and utilization details for key resources such as CPU, RAM, and Disk
Agent-based Discovery
For both VMWare/HyperV as well as physical hosts
It collects static configuration data, detailed time-series system-performance information, inbound and outbound network connections, and processes that are running
AWS Application Migration Service (MGN)
The following is the summary of the various features/capabilities of Application Migration Service :
Is a highly automated lift-and-shift (rehost) solution that simplifies, expedites, and reduces the cost of migrating applications to AWS
Allows companies to lift-and-shift a large number of physical or virtual servers without compatibility issues or performance disruption
Minimizes the cutover time measured in minutes
AWS Database Migration Service (DMS)
The following is the summary of the various features/capabilities of Database Migration Service :
Is a service one can use to migrate data from on-prem database, on an AWS RDS instance, or in a database on an EC2 Instance to a database on an AWS service
One can also migrate a database from an AWS database to an on-prem database
One can migrate between source and target endpoints that either use the same database engine or different database engine
Support for continuous replication using Change Data Capture (CDC)
Needs an EC2 Instance to run DMS software
One will have to use the AWS Schema Conversiona Tool (SCT) with DMS if the source and target database engines are different
AWS DataSync
The following is the summary of the various features/capabilities of DataSync:
Is an online data movement service that simplifies data migration and helps one quickly, easily, and securely transfer file or object data to, from, and between AWS storage services
Works with the following on-prem storage systems - NFS, SMB, HDFS, Object Storage (S3 API)
Needs a DataSync Agent on-prem for it to work
Works with the following AWS storage services - S3 (incl Glacier or Glacier Deep Archive), EFS, FSx
The data synchronization is NOT continuous, but scheduled hourly, daily, or weekly
Support for preserving the file permissions and metadata (only for NFS POSIX, SMB)
The on-prem agent can transfer up to 10 Gbps and one can set bandwidth limits
AWS Backup
The following is the summary of the various features/capabilities of Backup:
Is a fully-managed service that makes it easy to centralize and automate backups across services in the AWS cloud as well as on-prem services
One can configure backup policies and monitor activity for the AWS resources in a single place
Allows one to automate and consolidate backup tasks for all the AWS services and removes the need to create custom scripts and manual processes
Support for cross account and cross region backups
One can create Backup Policies (referred to as Backup Plans) by defining the backup frequency, backup window, retention period, and transition to cold storage
The backups are stored in an AWS S3 bucket (referred to as the Backup Vault)
One can add a Backup Vault Lock policy to prevent the backups from ever being deleted
AWS Snow Family
The following is the summary of the various features/capabilities of Snow Family:
Highly secure, physical devices to collect and process data at the edge AND migrate the data into and out of AWS
Can run EC2 Instances
The following are the three different choices:
Snowcone
Small portable computing device that is rugged and secure
Comes with a DataSync agent pre-installed
Can be used when we want to move upto 24 TBs of data
The default option offers 8 TB of HDD storage and the SSD option offers 14 TB of SSD storage
Offers 2 vCPUs with 4 GB RAM with wired/wireless network
Snowball
Can be used when we want to move TBs or PBs of data in/out of AWS (Petabyte scale)
Pay per data transfer job
Provides block storage and S3-compatible object storage
Snowball Edge Storage Optimized offers 80 TB of HDD storage capacity AND 52 vCPUs with 208 GB RAM with optional GPU
Snowball Edge Compute Optimized offers 42 TB of HDD OR 28 TB of NVMe storage capacity AND 24 vCPUs with 32 GB RAM
Snowmobile
Is a 18-wheeler truck
Can be used when we want to move Exabytes of data
Offers 100 PB of storage capacity
References
Official AWS CloudFormation Documentation
Official AWS Elastic Beanstalk Documentation
Official AWS Config Documentation
Official AWS Application Discovery Service Documentation
Official AWS Application Migration Service Documentation
Official AWS Database Migration Service Documentation
Official AWS DataSync Documentation