Amazon Web Services
As a follow up to embracing the Amazon Ecosystem, there is a whole subsidiary that most consumers would not know. Amazon Web Services (AWS) lets businesses run websites and web services on Amazon’s web servers. Amazon Web Services has grown so big, in many ways runs the internet. Netflix, the CIA, and many others use AWS. When AWS goes down, many other websites go down too.
Amazon Web Services is larger than the next three largest web services (Microsoft, Google, IBM).
So for those who don’t know, what is AWS? It is service of what people call cloud computing. Running your own servers is expensive and infeasible for many businesses. It can be difficult to scale and add new servers and often times, developers don’t want to go through the trouble of getting a server running and stay running. Cloud computing solves this; by paying somebody else (AWS), they can run your programs, web applications, databases, etc. for you on their servers. Cloud computing uses economies of scale, they know they will provide servers for many companies and can often do it more efficiently and cheaper than if each company ran servers on their own. Another benefit is if one datacenter goes down, there are redundant copies in other datacenters, so web services do not go down and data is not lost.
Amazon created AWS when they realized they often had a lot of unused computing power that they could sell. Amazon needs it’s computing power on the busy season like the holidays or Prime Day or Black Friday, but when it’s a regular Tuesday, they use a lot less computing power than they need. They would have benefited from a service like AWS, where they could scale their computing usage as necessary. But since it didn’t exist, they invented it.
Common services include:
- EC2: A virtual computer to run software on. (Infrastructure as a Service)
- Elastic Beanstalk: Deployment of an application, no need to deal with the hardware or operating system. (Platform as a Service where you deploy your application (Software as a Service))
- Lambda: Serverless computing which can run code when the code instance is called. You do not have to worry about servers, only the code you want to run. (Functions as a Service).
- S3: File and data storage in the cloud.
- RDS (Relational Database Storage): SQL Database storage/service in the cloud.
- DynamoDB: NoSQL database in the cloud.
- ElasticCache: memory caching service in the cloud.
- CloudFront: Delivery Networks making it faster to deliver files and information to users.
- Route 53: DNS and Domain Registration service.
- Elastic Load Balancing
- Cloud9: A web IDE connected to an EC2 instance.
- Deployment:
- CodeCommit: Code Version Control.
- CodeBuild: Building Projects.
- CodeDeploy: Deployment of Applications.
- CodePipeline: Control Pipeline of application development/deployment.
- Machine Learning:
- SageMaker: Build, train, and deploy machine learning models.
- Comprehend: Analyze unstructured text.
- Rekognition: Seach and analyze images.
- Translate: Translation
- CloudWatch: Monitor Resource and Applications.
- Auto Scaling: Scale Applications on AWS.
- Simple Queue Service: Managed Message Queues.
A cool application I saw was gaming on cloud service. This looks really useful, cheaper as for a couple dollars per hours and can run on any computer, you don’t have to build a full gaming computer. I hope AWS (or any company) develops this into a full service.
Post by: Brian T. Liao