Today, companies have specific needs to ensure their sustainability and development in the short to long term. These needs cover all areas of IT in business: development with the tools needed to produce new products, server infrastructures to meet the growing number of customers and users and ensure availability 7 days out of 7, 24-hour applications, databases that fill up more and more quickly and many more. Many parameters must be taken into account in order to respond adequately to the needs: the size of the company, the number of employees, the clientele, the prospects for real changes, etc. Cloud computing allows this by offering tailor-made services, suitable for any organisation and its needs. There are different types of services (Iaas, Paas, Saas) and different ways to access them: infrastructures developed specifically for one or more organisations and external service providers (Microsoft Azure, Google Engine, Open Stack, etc.) offering these services . Amazon also offers these services with Amazon Web Services or AWS .
What is AWS(Amazon Web Service)?
Before presenting what AWS is, you have to explain the principle of cloud computing. Cloud computing is the provision, on demand, of services or solutions such as servers, databases for storage, applications or computing power. For this, we must generally go through a platform that lists all these services and applies a progressive pricing (like the “pay-as-you-use”, we pay essentially what we use in resources). Cloud computing makes it possible to simplify the management of IT assets, particularly with regard to the server infrastructure, since part of the associated costs are greatly reduced (particularly with regard to server maintenance). In addition, with the “pay-as-you-use”, it is easier to manage the resources used and avoid paying for some unused. Obtaining new resources is extremely fast, as it usually takes a few clicks on the cloud platform to get them. Finally deployments applications, especially internationally, can be done more easily and quickly. There are three forms of cloud computing:Iaas (Infrastructure as a Service), Paas (Platform as a service) and Saas (Software as a service). They will each adapt to the needs of an organization or a person, according to his request.
Amazon Web Services (or AWS) is Amazon’s cloud computing platform. It covers many use cases such as server configurations, database engines, encryption or computation services, and Big Data tools. All its services are available and accessible almost instantaneously, thus allowing a fast implementation of the services necessary for the good functioning of a company. In addition, tools are available to connect an existing infrastructure with the AWS cloud and to deploy applications running on these two infrastructures. AWSis present internationally, with currently 43 availability zones, which correspond to sets of servers for the provision of services. These areas of availability are distributed in 16 regions around the world, on 5 continents (North and South America, Europe, Asia, Oceania). Their development continues with 11 new areas of availability soon around the world, including one in Paris.
Different AWS services
AWS offers many services in various categories. Many domains have their services offered: development, infrastructure, storage, big data and others. These services always respond to a specific need, which allows us to always find an offer adapted to the demand, whether in terms of performance, quality or cost of service.
Amazon Elastic Compute Cloud (or Amazon EC2) is a service that provides the ability to compute on demand. They are materialized by server instances, launchable from the AWS web platform or from the management console. Via these interfaces, it will be possible to control the resources of the instances, by increasing or reducing their capacities and powers. The availability rate of the instances is 99.95% , which gives great reliability to this service. In addition, the cost of use is calculated according to the resources used.
There are also services for application deployment. Amazon EC2 Container Service is a fairly targeted service because it allows you to manage highly scalable and high performance containers. It supports Docker containers, allowing simplified execution of applications on a managed Amazon EC2 instance cluster. Full control of resource management within the cluster is left to the users. This service does not require any additional fees: the user pays the AWS resources used for the cluster.
AWS Elastic Beanstalk is a service for deploying applications and web services. This includes applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go and Docker on familiar servers (Nginx, Apache, IIS …). To use it, just take the code and load it on the Elastic Beanstalk platform then the deployment steps of an application will be done automatically (automatic sizing, load balancing, monitoring of the state of the application …) . It will then be possible to manually balance the resources assigned to the application. For associated costs, the operation is the same as with Amazon EC2 Container Service.
Amazon also offers a Private Virtual Server (VPS) service called Amazon LightSail . This service is rather dedicated to developers, small businesses or students, who want to work and deploy their applications on a “personal” server. The proposed VPS offer advantages such as a virtual machine, SSD storage on primary disk, DNS management and static IP. The costs to use this service vary depending on the RAM, the number of server processor, the size of the SSD and the data transfer rate.
The differentiation between the storage services is done through different parameters. First, the amount of data stored is important to consider: a service like Amazon Simple Service Storage (or Amazon S3) will be suitable for large data storage. Then, we must know what type of data will be stored: data dedicated to the analysis (preferably stored with Amazon S3) archives that will be little used but necessary in the long term ( Amazon Glacier will be more suitable in this case) or data used for application tasks, requiring high accuracy in performance, cost, and storage capacity settings (a solution such as Amazon Elastic Block Store will then be privileged). Amazon also offers scalable storage forms, which will be tailored to the customer’s needs and the data to be stored. In this case, Amazon Elastic File System (Amazon EFS) will be used, providing a storage that will fit according to the files present with no more and no less than what is necessary for this task.
Amazon also offers hybrid cloud storage, which enables organizations to use and integrate their on-premises applications with AWS cloud storage in a seamless way. This is called AWS Storage Gateway . This service is more dedicated to disaster recovery, with backups and archiving. It also allows the creation of storage levels and the migration of applications.
Several data transport solutions exist with AWS, called AWS Snowball and Snowmobile . These two solutions are differentiated by their transportable data capacity: Snowball transports volumes of petabytes while Snowmobile is dedicated to volumes in exabytes. These mobile transports are highly secure because Amazon appliances are sent to perform the task directly and then used to transfer the data directly to the dedicated AWS services.
Amazon Aurora is a relational database engine, whose specificity is its compatibility with MySQL and PostgreSQL. This makes it possible to import and use all the codes, applications, drivers and tools already used before with both tools. This service is also considered highly efficient, thanks in particular to its throughput (five times more than MySQL and twice as much as PostgreSQL) and its consistent performance that is comparable to commercial databases. Security is taken into account, with different levels. It is possible to isolate the database from the network (especially with Amazon Virtual Private Cloud) and encrypt data, automatic backups, snapshots, and replicas. Aurora is also a scalable and managed service, which involves resource management with full user control and provision and retention by Amazon.
Amazon Relational Database Service (or Amazon RDS) is a managed relational database service. It offers six different and usable database engines: Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle and Microsoft SQL Server. Like other Amazon services, it is scalable with custom resource management, scalable with usage, and manageable from the AWS Management Console.
Amazon Dynamo DB is a fast and flexible service of NoSQL database service. It is particularly dedicated to high performance use, with almost permanent availability. Applications such as mobile, the web, games and the internet of things are the target of this service. It is also possible to have built-in triggers, which allow the design of applications that respond automatically to data changes made to the database.
Access management is done through AWS Identity and Access Management (or IAM), assigning unique security credentials to each user to better control access to resources and services.
Amazon Redshift is about storage in data warehouses. It is thus rather dedicated to the users wishing to carry out Business Intelligence within their company. It is possible to use business intelligence tools on it. It is possible to configure resources to go up to several petabytes of resources. Fault tolerance is also been taken into account, with automatic data replication at the other nodes within the cluster.
To facilitate the management and monitoring of services previously presented, Amazon offers management tools tailored to the needs of users. With Amazon CloudWatch , it is possible to monitor the AWS cloud resources as well as the applications executed by the user on them. It is possible to set up tasks or actions that will fire automatically if AWS cloud resource changes occur or even set up alarms. Graphs and statistics can emerge from this monitoring to better interpret them.
AWS CloudTrail is a service dedicated to more security-oriented tasks around AWS services. It enables the administration, compliance, and operational and risk auditing of an AWS account. In particular, it records AWS API calls, to identify users and accounts, with their source IP address and the date / time of the API call. It also allows you to see if there are operational or security issues and then resolve them later.
Amazon EC2 Systems Manager is a more targeted service since it allows the configuration and management of Amazon EC2 systems. It allows automatic collection of information around these systems such as software inventory or operating system patches to apply, system imaging and configuration of Windows and Linux operating systems. It also enables the management of hybrid cloud systems by creating a link between the AWS EC2 services used and an on-premises infrastructure (such as Microsoft Hyper-V or VMware EXSI). The automation of certain tasks is possible: the application of patches on large groups of EC2 instances, the application of configuration policies and the regular update of the AMI.
AWS CloudFormation is designed for developers and system administrators to enable them to easily create and manage all AWS resources that are linked to each other, then provisioning them, and enabling them to be updated. in an orderly and predictable manner. Support for the majority of AWS resources enables the development and construction of an AWS infrastructure that will be highly scalable and reliable, with high availability. This will meet the needs of the applications. It will also be possible to reuse copies of the same stack and then recreate a recreated infrastructure almost identical, with its own specificities.
There are many other services, all dedicated to a specific area: Application Migration, System Security, Analysis, Artificial Intelligence, Mobile and Application Services, Messaging Services, Internet of Things, Game Development, etc.
AWS covers a wide range of domains, helping to meet growing demand in the cloud services market and meeting almost all the needs expressed by users. In addition, it allows small businesses to grow their businesses faster, with services that are available almost instantaneously and whose cost will be calculated based on the resources used. Students are also privileged because it is possible to use certain resources and services of AWS for free, allowing to generally overcome the lack of computing power or storage space of their personal computer.
The cloud services market tends to develop with competition already established between two giants of computing ( Microsoft Azure versus Amazon Web Services ) which offers a wide range of services and open-source solutions ( OpenStack ) rather dedicated to users wanting to have total control over their cloud. It is possible that in the following years, new companies will emerge to meet the new corporate IT needs that will emerge in the coming years and thus diversify a young but extremely dynamic market.