# What is Cloud-Computing? - A model that enables businesses to acquire resources for their IT infrastructure needs on demand - Cloud resources: Servers, storage, databases, netwroks, software applications, and so on - Ensures the instantaneous availability of resources with lower cost and operational overhead ## Benefits 1. Cost Savings - Helps you reduce capital investment - Reduces hardare and software procurement, which further eliminates the need for power and cooling systems - Provides cloud services on demand and you are only charged when you use the service 2. Data Loss Prevention - Cloud computing allows you to store your organizations' valuable data in the cloud rather your own data center storage hardware - The cloud provider's data storage solutions typically offer better access, redundancy, and availability than enterprise data centers - These solutions help prevent data loss through malfunction, viruses, user errors, or theft 3. Scalability - Cloud computing enables you to increase or decrease IT infra resources according to your business needs - Both manual and automatic scaling options are available with most cloud providers 4. Flexibility - IT organiztions traditionally focus on various responsibilities, from procuring, hosting, and maintaining IT infra to custumer support and security - Because these services are made available as managed services by the cloud provider, organizations can focus on their actual business and not IT management issues 5. Security - Cloud providers offer data protection services like data encryption and policy-based user management, making cloud security equivalent to conventional systems 6. Data Analytics - Cloud computing technology generally includes analytics and reporting, which helps track usage - This feature allows you to indentify areas of improvement, meet your business goals, and increase organizational efficiency 7. Collaboration - Cloud computing allows users from different geographic locations to work as a team and collaborate easily and effectively - This speeds delivery of applications to market 8. Data Recovery - Cloud computing provides features and technologies that help companies recover data lost during natural disasters, power outages, and other unforeseen emergencies. 9. Mobile Access - Cloud applications can provide mobile access to corporate resources - This feature is beneficial for employees and customers, allowing them to access a cloud application from anywhere ## Use Cases - Faster Testing and Deployment - Remote Working - Cloud Communication # What is a Cloud Application? A cloud application is a software program that runs in the cloud and is accessed remotely over the network. It has all the functionality of a non cloud based application with the added advantage of being delivered over the network. # Cloud Economics Cloud computing reduces capital expenditures ( CapEx ) by eliminating the need to run and maintain your own infrastructure Your costs shift to operating expenses ( OpEx ), which are generally lower as you only pay for the resources you consume # Operational Efficiencies - Reduces Capital Expenses - Reduces Staffing Costs - Improves Productivity # What is a Distributed System? A distriuted computing system consists of multiple independent software components. These independent software components are located on different systems that communicate in such a way that they appear as a single system to the end user Note - Cloud computing is based on the distributed systems model ### Types of Distributed Systems 1. Peer-to-Peer -> in the peer-to-peer architectural model, responsibilities are uniformly distributed among machines in the system. 2. Client-Server -> In the client-server model, data on the server is accessed by clients. 3. Three-tier -> The three-tier architectural model enables information about the client to be stored in the middle tier. 4. N-tier -> The n-tier architecture allows an application or server to forward requests to additional enterprise services on the network. # Centralized v/s Distributed Systems # Workloads - The amount of work allocated to a defined computing task at any given time - An isolated computing task that is executed indepenedently without any support from external programs or applications ### Edge Computing : - Is a distributed computing model that brings compute and storage workloads closer to the user - Decreases latency and saves bandwidth - Processes information close to the edge and decentralizes a network ### Workloads in distributed systems : - Are distributed among the available IT resources based on the utilization of each resource - Uses an algorithm that consumes runtime logic and distributes the workload among the available IT resouces evenly # Bare Metal Server - A physical server assigned to a single tenant - Can be modified based on the need for performance and security - Isolates resources from other tenants and provides security to your business - Can be configured for different cloud setups # Cloud Implementations # Types of Cloud ## Public Clouds - Public Clouds are environments where network infra and resources are made accessible to the public - Resources are partitioned and distributed amongst multiple customers or tenants ## Private Clouds - Private Clouds environments are privately owned and hosted by an enterprise. - Resources are genrally made accessible to a private organization and their customers and partners - Managed private clouds are deployed and fully managed by a third-party, reducing the IT staffing needs for the enterprise - Dedicated private clouds are hosted on a public or private cloud to server a particular department within an enterprise ## Hybrid Clouds - Hybrid Clouds are cloud environments that appear as a single cloud although they are built from multiple clouds ( connected through LANs, WANs, VPNs and/or APIs ) - Offer flexibilty in deployment options by enabling workloads to move between private and public clouds based on computing needs ## Multi Clouds - Multiclouds are cloud envirenments that offer more than one cloud service from more than one public cloud service provider - Resources are deployed accross different cloud availabilty zones and regions - All Hybrid Clouds are Multi Clouds # Top Public Cloud Providers ## Microsoft Azure ## Amazon Web Services ## Google Cloud ## Others Public Cloud Providers ## Cloud Connectors