![](https://i.imgur.com/T4fkMKo.png) # Amazon WebServices Seminar (Part 1 on 10) These are additional notes to the EPITA's Amazon WebServices Introductory Seminar for 4th year students. Notes by Tom-Eliott Herfray -- `Find3r`. In this module, you will learn how to : - Define different types of cloud computing models - Describe 6 advantages of cloud computing - Recognize the main AWS service categories and core services - Review the AWS Cloud Adoption Framework # Module 1: What's cloud computing? **Cloud computing** is the *on-demand* delivery of computer power, database, storage, applications and other IT resources via the Internet with *pay-as-you-go* pricing. When you use a cloud service provider, like *AWS*, you are using the computers owned by that service provider. Cloud computing enables you to stop thinking of your infrastructure as hardware, and instead think of (and use) it as software. Traditional computing models (Hardware solutions) are physical, which means they require space, staff to maintain it and a physical security. :warning: With a hardware solution, you must ask if there's enough resource capacity or sufficient storage to meet your needs. By contrast, cloud computing enables you to think of your infrastructure as software, software solution are flexible. You can change more quickly, easily and cost-effecitvely than hardware solutions.| | --- | Cloud computing helps developers and IT departments avoid undifferentiated heavy lifting work like procurement, maintenance and capacity planning. ## Cloud service models ![](https://i.imgur.com/KUmvhOD.png) 1. **Infrastructure as a service** : It provides you access to networking features computers, whether it's virtual or dedicated, and provide storage space. IaaS provides you with the highest level of flexibility control over your IT resources. 2. **Platform as a service** : It removes you to manage the underlying infrastructure (hardware and operating system) with automation. It allow you to focus on the deployment and management of your applications. 3. **Software as a service** : It provides you with a complete product that is run and managed by the service provider. SaaS, in most cases, refers to end-user applications. You do not have to think about how the service is maintened or how the underlying infrastructure is managed. ## Main cloud computing deployements models ![](https://i.imgur.com/1qFQyXS.png) 1. **Cloud** : Fully deployed in the cloud, applications have either been created in the cloud or have been migrated from an existing infrastructure. Your applications can be built on low-level infrastructure pieces or you can use higher level serices that provide abstraction from the management, architecting and scaling requirements of your core infrastructure. 2. **Hybrid** : The deployment is such a way that to connect your existing infrastructure and applications to a cloud-based resources. This extends and grow your implementation while connecting cloud resources to your internal systems. 3. **On-premises (private cloud)** : It uses virtualization and resource management tools to desploy resources on-premises (called *private cloud*). In most cases, the deployment model is the same as a legacy information technology infrastructure, while using application management and virtualization technologies to try and increase resource utilization. ## Similarities between AWS and traditional IT There are many similarities between AWS and a traditional IT implementation. ![](https://i.imgur.com/DlOr1jp.png) ## Advantages of cloud computing 1. **Trade capital expense (or *capex*) for variable expense** : pay only for the amount you consume by using cloud computing. 2. **Massivve economies of scale** : by using cloud computing, you can achieve a lower variable cost than you can get on your very own. 3. **Stop guessing capacity** : eliminate guessing about your infrastructure capacity needs (overestaminated or underestimated server capacity) with scaling on demand. 4. **Increase speed and agility** : reduce the time it takes to make resources availables, with only minutes between waiting resources and having resources. 5. **Strop spending money on running and maintaining data centers** : cloud computing enables you to focus on your own customers instead of the manual racking, stacking and powering of servers. 6. **Go global in minutes** : you can deploy your application in multiple AWS regions around the world with few clicks and provide lower latency and a better experience simply at a minimal cost. ## Introduction to AWS ### What are web services? A **web service** is any piece of software that makes itself available over the internet and uses a standardized format, such as XML or JSON, for the request and the response of an API. ![](https://i.imgur.com/pshBIe0.png) ### What's Amazon WebServices? ![](https://i.imgur.com/pzGsaQ3.png) AWS is a secure cloud platform that offers a broad set of global cloud-based products, it provides you with on-demand access to compute, storage, network, database and other IT resources and managements tools. AWS offers flexibility and you pay only for the individual services you need, for as long as you use them. All AWS services work together like *building blocks*. Here are some AWS services : - **Amazon EC2** : to compute when you want complete control over your AWS compute resources and infrastructure. - **AWS Lambda** : to run code and not manage or provision servers. - **AWS Elastic Beanstalk** : to provision a service that then deploys, manages and scales your web applications automatically. - **Amazon Lightsail** : to have a cloud platform for a simple web application. - **AWS Batch** : to run hundreds of thousands of batch workloads with a reliably way. - **AWS Outposts** : to run AWS infrastructure in your on-premises data center. - **Amazon ECS, Amazon AKS Elastic or AWS Fargate** : to implement a containers or a microservices architecture - And more... ### Three ways to interact with AWS ![](https://i.imgur.com/nOH2dZk.png) ## AWS Cloud Adoption Framework (AWS CAF) **AWS CAF** provides guidances and best pratices to help organizations build a comprehensive approach to cloud computing across the organization and throughout the IT lifecycle to accelerate successful cloud adoption. It is organized into 6 *perpectives* that consist of set of *capabilities* : - **Business capabilities** : 1. Business 3. People 4. Governance - **Technical capabilities** : 4. Platform 5. Security 6. Operations