Amazon Computing Networking Services

aws computing

Last week I kicked off things with an introduction to Amazon services and what they have to offer for your company. I started this series with databases and how easy it is to shift your database system over to Amazons services, this week I’d like to talk about Computing and Networking Services. I’ll start with a basic breakdown of what Amazon has to offer and finish up with an example. So without further ado, let’s begin.

  • Amazons Elastic Compute Cloud or EC2 service simply provides virtual servers in the AWS cloud. You can choose to launch anywhere from 1 to a thousand different services by themselves or simultaneously. The magic in this, is you only pay for what you use.
  • Amazons EC2 Autoscaling dynamically scales your EC2 activity by an easy predefined structure or you can personally manage what gets scaled and when. With the ability to instantly activate or terminate an instance, you can fully manage your data scalability. With an added bonus of Health Checks, this keeps your instances running smoothly by replacing instances when they become unhealthy.
  • Amazon Elastic Container Service or ECS for short utilizes Elastic Load Balancing in a highly scalable performance container management system for Docker containers. Branches of your Elastic Container Services will run on instances of your EC2 system.
  • AWS Lambda is a server-less service, which allows you to run code in the cloud, without having to worry about maintaining that service. You simply upload your code, and AWS takes care of all the hard work. This is extremely powerful and a tool worth looking into. In fact, as I progress in my job search, I see more and more companies taking advantage of AWS Lambda.

So now let’s take a look at how a company could use these services to deploy a web server in AWS Cloud. Of course, we will start off with your own virtual private cloud instance in the AWS cloud, which is only accessible if you give the party permission. Now in our VPC, we will launch an EC2 instance running our applications, and deploying it to a server.

Let’s say for example you are deploying a service through your WordPress site, and you just released a new product in time for the holidays. It becomes a big hit, as you knew it would, and your EC2 instance is having trouble delivering the webpages fast enough for your consumers. Typically your go-to fix for this is called, vertical scaling, where you tear down one instance and replace it with an instance capable of handling the load. This is just how things have been done in the past, but this takes time, and during that time your application isn’t running. Furthermore, the same approach has to be taken when the holiday ends and or when requests are not as common. This scaling can happen every day, every week, every release, all depending on what your company is outputting. What Amazon proposes as a fix to this, is what we call horizontal scaling. Simply put, as demand fluctuates, instances of the same size are added or terminated in line vertically to handle the load, instead of replacing bigger or smaller instances. What this means is your application is always running because there is always at least 1 instance constantly running.

What’s the catch you ask? Well with every instance created, along comes another endpoint for your application, and if an instance is terminated then that endpoint to that site is no longer valid. So how can we make it so theirs a single endpoint to manage your site? From here we look to Elastic Load balancer to promptly manage these requests and deliver them to the appropriate endpoint. This goes on and on seamlessly balancing the load across all EC2 instances, working hard and hand in hand with Amazons Autoscaling, all while performing health checks on each instance. Amazon has in a sense, reinventing the wheel, to take what used to be a bad thing, to make this approach very powerful with low latency. Again as the biggest plus, your company only pays for what it uses. This is the direction I will be going once I get my ideas in production. Thank you for reading, and please stay tuned for part 3, management services provided by Amazon.