• 6 min read

Amazon Web Services (AWS): Using as a Hosting or Cloud Solutions in 2020?


Contents

blog_image

What is AWS?

Most of the people who are not familiar with the IT-sphere relate Amazon to Jeff Bezos and his main creation of Amazon online shopping. But if you ever tried to create and host your own software, you probably heard about Amazon Web Services that allows you to store and deliver any data.


AWS (launched in 2006) — is a cloud computing service that you can use in combinations tailored to your business and organizational needs. You can find more than 200 instruments from data storage to tools deployment and directories for content delivery. Among the benefits of using AWS are user-friendly interface, quick application deployment, security, and no capacity limits.


In Perfsys we created our own classification of AWS solutions — Evolution Pyramid that consists of different instruments, depending on the frequency of usage of our clients.


There are 3 levels in our pyramid. Every client can jump from the most frequently used (1st level) to the most advanced one (3d level), depending on his/her business needs and available resources.


AWS Cloud Solution Pyramid of Perfsys We defined 3 main levels for Cloud Storage Evolution:


  • — Hosting-only
  • — Microservices
  • — Serverless

First Level: Using AWS as a Hosting Service

When your application stopped being a monolith and transformed into microservices architecture — your next milestone would be docker containers. And from here you will be in demand of a cluster which you can easily host.


In AWS there are a number of services that allow you to deploy microservice architecture into the cloud. These services encapsulate the hosting role as well, but at the same time can’t be classical EC2 instances. We can highlight EKS and ECS among them.


An undeniable advantage of using microservices level is the possibility to use a “smart” clusterization from one side (Kubernetes, Docker, EKS, ECS) and low hosting price from the other side.

Second Level: Using AWS as Microservices

A lot of Perfsys clients used AWS services just as a hosting provider. Whether it is a single web app, static website, or enterprise app, AWS cloud hosting provides low-cost ways to deliver their content and web applications. Depending on tasks, hosting instruments may vary from Amazon Lightsail to AWS Amplify Console and Amazon Simple Storage Service (Amazon S3). But the best solution for an enterprise production would be an Amazon Elastic Cloud Computing (Amazon EC2).


Amazon EC2 offers various types of instances to host your website. You can choose an instance type depending on your application size and traffic. There is no minimum or maximum fixed monthly cost for using EC2 instance for hosting. Unquestionable benefit here is a pay as you go model. The lowest price per single computing unit, e.g. 1 second of CPU or Memory. This is a great option for production systems when the load is high and hosting should provide 24/7 system availability.

Third Level: Using AWS as a Serverless Architecture

This is the level of startups, where most of the POC and MVP products are building. We use instruments from this level when we need an application to be available 24/7 but with minimum operating costs. Serverless architecture is great when the product requires immediate scalability, good resilience, and out-of-box security.


Nowadays developers have all the AWS instruments at their disposal, the majority of which they use in serverless architecture, and the pricing allows them to use ‘pay-as-you-go’ model.

Conclusion

We created this hierarchy to show our customers that choosing the right way to move is not an easy task. First step would be understanding the starting point. And then decide where is your desired destination.


Do you know which level your business is currently situated? Feel free to contact me or drop an email and discover your opportunities in AWS Cloud Solutions.

Amazon Web Services (AWS): Using as a Hosting or Cloud Solutions in 2020?

Anastasiia Tokareva

Software Engineer