Amazon Web Services (AWS)
What are Cloud Computing Platforms?
Cloud computing platform is when a company provides a cloud platform with a multitude of available services to customers. Currently, there are many companies that provide similar cloud services such as Amazon Web Services (AWS), Microsoft Azure, IBM Cloud Computing, and more. This article will explore what is AWS and what are some of its main services.
What is AWS?
In general, Amazon Web Services (AWS) provides a platform for companies, of all sizes, to build their infrastructure on the cloud. Companies can build something simple like a website on AWS to a more dynamic web application that communicates with multiple databases (simple vs complex) to more complex dynamic structures such as search algorithms and intelligent classification of images. In order to build on the cloud, companies would need something to build on, such as a server. Servers tend to be very expensive to buy, maintain, and replace when they go down. Sure, companies can buy and maintain their own servers, but if traffic to their website is high one day, with plenty of people trying to get online all at once, their servers can crash due to too many requests all at the same time. AWS provides on-demand processing and memory that can be shared and auto-scaled based on utilization. This business model can lower costs and improve availability for its customers.
Companies that use servers, like Expedia and Brooks Brothers, would need to scale up their number of servers for holidays, such as during the Christmas season and on certain days like Cyber Monday. Buying extra servers just for these occasions can be expensive, cumbersome and require a lot of work just for the maintenance. This is where AWS comes in. With AWS, companies are able to rent as many servers as they can need. If there is a high demand for their site, their server usage will automatically scale up. Renting servers alleviates the company from having to take care of servers, with the added benefit of being able to automatically scale the number of servers they rent.
What Are Some Regions AWS Serve?
Where does AWS actually serve? You may be surprised to know that AWS serves many countries all around the world. AWS has several regions called Availability Zones where their servers are located. Currently, AWS currently has 76 Availability Zones that serve 245 countries and territories. New Regions coming soon in 2020 include ones in Indonesia, Osaka (Japan), and Spain.
What Services Does AWS offer?
So, AWS provides servers and services to countries globally, but what services and how many do they actually offer? Along with server rentals, AWS offers over 200 services to customers. Services range from AR and VR to blockchain, game development, robotics, satellite, machine learning, media services, quantum technologies and many more. When you use AWS, you’re able to pick the service that is right for your company. However, if you decide to expand later on, such as into the field of AR and VR, you’re able to do that seamlessly and connect them to the services that you are already using.
AWS Popular Services
Amazon S3 is Amazon’s Simple Storage Service that lets you store your data on the cloud. If you are using cloud services, chances are that you will need Amazon S3 to store your data. Data called ‘object files’ are uploaded into S3 in Buckets - S3’s term for a folder with a globally unique name. Objects are made up of all sorts of files ranging from movies, documents, pictures, audio, etc. as long as they are from 0 bytes to less than 5TB in size each. Objects contain the key (name of the file), value (the file’s data), and version ID, metadata, and sub-resources. Think of this as your home computer’s documents folder, only larger and scalable. With Amazon S3, you can store and retrieve any amount and type of data from anywhere online - you can easily use your home or work computer to store data in a different state or country, and later retrieve it from there with ease. Your data is stored on multiple devices across several AWS’s facilities. This is to ensure that your data is not easily lost. Amazon S3 is also scalable in the sense that if you need more storage, it is automatically allocated for you. This is a huge advantage when compared to working off of a personal hard drive because you do not have to worry about running out of space due to the limited hard drive size. Being scalable means that businesses do not have to worry about storage because it is unlimited. Object files uploaded into S3 are also consistent – you can immediately read an object after writing to it and in a short period of time after updating or deleting an existing file, you can read the up to date object file. This is significant because data that you have updated or deleted is quickly changed and available for you and other people who may be looking at the same data.
Amazon S3 objects also have a very low chance of getting lost, thus making S3 very durable. Amazon guarantees that there’s a 99.999999999% chance that your information will not be lost.
Amazon Elastic Compute Cloud or Amazon EC2 is a service that provides resizable compute capacity in the cloud while reducing the time required to spawn new server instances. EC2 allows users to quickly scale computing capacity. Unlike provisioning your own servers, provisioning servers on EC2 take only a few minutes, not hours or days. This is great for many businesses, such as Nordstrom and Airbnb, to scale their computing needs up and down based on computing demands.
AWS Lambda is a compute service that allows you to upload your code for functionality in websites or products - like engineering. Running the code requires server management, which Lambda handles for you. This service is particularly useful because you don’t have to worry about the backend components that are required for your code to run, you can simply put up code and the server provisioning, hardware, OS, APIs, etc. are handled for you.
Lambda can be utilized in two ways. Lambda code can be triggered in response to an event occurring. An example of this is when you set Lambda code to run when it detects a change in other services such as Amazon’s Simple Query Service (SQS). Other events can be triggered by a S3 bucket, Simple Notification Service (SNS), other Lambda functions or many other AWS services. The other way to run Lambda code is by Hypertext Transfer Protocol (HTTP) request using Amazon Application programming interface (API) Gateway or API calls from AWS Software Development Kit (SDK).
Lambda currently supports code in six languages: Python, Java, Node.js, C#, PowerShell, and Go. This provides great flexibility for people who are familiar with any one of these programming languages.
Amazon Simple Notification Service or Amazon SNS is a service that allows users to setup, operate, and send notifications from the cloud. It is a scalable and cost-effective way to publish messages or emails from an application and deliver them to subscribers or other applications. Published content can also be directed to Amazon Simple Query Service (SQS), another AWS service. SNS also allows the ability for users to publish push notifications to several devices ranging from Apple, Windows, Google, and Amazon Fire OS.
Amazon Virtual Private Cloud or Amazon VPC allow users to provision a section of AWS Cloud where resources can be launched in a virtual network that the user defines. For the virtual networking environment, users can make changes to network access control lists, security groups, subnets, route tables, gateways, IP addresses and more. VPC allows users to have an extra layer of protection by placing AWS services on a separate private network.
Why AWS Is A Clear Choice
AWS allows users and large companies to develop their products on Amazon’s servers. With plenty of services to choose from, high security, and scalability, AWS is a great cloud service provider for all types of companies, large and small. At Allosense, we choose to build our infrastructure on AWS for all these benefits as we grow our company.