Table of contents of the article:
Currently, Amazon Web Services has more than 100.000 customers in more than 190 countries.
With the advent of the AWS cloud in 2004, companies found a new opportunity to have low variable costs (which alternate with the business) to replace high infrastructure costs in advance. Now, companies don't have to plan and obtain IT infrastructures such as servers well in advance. They can deliver results quickly by accessing thousands of servers in virtually minutes through the cloud. Given that AWS is the undisputed star of the cloud scene also in 2019, let's learn what exactly it is and why the company can sometimes (and not always) derive many or some advantages from it. benefits. And as we do, we'd also like to talk about Amazon EC2, the service that has made computing even easier for businesses.
What is Amazon Web Services?
Commonly known as cloud computing nowadays, web services in the form of IT infrastructure services began being offered by Amazon in 2004 for public use. AWS Cloud Computing provides a low-cost, scalable, and highly reliable infrastructure platform in the cloud. This has been adopted by thousands of companies around the world. Currently, its regions include locations such as Asia Pacific, European Union, North America, North America, South America, Canada, China, China, etc. Locations are spread to make sure the system is robust and protected against the impact of outages or other failures. According to the AWS website, the featured service bouquet includes the following:
- Amazon EC2 - Elastic Virtual Servers in the Cloud
- Amazon Simple Storage Service (S3) - Scalable storage in the Amazon cloud
- Aurora - High-performance managed relational database
- Amazon DynamoDB - Managed NoSQL database
- Amazon RDS - Managed database relational database service for MySQL, PostgreSQL, Oracle, SQL Server, and MariaDB
- AWS Lambda - Run code without thinking about servers
- Amazon VPC - Isolate cloud resources
- Amazon Lightsail - Launch and manage private virtual servers
- Amazon SageMaker - Build, train, and deploy machine learning models at scale
Why do businesses need Amazon Cloud?
Now that you know what AWS is, here's why your business could do well with it. Security Amazon's web services are a durable and secure technology platform. To ensure the security and integrity of your data, Amazon data centers and services have different levels of physical and operational security. AWS also conducts regular audits to ensure infrastructure security. It has implemented safety best practices and also provides documentation on how to implement safety functions. It ensures the availability, integrity and confidentiality of your data and provides end-to-end privacy and security.
There are no long-term commitments or upfront expenses regarding AWS pricing. Provides low prices and "pay as you go". Amazon passes the benefits of cost savings to customers in the form of lower prices as it operates and builds global infrastructure on a global scale. It only consumes the amount of storage or computing power needed. No initial investments or minimal expenses are required. In general, it is not easy to predict resource requirements. Thus, you may be allocating fewer resources than necessary and impacting customer satisfaction, or you may be allocating excessive resources and not being able to maximize your return on investment (ROI). The flexibility of the cloud can help strike the right balance. You can terminate your relationship with AWS whenever you want, scale or grow as needed, and have a fully self-service online experience. You can get new resources almost immediately. In addition, you can reduce costs and increase revenue by seizing new opportunities, as the cloud allows you to respond quickly to small or large changes. Nor are you limited to a set amount of computing resources, bandwidth or storage.
Flexibility and openness
Amazon's web services are an agnostic platform for operating systems and languages. You select the programming model or development platform that can be the most beneficial to your business. You can select the services (one or more) you want to use and also select how to use them. Flexibility allows you to focus on innovation rather than infrastructure. You can use programming languages, architectures, operating systems and databases that you are familiar with. This way, your IT staff won't need to acquire new skills and overall time to market and productivity will improve. Migrating legacy applications to the cloud is simple and inexpensive. Applications do not need to be rewritten and advanced computing capabilities can be used to move legacy applications to the AWS cloud. Discrete components of legacy applications can be migrated to move SOA-based solutions to the cloud. In general, these components are standalone applications with few internal dependencies. AWS makes it easy to be productive once you get started, whether you want to host a production solution or an application prototype. Some customers improve their time to market thanks to the flexibility AWS offers.
Elasticity and scalability
AWS allows you to iterate, experiment and innovate rapidly across its massive global cloud infrastructure. You can quickly scale up or down based on demand. You can also use new applications instead of waiting months for the hardware. In this way, you can quickly subtract or add resources based on customer demand and manage costs more effectively. You can also avoid early provisioning of resources for short-term projects with varying consumption rates. You only have to pay for what you use, regardless of whether you use thousands of virtual servers or just one and need them, or just for a few hours a day. In the context of AWS, the ability to scale compute resources down or up without difficulty and with very little friction is known as resilience. You can use AWS to allocate resources through API calls, instead of purchasing hardware, configuring, and maintaining to allocate resources to applications. Autoscaling and Elastic Load Balancing can automatically increase cloud-based Amazon resources in the event of an unexpected increase in demand and reduce them if demand decreases. The AWS cloud is also useful for recurring jobs at regular intervals, mission critical jobs, and short-term jobs. And now that we've seen how Amazon cloud is extending the benefits for businesses, we also think it's important to discuss a service within AWS - Amazon Elastic Cloud 2 ″.
What is AWS EC2 and why do companies choose it?
As Amazon says:
Amazon Elastic Compute Cloud (Amazon EC2) provides scalable compute capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates the need to invest in hardware upfront, so you can develop and deploy applications faster.
It allows you to use Amazon's environment for processing and fully control your computing resources. As your computing needs change, you can quickly scale capacity to suit your needs and launch new server instances in minutes through Amazon EC2.
It also protects against common failure scenarios and provides developers with tools to develop applications that are resistant to failure. So, is this why all companies are going for it? Well, there is more and to find out, let's learn the important features of Amazon EC2.
Highlights of Amazon EC2?
AWS EC2 has various features that help develop enterprise-class and scalable applications that are resistant to failure. Features Include:
This feature allows you to lower latencies, reduce network jitter and achieve significantly higher performance (PPS). Compared to traditional implementations, this feature reduces CPU usage and improves input-output performance through the use of a new network virtualization stack. Install suitable driver and launch AMI hardware assisted virtual machine (HVM) in VPC to benefit from augmented networking. I2, C3 and R3 currently support enhanced networking.
Amazon Elastic Block Store (EBS)
This provides persistent storage for Amazon EC2 instances. Amazon EBS volumes are network attached and persist without depending on the life of an instance. These can be attached as a standard block device to a running Amazon EC2 instance or used as the boot partition of an Amazon EC2 instance and are highly reliable and available. Amazon EC2 instances can be stopped and restarted as required when using Amazon EC2 as a boot partition. The big part of AWS EBS pricing is that you only have to pay for the storage consumed to maintain the health of your instance. In a single Availability Zone, Amazon EBS volumes are replicated automatically. Hence, compared to Amazon's local EC2 stores, Amazon EBS EBS volumes offer longer shelf life.
If you need longer lifespan, you can create time-consistent snapshots of your volumes (stored in Amazon S3), which are automatically replicated for various Availability Zones, through Amazon EBS. You can save data for long-term duration by using snapshots as starting points for new Amazon EBS volumes. These snapshots can be easily shared with other AWS developers and contributors. IOPS volumes and standard volumes are the two types of volumes provided by Amazon EBS. For applications that have modest IO needs, standard volumes are best suited. For applications where I / O occurs in short, sudden episodes at intervals, standard volumes are suitable. These are also suitable for use as boot volumes. For applications such as databases, where workloads can be IO-intensive, provisioned IOPS volumes provide storage with low latency and consistent performance.
Amazon Cloud Watch
Starting with Amazon EC2, Amazon CloudWatch monitors Amazon cloud applications and resources and is a web service. Network traffic, disk read and write, and CPU utilization are among the metrics that Amazon CloudWatch provides for visibility into overall demand patterns, operational performance, and resource utilization. You can set alarms, view graphs and get statistics for metric data. Simply choose the Amazon EC2 instances you want to monitor, to use Amazon CloudWatch. You can also provide your own application or business metrics data. Amazon CloudWatch will collect and store monitoring data that can be accessed using command line tools.
EBS optimized instances
Select Amazon EC2 instance types can be launched as EBS-optimized instances for a low hourly cost. EBS-optimized instances allow EC2 instances to fully utilize the IOPS provided on an EBS volume. Depending on the type of instance used, throughput between 425 Mbps and 14.000 Mbps can be provided by EBS-optimized instances between Amazon EC2 and Amazon EBS. Disputes between Amazon EBS IO and other types of traffic from your EC2 instance are minimized through dedicated throughput and this provides the best performance for your EBS volumes. EBS-optimized can be used with both standard EBS IOPS Amazon EBS volumes and Amazon IOPS volumes. The delivered IOPS volumes can deliver within 10% of the delivered IOPS performance 99,9% of the time and can achieve latencies as low as one millisecond when connected to EBS-optimized instances.
Elastic IP addresses Static IP addresses
Static IP addresses that can be used for dynamic cloud computing are known as Elastic IP addresses. An Elastic IP address is not associated with a particular instance but with your account, and until you release it, check that address. By programmatically remapping public IP addresses to any account instance, Elastic IP addresses allow you to mask failures or Availability Zone instances, versus static IP addresses. Amazon EC2 allows you to troubleshoot software or instance problems by quickly remapping your Elastic IP address to a replacement instance. So, you don't have to wait for DNS to propagate to all customers or wait for a data technician to replace or reconfigure your host.
Importing virtual machines (VMs) Import Export
Use this feature to import virtual machine images from your current environment to Amazon EC2 instances. You can export them back whenever you want. Leverage your investments in virtual machines that meet your compliance, configuration management, and IT security needs by importing virtual machines as ready-to-use EC2 instances. All you have to pay are the standard costs of using Amazon S3 and Amazon EC2.
Automatic Auto Scaling
Based on the conditions outlined, automatic scaling allows you to increase or decrease the capacity of Amazon EC2. You can minimize costs in the event of spikes or drops in demand through autoscaling that automatically increases or decreases the Amazon EC2 instances you are using. For applications that undergo weekly, daily or hourly usage variations, autoscaling is very suitable. Amazon CloudWatch allows for automatic scaling, and to use automatic scaling, simply pay the Amazon CloudWatch fees.
You can define a virtual network in which to launch AWS resources. This can be done through a logically isolated section of the AWS cloud with the help of Amazon VPC. You can configure network gateways and route tables, create subnets and choose your own IP address range. This is because you can fully control your virtual network environment through Amazon VPC. Create a hardware virtual private network (VPN) connection between your VPC and your corporate data center. Use the AWS cloud as an extension of your corporate data center in this way.
Several locations and multiple regions.
Instances can be placed in different locations through Amazon EC2. Regions consist of Availability Zones and Regions. Availability Zones are isolated from failures in other Availability Zones and are distinct locations. These provide low-cost, low-latency network connectivity to Availability Zones within the same region. If any of the locations fail, you can protect your applications by launching instances in other Availability Zones. Regions are located in separate countries or geographic areas and have one or more Availability Zones. The Service Level Agreement provides 99,95% availability for each Amazon EC2 Region. Here are the regions where Amazon EC2 is currently available.
High storage instances
High storage instances can be useful if you are looking for high storage density per instance or are using high sequential IO for applications such as Hadoop and data warehousing.
High IO Instances
These benefits for customers who need random, low latency and very high access to their data. High I / O instances are an Amazon EC2 instance type that offers customers random I / O rates greater than 100.000 IOPS. High IO instances are suitable for customers using high performance relational databases and NoSQL. Instances are based on Solid State Disk (SSD) technology.
Graphics processing unit (GPU) instances
Amazon Elastic Graphics allows you to easily connect low-cost graphics acceleration to a variety of EC2 instances on your network. Simply choose an instance with the right amount of compute, memory, and storage for your application and then use Elastic Graphics to add the graphics acceleration your application requires for a fraction of the cost of standalone GPU instances like G2 instances and G3. Amazon Elastic Graphics makes it easy to connect graphics acceleration to existing Amazon EC2 instances, the same way you connect Amazon EBS volumes. With Elastic Graphics, you can configure the right amount of graphics acceleration to your workload without being constrained by fixed hardware configurations and a limited selection of GPUs. Elastic Graphics supports OpenGL 4.3 and offers graphics accelerators with up to 8 GiB of graphics memory, making them ideal for any workload that requires a small amount of graphics acceleration such as virtual desktops, gaming, industrial design, or HPC visualization.
High-Performance Computing (HPC) Cluster
The cost benefits, flexibility and resilience of Amazon EC2, and the high network and compute performance achieved through custom infrastructures even if you have complex computational workloads such as network performance sensitive applications and tightly coupled parallel processes. Applications can achieve the low-latency network performance required for tightly coupled node-to-node communication by programmatically launching cluster compute instances, high-memory cluster GPUs, and cluster compute instances. High Memory Compute Instances, Clustered GPUs, and Clustered Compute Instances are designed to provide high-performance networking capabilities. Cluster instances are suitable for customer applications that are required to run network intensive operations and deliver significantly higher throughput.
Elastic Load Balancing
This automatically assigns inbound application traffic to various Amazon EC2 instances. By responding to inbound application traffic, Elastic Load Balancing provides the load balancing capability needed to achieve greater tolerance for app failures.
Elastic Load Balancing sends traffic to healthy instances until the unhealthy instances have been repaired. For consistent app performance, you can enable Elastic Load Balancing in one or more Availability Zones.
Request latency and request count are among the operational metrics for which Amazon CloudWatch can be used to capture metrics. You don't have to pay anything more than the elastic load balancing fees.
What are the benefits of Amazon EC2?
With this plethora of features, there are enough reasons why companies choose EC2.
Get started without too many complications
Getting started with EC2 is quick and easy. All you need to do is select the pre-configured software on Amazon Machine Images (AMI) by visiting the AWS Marketplace and get started with Amazon EC2 without delay. Use the Amazon EC2 console or a single click to start the software installation.
Calculation on a Web scale with elasticity
Depending on its needs, the app can scale itself by itself, because Amazon EC2 is controlled via the web service's API (Application Programming Interface). You can commission an unlimited number of server instances simultaneously to increase or decrease capacity in minutes via Amazon EC2.
The monetary benefits of Amazon's scaling are passed on to customers. You only pay for the processing power you use and at a rather low rate. There are paid instances you can choose from. In any case, you only pay for what you have chosen, without sudden and hidden expenses.
You can interact with instances just as you would interact with any machine since you have root access for each of them. So you fully control your instances. You can save the data on the boot partition when you stop an instance and restart it later using the web service API. Restart instances remotely via the web services API. You can also access the console output of the instance.
Your computing resources are protected, and the networking functionality made solid by Amazon EC2 works in conjunction with Amazon Virtual Private Cloud (Amazon VPC).
- Decide the IP range for the VPC within which the compute instances are placed. You specify the instances that remain private and those that are exposed to the Internet.
- For even greater isolation, instances can be run on dedicated hardware. These are known as dedicated instances and run on resources provided through EC2.
- Industry standard encrypted IPsec VPN connections can be used to connect resources in the VPC with existing IT infrastructure.
- You can control network access to and from your instances through Network Access Control Lists (ACLs) and security groups.
To take advantage of VPN connections, private subnets, network ACLs, and outbound security group filtering, among other advanced networking features, you can create a VPC and introduce instances into it, if you don't have a VPC default.
Flexible services for Cloud Hosting
There are various software packages, types of operating system instances that you can select through Amazon EC2. You can choose a boot partition size suitable for your operating system and app, as well as instance memory, CPU, and memory configuration, through AWS EC2.
Quickly and predictably order replacement instances through the trusted environment provided by AWS EC2. The service leverages Amazon's data centers and network infrastructure to provide 99,95% availability in all Amazon EC2 regions (in accordance with the Amazon EC2 Service Level Agreement).
It works in conjunction with other AWS components
For a variety of apps, Amazon EC2 offers storage, query processing, and compute solutions by partnering with Amazon Simple Queue Service, Amazon Simple Storage Service, Amazon SimpleDB, and Amazon Relational Database Service.
When not to use Amazon AWS ?
If so far we have praised all the positive characteristics of Amazon AWS, it is good to have a complete and super partes vision also of the cons that a service like Amazon AWS can reserve. First of all, the impossibility at times of reasoning with a FLAT logic, and therefore of estimating theoretical prices that in reality could increase dramatically given the impossibility of being able to calculate, for example, the traffic on your site.
Unlike Hosting Providers and suppliers who allocate “one-off” FLAT resources with Amazon AWS and with the Pay per use model in general, consuming 50TB of traffic means spending about 4000 euros on traffic alone, when on a dedicated server in any other provider the costs would have been less than 20 euros.
The real question is whether we need to go to the Cloud or use expensive services like Amazon AWS, considering for example that although it is a great service, companies like Dropbox have decided to build their hardware and network infrastructure and disengage from AWS and save $ 75 million over 2 years.
Surely each case is a case in itself and not always Amazon AWS it is the best rational solution when considering the quality / price ratio.
Here is a short list of cases where it should be avoided Amazon AWS :
- Hosting of WordPress sites or portals with less than 500 million page views per month
- Hosting of Joomla sites or portals with less than 500 million page views per month
- Hosting of Drupal sites or portals with less than 500 million page views per month
- Magento e-commerce site hosting
- WooCommerce E-Commerce Site Hosting
- Prestashop E-Commerce Site Hosting
In these cases listed above, use Amazon AWS it would only mean having costs at least 10 times higher than ad hoc solutions developed on alternative datacenters and optimized on the server side.
If you really need to use Amazon AWS for these types of projects listed above, at least have the decency in your (and your customers') sole interest to use the cheaper Amazon Light Sails.
Amazon cloud is a secure service that can help you reduce infrastructure costs, such as servers, along with savings on the number of employees needed to build and maintain the infrastructure. So it has a positive impact on your business as long as there is a real need to choose a tool that is as good as it is expensive, where alternative solutions could be absolutely comparable or even better for your specific case, leading you to very substantial savings.
If you really can't do without it for
You are already using Amazon AWS or would you like to start using it? Do you think that the costs you are currently incurring have become unsustainable and would you like to evaluate savings? Contact us and you will understand how we can save you on Amazon AWS , as we have already written in our post, or ask us for advice on Amazon AWS.