|
| 1 | +### 1. What is cloud computing? |
| 2 | + |
| 3 | +Cloud computing is a technology that allows users to access and use computing resources (e.g. servers, storage, databases, networking, software, etc.) through the Internet. Instead of owning and maintaining physical servers and data centers, businesses and individuals can lease access to these resources from cloud service providers. This approach offers several advantages: |
| 4 | + |
| 5 | +#### Key Benefits |
| 6 | + |
| 7 | +- **Scalability**: Can be easily expanded or contracted depending on demand. |
| 8 | +- **Cost-Efficiency**: Reduce initial investment by paying only for the resources you use. |
| 9 | +- **Accessibility**: You can access the service from anywhere as long as you have an Internet connection. |
| 10 | +- **Flexibility**: You can choose from a variety of services to meet your specific needs. |
| 11 | +- **Maintenance**: The cloud provider is responsible for hardware maintenance and updates. |
| 12 | + |
| 13 | +<br/> |
| 14 | + |
| 15 | +#### Public Cloud vs. Private Cloud |
| 16 | + |
| 17 | +Both public and private clouds offer cloud computing capabilities, but the main differences lie in accessibility and tenancy. Public clouds are shared by a variety of users and can be accessed over the Internet, while private clouds are dedicated to a single organization and provide more control and privacy. |
| 18 | + |
| 19 | +##### Public Cloud |
| 20 | + |
| 21 | +Public cloud is a cloud computing model in which services are provided over the public Internet and shared among multiple customers. These services are provided by third-party providers and are highly scalable and flexible. |
| 22 | + |
| 23 | +Public cloud examples include: |
| 24 | + |
| 25 | +- **Amazon Web Services (AWS)**: Provides a wide range of cloud services such as computing performance (EC2), storage (S3), and database (RDS). |
| 26 | +- **Microsoft Azure:** Provides various services such as virtual machines, app services, and Azure SQL database. |
| 27 | +- **Google Cloud Platform (GCP)**: Well known for services such as Google Compute Engine, Google Cloud Storage, and BigQuery. |
| 28 | + |
| 29 | +##### Private Cloud |
| 30 | + |
| 31 | +Private cloud refers to cloud computing resources used exclusively by one company or organization. Services and infrastructure are maintained on a private network, and hardware and software are dedicated to the organization. This model provides greater control and security. |
| 32 | + |
| 33 | +Private cloud examples include: |
| 34 | + |
| 35 | +- **VMware vSphere**: Often used to create and manage private clouds in enterprise environments. |
| 36 | +- **OpenStack**: An open source platform used to control pools of compute, storage, and networking resources in a private cloud. |
| 37 | +- **Microsoft Azure Stack**: Companies can run Azure cloud services in their own data centers, creating a private version of Azure. |
| 38 | + |
| 39 | +--- |
| 40 | + |
| 41 | +### 2. What is a cloud service? |
| 42 | + |
| 43 | +Cloud services are generally classified into three basic service models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Each of these models represents a different way to provide cloud services to users and businesses. |
| 44 | + |
| 45 | +#### Infrastructure as a Service (IaaS) |
| 46 | + |
| 47 | +IaaS provides virtualized computing resources over the Internet. In this model, the cloud provider provides infrastructure such as servers, storage, and networking hardware along with a software bundle that includes the operating system. |
| 48 | + |
| 49 | +##### characteristic |
| 50 | + |
| 51 | +- Scalable resources based on demand. |
| 52 | +- Clients can control the infrastructure without having to manage the underlying hardware. |
| 53 | +- Flexible and cost-effective as it does not require physical hardware investment. |
| 54 | + |
| 55 | +##### example |
| 56 | + |
| 57 | +- Amazon Web Services (AWS) EC2 |
| 58 | +- Microsoft Azure virtual machine |
| 59 | +- Google Compute Engine (GCE) |
| 60 | + |
| 61 | +<br/> |
| 62 | + |
| 63 | +#### Platform as a Service (PaaS) |
| 64 | + |
| 65 | +PaaS provides a framework that allows developers to build, test, deploy, and manage applications without the complexity of maintaining the infrastructure typically associated with developing and shipping apps. |
| 66 | + |
| 67 | +##### characteristic |
| 68 | + |
| 69 | +- Provides a platform with tools to test, develop, and host applications in the same environment. |
| 70 | +- Developers can focus on software development without worrying about operating systems, software updates, storage, or infrastructure. |
| 71 | +- PaaS solutions may include development tools, database management systems, and business analytics. |
| 72 | + |
| 73 | +##### example |
| 74 | + |
| 75 | +- Google App Engine |
| 76 | +- Microsoft Azure App Services |
| 77 | +- Heroku |
| 78 | + |
| 79 | +<br/> |
| 80 | + |
| 81 | +#### Software as a Service (SaaS) |
| 82 | + |
| 83 | +SaaS is a method of delivering software applications over the Internet on-demand and usually on a subscription basis. With SaaS, the cloud provider hosts and manages the software applications and underlying infrastructure. |
| 84 | + |
| 85 | +##### characteristic |
| 86 | + |
| 87 | +- Accessible from any device with Internet access. |
| 88 | +- User is not responsible for hardware or software updates. The supplier manages this. |
| 89 | +- It can be expanded to various tiers to suit small and medium-sized businesses and large corporations. |
| 90 | + |
| 91 | +##### example |
| 92 | + |
| 93 | +- Google Workspace (formerly G Suite) |
| 94 | +- Microsoft Office 365 |
| 95 | +- Salesforce |
| 96 | + |
| 97 | +--- |
| 98 | + |
| 99 | +### 3. What is a Cloud-native applications? |
| 100 | + |
| 101 | +Cloud-native applications are designed from the ground up to take advantage of the scalability, elasticity, and flexibility of cloud computing architecture. It leverages a suite of technologies focused on building and running scalable applications in dynamic environments such as public, private, and hybrid clouds. Cloud-native applications are not only about where applications run, but also about how they are built, deployed, and operated. Cloud-native development, with its emphasis on microservices, containers, DevOps, and elasticity, aims to maximize the benefits of cloud computing to achieve more agile, scalable, and reliable software. |
| 102 | + |
| 103 | +- Designed for the Cloud |
| 104 | +- Microservices Architecture |
| 105 | +- Containers |
| 106 | +- DevOps and Continuous Delivery |
| 107 | +- Scalability |
| 108 | +- Resilience and Fault Tolerance |
| 109 | +- API-based Communication |
| 110 | +- Infrastructure as Code (IaC) |
| 111 | + |
| 112 | +--- |
| 113 | + |
| 114 | +### 4. Serverless Computing |
| 115 | + |
| 116 | +**Serverless computing** is a cloud computing execution model in which the cloud provider dynamically manages the allocation and provisioning of servers. Serverless architecture allows users to write and deploy code without worrying about the underlying infrastructure. The term "serverless" is somewhat misleading; it means that servers are still used, but developers don't have to manage those servers. |
| 117 | + |
| 118 | +#### Main Features |
| 119 | + |
| 120 | +- **Event-driven**: Serverless applications are often event-driven, operating in response to events or triggers from various cloud services (e.g., HTTP requests, file uploads, database events). |
| 121 | +- **Scalability**: It automatically scales according to application demand, capable of handling everything from a few requests per day to thousands per second. |
| 122 | +- **Usage-based costing**: Billing is based on the actual amount of resources consumed by the application, rather than on pre-purchased units of capacity. |
| 123 | + |
| 124 | +#### Advantages |
| 125 | + |
| 126 | +- **No server management required**: Developers don't need to provision or maintain servers. The cloud provider handles all aspects of server management. |
| 127 | +- **Cost-effective**: There's no charge when your code isn't running, so you only pay for the compute time you use. |
| 128 | +- **Scalability**: Infrastructure automatically adjusts—expanding or contracting—in response to the application's needs. |
| 129 | + |
| 130 | +#### Use Cases |
| 131 | + |
| 132 | +- **Web Applications**: Serving API requests or backend services for web applications. |
| 133 | +- **Data Processing**: Handling database change events, processing data streams, or managing file uploads. |
| 134 | +- **Integrations**: Connecting to and extending third-party services and APIs. |
| 135 | + |
| 136 | +#### Providers |
| 137 | + |
| 138 | +The major serverless computing providers include: |
| 139 | + |
| 140 | +- AWS Lambda |
| 141 | +- Azure Functions |
| 142 | +- Google Cloud Functions |
| 143 | +- IBM Cloud Functions |
| 144 | + |
| 145 | +#### Example |
| 146 | + |
| 147 | +Here's an example of a simple serverless function (AWS Lambda in Python) that returns the current time: |
| 148 | + |
| 149 | +```python |
| 150 | +import json |
| 151 | +import datetime |
| 152 | + |
| 153 | +def lambda_handler(event, context): |
| 154 | + current_time = datetime.datetime.now().isoformat() |
| 155 | + return { |
| 156 | + 'statusCode': 200, |
| 157 | + 'body': json.dumps({'current_time': current_time}) |
| 158 | + } |
| 159 | +``` |
| 160 | + |
| 161 | +--- |
0 commit comments