How We Host Large Websites on AWS

Host Large Websites on AWS

AWS hosting is cloud-based, scalable, and secure, suitable for all business sizes. If you need to host large websites, AWS services will make this process simple and enjoyable. Use your preferred CMS with a data center or CDN anywhere in the world for a fixed monthly price or pay-as-you-go price.

Syncit Group has been using the AWS platform for years for both client websites and our own. And most of the websites we host are pretty large.

Moreover, our advanced search platform, Athena Search, is hosted entirely on AWS. You can read a detailed comparison with other popular search platforms in one of our previous posts.

Now, let’s see which AWS services enable you to host large websites.

AWS Services

  • AWS Organizations
  • ELB (Elastic Load Balancing)
  • RDS (Relational Database Service)
  • EC2 (Elastic Compute Cloud)
  • EFS (Elastic File System)
  • SES (Simple Email Service)
  • S3 (Simple Storage Service)
  • AWS Backup
  • AWS Lambda
  • Amazon ElastiCache
  • Amazon Lightsail
  • AWS Savings

AWS Organizations

It is primarily used for organizing billing for different clients. You simply need to set up a single payment method for all of them.

Create account groups based on your needs and automate the process of creating and managing an AWS account. Moreover, you can control access to AWS services, resources, and regions.

Also, you can configure AWS services across multiple accounts as well as manage account compliance and security.

ELB (Elastic Load Balancing)

Elastic Load Balancing automates the process of distributing incoming App traffic across multiple targets. We use it for load balancing in case of clustering in the case of multiple servers.

There are three types of load balancing – Application Load Balancer, Network Load Balancer, and Classic Load Balancer.

Each type offers high availability & security, as well as robust monitoring & auditing, automatic App scaling, hybrid load balancing, etc.

Discover a detailed list of Elastic Load Balancing Product features here.

From our experience, ELB is a fantastic tool. We use it extensively and it has saved us a lot of time implementing third-party load balancers, proxies, hack tools, etc.

Managing ELB is quite easy and maintaining it is practically nonexistent. Once you set it up the way you need/like, you are pretty much done.

Here is the schema, showing it in action:

ELB Schema

As you can see, the Load Balancer is targeting different target groups based on different paths, rules, etc. In conjunction with Cloud Flare, this can be a hell of a setup for high traffic websites.

ELB can be set to use a Public DNS record at which you can point your A or CNAME record from your Cloud Flare account or any other DNS setup where your domain is hosted.

This way, any resource you tamper with behind ELB won’t be affected by DNS.

RDS (Relational Database Service)

Relational Database Service helps you cost-efficiently configure and scale a relational database in the cloud.

It saves you precious time by automating hardware provisioning, database setup, patching, and backups.

Also, RDS is available on numerous database instance types with various CPU, memory, storage, and networking capacity.

RDS is a great tool if you want a quick database deployment. After a couple of minutes, you are ready to rock. It can be used as a single instance or as a cluster setup.

But, bear in mind that the configuration you used to put into /etc/my.cnf or similar config path/file is now called Parameter Group in RDS Console. So configuration is based on the Parameter Group used.

The good thing is that if an SQL variable is dynamic no reboot is required and the configuration is implemented immediately to the RDS used.

EC2 (Elastic Compute Cloud)

Amazon EC2 provides developers with a simpler cloud computing environment. This web service provides a broad platform with a variety of:

  • fast processors (100 Gbps ethernet networking)
  • powerful GPU instances for Machine Learning training
  • graphics workloads
  • storage
  • networking
  • operating systems
  • model purchase

In simpler terms, and for some of us that have worked with virtual services even before the AWS platform was created, you can refer to EC2 as a virtual machine.

It is basically a VM with some features added and deep implementation of AWS services.

Discover more

EFS (Elastic File System)

Elastic File System represents an elastic NFS file system for AWS Cloud services and on-premise resources. It enables your App to grow and shrink automatically.

EFS represents an ideal solution for:

  • big data analytics
  • web serving and content management
  • application development and testing
  • media and entertainment workflows
  • database backups
  • container storage

This is a great service if you need some static files being saved and served.

SES (Simple Email Service)

Simple Email Service is a scalable email service. It enables sending transactional, marketing, or mass emails from any App.

Its flexible IP allows you to protect senders’ reputation while sending analytics to measure the impact of each email.

One side note regarding SES service – AWS is very strict regarding spam rules and malware. They will not think twice to block you from using it. So, make sure to use this service wisely and keep your login credentials secure.

Discover more

S3 (Simple Storage Service)

Simple Storage Service is a web service that offers you storage and protection of any amount of data for a range of use cases, such as data lakes, websites, mobile applications, backup and restore, archive, enterprise applications, IoT devices, and big data analytics.

It possesses unmatched security, compliance, and audit capabilities. This is why Amazon S3 is an industry-leading storage solution.

We mostly use S3 service for storing our backups.

There are some awesome options within this service.

For example, you can create a rule that will automatically erase your old backup or even store it on S3 Glacier for a part of the cost of the standard S3.

AWS Backup

AWS Backup enables you to centralize and automate data backup across all AWS services and resources:

  • EBS volumes
  • EC2 instances
  • RDS databases
  • DynamoDB tables
  • EFS file systems
  • Storage Gateway volumes

It enables you to simplify backup management with centrally managed backups and automatic backup processes.

AWS Lambda

AWS Lambda allows you to set up code that can be automatically triggered by other AWS services, as well as from Web and Mobile Apps. We mostly use it for turning the machines on and off.

Lambda represents AWS serverless type of architecture. It can have a wide usage based on your needs.

For example, you can create a custom Python script that will get triggered and executed automatically at specific times and, for example, power off a dev environment, which will save you a couple of bucks during the night.

Amazon ElastiCache

Amazon ElastiCache is a scalable and fully-managed web service for setting up and running open-source compatible in-memory data stores in the cloud.

It represents a popular choice for Caching, Session Stores, Gaming, Geospatial Services, Real-Time Analytics, and Queuing. Also, it is compatible with Redis and Memcached.

Redis is a popular solution now. It can be used for page cache, sessions cache, etc.

ElastiCache Redis can be used with Read Replicas for HA solutions.

Amazon Lightsail

Start small and grow your business. Amazon Lightsail is an easy-to-use cloud platform for Web and App building. For example, we use it to host less complex websites, and it works like a charm.

In addition, we often use it for some HA monitoring systems and some of the Docker side projects.

From our perspective, the biggest disadvantage of using a Lightsail is its integration or better said the lack of it.

It’s perfectly fine though if you are planning on hosting some low-traffic WordPress or static websites that don’t require too much scaling or messing around with servers.

Discover more

AWS Savings

Now, let’s touch the basics with some of the opportunities in which we can use AWS services and actually spend less money on them.

AWS offers many discount options if you are willing to commit to their platform for a period of time. I’m going to briefly list and explain them here.

Firstly, you need to understand one thing. If you have created an AWS account, and then logged in and created an EC2 instance, you are probably using and paying an On-Demand pricing plan.

AWS RI

The first discount option and the first one in the order of AWS history of saving plans is AWS RI (Reserved Instances).

Reserved instances, as the name implies, are services that enable us to reserve some of the compute power and a capacity in an AZ (Availability Zone) within a region for either one or three years, and pay less for it (savings up to 72%).

Savings Plans

The second in line are Savings Plans. Here, we are going to split them into two categories.

The first one is EC2 Instance Savings Plans and the second one is Compute Savings Plans.

The latter applies to instance usage within the committed EC2 family and region, regardless of size, tenancy, and operating system.

Now, let’s break down this AWS definition into simple words so everyone can understand it.

EC2 Instance Savings Plans

EISPs (savings up to 72%) are a nice offer although they have some limitations. We can use EC2 freely but we are bound to an EC2 family. EC2 family can be for example M5, C5, T3, etc.

This is not a bad offer by any means. But, if you are just starting a project and don’t know where the road will take you (maybe serverless, Lambda?), think twice.

There is a rise in popularity within the AMD Epyc series based on EC2 that offers a great bang for the buck.

Also, if you host different kinds of services (most probably you do/will), you should pay attention to their designed architecture and their most-used resources.

For example, if you plan on hosting a Varnish server (HTTP accelerator) there is a good chance that your best bet is the M5 family of EC2.

It offers CPU performance similar to the C5 family with a double amount of RAM (Varnish uses RAM for caching). Therefore, you’ll have a better usage/performance ratio with an M5 series.

In case you have already purchased a C5-based savings plan, you’re out of luck! You’ll have to pay full price (On-Demand) for M5 usage.

Compute Savings Plans

These apply to an EC2 instance usage, AWS Fargate, and AWS Lambda service usage, regardless of the region, instance family, size, tenancy, and operating system. CSP is a little more open to our desires.

So, the difference between EISP and CSP is now pretty obvious. With CSP, you are not limited to the EC2 series, AZ, or the region.

This savings plan also includes Fargate and Lambda savings that are rapidly rising in popularity.

It comes with a price though. The savings (up to 66%) are sometimes considerably lower than with RI and EISP.

As we have mentioned, your best bet is predicting the hosting type as well as the resources.

Recently, we have successfully implemented a CSP plan for one of our major clients.

I must say that our process of implementing a Compute Savings Plan was fairly easy. We already knew what we were going to use and what our day-to-day billing cycle will be.

We took a plunge and paid upfront for one-year usage valued at about $5.5 per hour. With this plan, we were going to save somewhere about 25%.

Based on this positive experience, we are sure that this plan can be a serious benefit to your organization, too.

Wrapping Up

So, that is how we host large websites on AWS.

How about you? Tell us more about your AWS hosting experiences in the comments.

In case you need more hosting info, feel free to contact us.

Source

AWS

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Innovation in your inbox!

Stay in the know on the latest tech news.

Maybe later…