Amazon Web Services: What Is It & Why Is It Important?
Written By Javier Aliaga
What Is Amazon Web Services (AWS)?
Amazon Web Services, or AWS for short, is a collection of services provided by Amazon for the development of cloud based systems or applications.
AWS is the most widely adopted cloud platform in the world, offering more than 200 end-to-end data center services globally. Other popular cloud platforms are Microsoft Azure, Google Cloud Compute and Google Cloud Platform
Millions of customers are using AWS to reduce costs, increase agility, and innovate faster.
In this article: discover the importance of knowing AWS, the difference between service categories, learn more about accessibility & security, manage cost control, and discover AWS for Testers (Cloudwatch).
Why is it important to know AWS?
Cloud vs On-Premises
Without a doubt, the shift to cloud infrastructure is here and there is no turning back: the advantages of provisioning infrastructure on demand are already indisputable.
There are many advantages of SaaS (Software as a Service) and HaaS (Hardware as a Service) over the previous paradigm of managing hardware and software itself within the enterprise.
Purchasing and hosting your own servers is expensive and requires manual deployment and configuration. It could take weeks before a server was delivered and physically connected to your data center.
Because of this, these servers have been treated as pets in the past: each very unique and requiring a lot of maintenance.
Choosing AWS is choosing the ability to select the service that best suits your workload. AWS has the widest selection of services, with more than 175 services distributed in more than two dozen categories. Achieving performance through selection means being able to choose the right tool for the job.
Servers are basic resources that can be provisioned automatically in seconds. No individual server should be essential to the operation of the service.
The typical workload generally requires selecting some of the four main service categories on AWS: Compute, Storage, Database, and Network.
- Compute takes care of the service that will process your data (for example, a virtual machine)
- Storage handles static data storage (for example, object store)
- Database handles organized data storage (for example, relational database)
- Network takes care of how your data moves (e.g. Content Distribution Network)
Regardless of the service category you choose, there are three things to consider:
- Type of service
- Degree of management
Type of service
When you make a selection in a category, AWS gives you many options for the type of service you can use. The type is unique for each category.
When you select a computer service, you can decide whether you want VM-based, container-based, or serverless computing.
- VM-based computing is the most familiar model for most people, but it can be expensive and require more maintenance (EC2).
- Container-based computing enables finer splitting of your workload and can scale quickly, but comes with additional configuration and orchestration complexity. (ECS)
- Serverless-based computing abstracts most of the complexities of management and scaling, but has strict system limitations and requires the adoption of new tool chains and processes (AWS Lambda, AWS Fargate).
When you select a storage service, decide whether you need a bulk storage, file systems, object storage, or file storage.
- Bulk storage services such as EBS are great for preserving data from a single EC2 instance
- File systems like EFS are great for giving multiple customers access to the same data
- Object storages like S3 are great for large amounts of data that must be accessed by any number of customers
- File storage such as S3 Glacier is ideal for large amounts of data that needs to be accessed infrequently
When you select a database service, decide whether you need a relational database, a non-relational database, a data storage solution, or a data indexing and search solution.
- Relational databases allow you to have ACID (Atomicity, Consistency, Isolation, Durability) joins and properties, but have an upper limit on performance and data storage
- Non-relational databases have more flexible schemas and can scale to much higher limits than their relational counterparts, but generally lack full ACID combinations and capabilities
- Data storage solutions enable large-scale analytics through quick access to petabytes of structured data
- Data indexing and search solutions allow you to index and search for data from a wide variety of sources
Accessibility and security
Access and security to different services are controlled via profiles.
Principal(s) specify the permissions that are granted.
Action(s) specify what is being done and the specific resource(s) to which properties are accessed.
Cost control refers to controlling expenses in a centralized way, knowing exactly what the cost will be depending on the use of the system.
When thinking about cloud cost optimization, it’s helpful to think about cloud spending in terms of OpEx instead of CapEx.
OpEx is a continuous pay-as-you-go model, while CapEx is a unique purchasing model.
Traditional IT costs in on-premises data centers have mainly been CapEx.
This means you pay in advance, regardless of whether you end up using it. Buying new servers could be a long process involving multi-party approval. Investment costs are often significant and errors are costly.
After you make a purchase, it might take weeks for the actual servers to arrive.
Utilizing AWS, your costs are operating expenses.
You pay continuously for the capacity you use. Provisioning new servers can be done in real time using AWS services without the need for a long approval process.
This is because operating expense costs are much lower and can be reduced if requirements change. Because you only pay for what you use, any excess capacity can simply be stopped and canceled. When you choose to use a service, provisioning is done in minutes
The entire ecosystem of systems has moved or is moving towards the cloud.
Additional information is regularly available for new challenges that you may encounter during your system deployment or troubleshooting..
When thinking about operational advantages of the cloud, it is helpful to think about it in terms of automation. Nearly every AWS action can be scripted.
- Human error is the main cause of operational defects and incidents. The more operations that can be automated, the less likely human error will occur.
In addition to preventing errors, automation helps you continuously improve your internal processes. They promote a set of repeatable best practices that can be applied across your organization.
AWS for Testers (Cloudwatch)
AWS has a service called Cloudwatch, which allows testers to observe different parts of the infrastructure to help find failures in both configuration and different parts of infrastructure.
Monitoring & Solving Infrastructure Problems:
- Keep an eye on key metrics and logs
- View your app & infrastructure stack
- Generate alarms
- Analyze metrics & logs to interpret and solve the base cause of performance problems in your AWS assets
This encompasses keeping an eye on your infrastructure on Amazon ECS, Kubernetes, AWS Fargate, and Amazon EKS..
Improved Average Resolution Time:
- This allows you to view and interpret metrics as well as logs, so that you can quickly solve issues & combine them with AWS
The X-Ray tracking data function enables end-to-end observability. Another great resource is the ability to view and interpret requests from specific users, which will allow you to speed up the troubleshooting & debugging process. As a result, the average overall resolution time will be reduced (also known as MTTR – mean time to repair).
Preventative Resource Optimization:
- CloudWatch alarms observe the values of your metrics against the parameters that you create or that CloudWatch generates on your behalf utilizing machine learning techniques to detect unusual behaviors.
- If an alarm is activated, CloudWatch can automatically take steps to action the Amazon EC2 Auto Scaling or to interrupt a sequence so that you can make resource & capacity planning automatic.
Monitor applications running on AWS (serveless, containers, or on Amazon EC2) or even on-prem. CloudWatch gathers information at each level of the performance sequence, including metrics & logs in dashboards of an automatic nature
Investigate, interpret and view logs to target operational problems and better application performance.
You’ll also be able to make queries respond quickly and efficiently to operational problems. If a problem is encountered, you may begin the query right away using a specially designed query language to quickly identify possible causes.
As IT professionals we should know the foundations of AWS and, according to the area of our expertise, educate ourselves within the area that is of importance. We have only discussed a few of the many Amazon EC2.
I hope this article helped you understand the foundations of AWS, and that it has encouraged you to dig deeper into the advantages of mastering these services. This will allow for our tasks to be done efficiently and give us the ability to correctly advise our current and future customers.
The future is in the cloud and we must be prepared.