A Practitioner’s view of AWS Outposts
AWS
Outposts is a managed service which helps run fully managed AWS services in
your on-premise environment or at an AWS edge location. AWS Outposts are
designed to help run your workloads and applications using familiar AWS
services and API’s. To setup AWS Outposts, you have to choose from a standard
predefined configuration of Compute and Storage based on their processing and computation
needs.
Think
of AWS Outposts just like another subnet in your VPC; because AWS Outposts is
just really that, a separate subnet. You will use the familiar AWS API’s and
you will manage it using the same AWS console. The only difference is that AWS
Outposts rack and servers will physically sit in your on-premise data center
and you as the customer is responsible for the physical security of the AWS
Outposts.
The
AWS Outposts family include AWS Outposts Rack and AWS Outposts
Servers. AWS Outposts Rack comes in a 42U form factor and provides AWS
services such as compute, storage, databases and API’s to your on-premises.
Since AWS Outposts requires access to an AWS region, AWS Outposts Rack also
allows access to the full suite of AWS services available in the connected
region, and can scale from a single 42U rack to multiple 42U racks deployments.
AWS Outposts servers come in 1U or 2U form factor and are more suitable
in case of on-premise locations which have limited space. They provide slightly
smaller suite of AWS services to on-premise as compared to AWS Outposts rack.
Typical use cases for Outpost –
- On-premise/local data processing and data storage requirements
- Need for low latency for your on-premise applications
- Data generation and processing in geographies outside of AWS regions.
- Or even something such as helping a Cloud hesitant customer take that first step to cloud. (This can be achieved via the AWS Outposts feature that help you run the same AWS service and API’s that you use on Cloud. So you can start building your applications on AWS Outposts and move to Cloud when you are ready).
Characteristics of AWS Outposts –
- AWS Outposts are setup in their own Subnet within your VPC. You can setup AWS Outposts on a private subnet or in a public subnet depending on your architecture. This means you can have AWS Outposts on one subnet and AWS Cloud on another subnet within the same VPC/AWS Account.
- AWS Outposts uses an AWS Customer Gateway device to connect to the on-premise. Customer Gateway is managed in on-premise, and helps setup AWS Outposts to On-premise connection and site to site VPN connections. It is also recommended to have an AWS Direct Connect line and VPN for low latency, higher bandwidth and secure connection between on-premise and AWS.
- AWS services available on AWS Outposts:
AWS Outposts Server supports Amazon ECS for data processing, Amazon EC2 for Computation, AWS IOT Greengrass etc.
As of this writing, Fargate is not supported for Amazon ECS or Amazon EKS on AWS Outposts. If you are using Amazon ECS or Amazon EKS, you need to go with the Amazon ECS or Amazon EKS with Amazon EC2.
Understanding
how Amazon EC2 works on AWS Outposts -
The
predefined compute configuration includes instance families of m5, c5, g4dn,
r5d etc. These instance families are further configurated into predefined configuration
sets such as - 4 m5.12xlarge set or 1 c5.24xlarge set or 2 m5.24xlarge, 2
c5.24xlarge, 2 r5.24xlarge set etc. Each of these sets are configured for
different use cases such as compute heavy workloads, memory optimized
workloads, general purpose workloads etc.
A few points to keep in mind -
- If you are not able to find a configuration which satisfies your requirement, you can work with AWS Customer support to create a custom configuration.
- Further, if you have chosen from a predefined configuration, you can “break” the configuration set into smaller allowable configurations working with the AWS customer support.
Understanding how Amazon RDS works on AWS Outposts -
You
can deploy Amazon RDS on AWS Outposts (i.e. on-premises RDS) for low latency applications
requiring close proximity of RDS to on-premises application. Like all other AWS
services offered on AWS Outposts, you can manage RDS databases in on-premises
(on AWS Outposts) using the same AWS management console, CLI’s and API’s like you
do on Cloud.
A few points to keep in mind –
- As of this writing, Amazon RDS on AWS Outposts supports only MySQL, PostgreSQL and Microsoft SQL Server.
- Do not choose Amazon RDS on AWS Outposts if you have local data storage requirements because Amazon RDS on AWS Outposts take automatic backups to Cloud.
- If your choice of database engine is not supported on AWS Outposts, then you can setup your own database on AWS Outposts using Amazon EC2 and Amazon EBS.
Points to know before choosing AWS Outposts –
- The entire process from requesting AWS Outposts till the actual install and setup of AWS Outposts on-premise might take a few weeks to a months. Plan for this.
- AWS Outpost request form is simple and requires you to choose the instance type and storage needs from an existing set of offerings. This does not seem much at first, but, there is a lot you can achieve with these minimal resources too.
- Owing to point 1 above, it is highly recommended that you have an extremely clear and detailed architecture on how/why you plan to use AWS Outpost before even requesting one. This includes the data storage needs, processing needs, back up and DR requirements, data location requirements, latency requirements.
- It is also important to know that you cannot use your on-premises hardware on AWS Outposts as AWS Outposts are designed for AWS infrastructure only.
- AWS Outpost has to be connected to an AWS region/VPC for it to work. So, AWS Outposts are not recommended unless you have a good network connectivity to an AWS region.
~Narendra V Joshi
Comments
Post a Comment