AWS stands for Amazon web services. It is a cloud service platform that provides on-demand computational services, databases, storage space, and many more services. AWS allows its user to choose products from its vast variety of services and use it on-demand with no upfront payment for most of the services. Individually an AWS service may lack some functionality but, given the right AWS architecture, AWS services can be easily integrated to make highly complex and robust applications. Netflix uses AWS for nearly all its computational, storage, and database needs, using over 1, 00, 000 AWS server instances.
Most of the services in AWS do not require and upfront payment. You pay for what you use and how long you use it. The pay-as-you-go pricing model is one of the most significant features of AWS. For example, you want to do a computational task of ‘5x’ capacity. You can either use an ‘x’ capacity machine to do your work in 5 units of time or run five ‘x’ capacity machines to work for one unit of time. Your expense is the same. This billing model allows users to adapt their application architecture to best suit their business needs and budget.
History of AWS
AWS was launched back in 2002 where it provided simple cloud services and tools. Later that year AWS released its vision for AWS as a fully automated computational resource providing service. In the year 2004 AWS launched SQS (Simple queue service) one of the first of its services which were closely followed by the release of AWS-Compute (EC-2) in the year 2006. This marked the beginning of the AWS cloud computing era.
AWS, as of now spans across 24 geographical regions and 76 Availability zones. As of Q-4 2019, AWS held the biggest market share (33 percent) of the worldwide cloud services beat the second (Microsoft Azure) by 15 percent. By the beginning of 2020 AWS comprised of over 212 different services.
AWS Service Categories
- Compute: Allows users to provision different kinds if computational services for their application.
- Containers: Allows users to run container-based applications.
- Storage: This is a set of different kind of storage services. Each consisting its own sets of features.
- Database: These services provide different kinds of amazon managed databases.
- Migration & Transfer: These services allow users to seamlessly onboard their applications and/or data onto AWS.
- Networking and Content Delivery: This allows users to manage different networking features offered by AWS.
- Building scalable networks
- Making private clouds.
- Managing application traffic.
- Developer Tools: These services allows developers to easily make cloud native applications and allow easy integration with AWS.
- Cloud Enablement: These are the on-demand expert help on AWS solutions and services.
- Robotics: Allows users to develop, simulate and deploy intelligent robotics applications.
- Blockchain: Provides an AWS-managed blockchain service for blockchain based applications.
- Satellite: It comprises of only one service as of now: AWS Ground Station. AWS Ground station is a single hub for satellite communications, data-processing and analytics.
- Quantum Technologies: Services for quantum computing.
- Management and Governance: These services manage other services and can run analysis on data generated by services on AWS.
- Media Services: These services augment video production, analysis and delivery.
- Machine Learning: These are different machine learning services offered by AWS.
- Analytics: Services and Tools to run analytics on data.
- Security, Identity, & Compliance: Manage access and permissions of users and services in your account.
- AWS Cost Management: Shows current cost of service and predicts costs based on current usage.
- Mobile: Augment and assist mobile app development.
- AR & VR: Augment and assist virtual reality (VR), augmented reality (AR), and 3-D applications development.
- Application Integration: Assist communication between decoupled services.
- Customer Engagement: Augment and assist customer engagement for applications.
- Business Applications: These are small applications like Alexa for business, work-mail that can be used by businesses for support.
- End User Computing: Assist workforce management for security sensitive companies.
- Internet of Things: Augment and assist IoT based application development.
- Game Development: This is a dedicated gaming server hosting service.
Following are some AWS-related terms that you should know:
- Regions: These are geographical locations spread all across the world that hold one or more data-centers.
- Availability Zones: Each AWS data-center is called an Availability Zone.
- Local Zones: These are extensions of AWS regions closer to the users. This is a fairly new service and is not yet available in all of the Regions.
- Vertical Scaling: Increasing/Decreasing the instance features like RAM, processing power to scale up/down the application is known as vertical scaling.
- Horizontal Scaling: Increasing/Decreasing the number of instances to scale up/down the application is known as vertical scaling.
Features of AWS
- Geographical Locations: Despite starting late and slow in it’s cloud journey, AWS has grown to be the worldwide leader. The Platform offers unparalleled availability in 24 geographical regions.
- Multi region backups: AWS offers various backup methods which are implemented in a decentralized nature and global reach of AWS makes it easy and affordable to store critical information in multiple geographic locations.
- Streamlined Disaster Recovery: Downtime and data loss can be extremely critical for some businesses and may be tolerable for some. Or you may want some of your data to be highly secure and some of your data to be in a cheaper less secure storage. Whatever your needs be AWS has a right plan for cheap and efficient storage of data.
- Scalability: AWS allows dynamic scaling of databases and servers. This means that applications do not have to run on 100% capacity and use lots of resources during off-hours.
- Pay-As-You-Go Pricing: One of the most lucrative features of AWS is its pricing model. The prices are not only reasonable but you only pay for what you use and for however long you use the said resource.
- Security: AWS offers the same level of world-class security to all of its client spectra that ranges from humongous banks and enterprises to small websites. The company’s data centers maintain the highest security standards and keep updating the security features with the latest security patches.
Advantages of AWS
- Users do not have to buy expensive equipment like servers and storage drives. AWS Provides infrastructure for all these use cases.
- Users do not have to worry about maintaining the physical and software security of their infrastructure. All these overheads are taken care of by AWS.
- Dynamic Scalability (ability to increase server capacity during high work hours) provides a cheap and efficient means to host durable and robust applications.
- AWS offers easy signup and a simple console UI to its users.
- AWS has a highly skilled support team that can help you with your issues on AWS.
- AWS continuously adds more services, features and security updates to their infrastructure.
- Many AWS storage services (S3 and Glacier) offer a virtually unlimited storage capacity.
Limitations of AWS
- AWS offers over 200 services. The architecture of applications can get really complicated really fast.
- It is sometimes difficult to choose the best service out of many options. This may cause some wastage of money.
- AWS solutions architects are highly paid individuals and as a business owner you may need to employ one or more of such individuals.
- AWS is continuously growing according to the needs of their customers. There may be some use case you want that AWS doesn’t yet offer. Raising feature requests for such use cases is possible, but you may have to wait until that feature is officially released.