Skip to content

Instantly share code, notes, and snippets.

@halitbatur
Created June 13, 2023 14:14
Show Gist options
  • Select an option

  • Save halitbatur/3ca4c262d0b1ec67a7cc793ea5a84179 to your computer and use it in GitHub Desktop.

Select an option

Save halitbatur/3ca4c262d0b1ec67a7cc793ea5a84179 to your computer and use it in GitHub Desktop.
Discussion questions for cloud computing

Cloud Computing Discussion

  • What are some use cases of cloud computing?
  • Mention some of the advantages of cloud computing.
  • What are the most popular cloud providers?
  • What are cloud functions? mention at least 2 use cases.
  • What are CI and CD? and how are they helpful
  • What is serverless architecture?
  • What is Kubernetes?
@sncey

sncey commented Jun 13, 2023

Copy link
Copy Markdown

@OmarQaqish @motaz99 @sack_ali @0Rawan @tomiece317

1- Cloud computing has various use cases, including infrastructure hosting (IaaS), application development (PaaS), software access (SaaS), data backup, big data analytics, IoT data processing, DevOps, disaster recovery, and more.

2- Cloud computing offers numerous benefits, including cost savings, scalability, flexibility, increased reliability, and easier management and maintenance of infrastructure and applications. It has become a foundational technology for businesses of all sizes, enabling them to focus on their core operations while leveraging the power and flexibility of cloud-based services. These advantages make cloud computing an attractive option for businesses looking to streamline operations, reduce costs, and leverage the benefits of scalable and accessible computing resources.

3- Microsoft Azure, Amazon Web Services, Salesforce, Google Cloud, IBM Cloud. AWS, Azure, and GCP, are widely recognized as the leading players in the cloud computing market, offering extensive features, global reach, scalability, and reliability.

4- Cloud Functions is an event-driven serverless compute platform. Cloud Functions allows you to write your code without worrying about provisioning resources or scaling to handle changing requirements. Cloud Functions are serverless compute resources that enable developers to execute code in response to events. Two common use cases include event-driven automation and microservices architecture. In event-driven automation, functions can be triggered by specific events to automate processes and workflows. In a microservices architecture, Cloud Functions are used to build small, independent components that work together to create flexible and scalable applications.

5- CI (Continuous Integration) involves frequently integrating code changes to catch bugs early, while CD (Continuous Deployment/Delivery) automates the release and deployment of software. They enhance collaboration, improve code quality, and enable faster and more reliable software delivery.

6- Serverless architecture is a cloud computing model where developers can build and run applications without managing the underlying infrastructure. In serverless architecture, the cloud provider takes care of server management, scaling, and resource allocation. Developers only focus on writing and deploying code in the form of functions or microservices, which are triggered by specific events. This approach offers benefits such as automatic scaling, reduced operational overhead, and pay-per-use pricing, allowing developers to focus on code functionality rather than infrastructure management.

7- Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides a framework for managing and coordinating containers across multiple nodes in a cluster. Kubernetes offers features like container scheduling, load balancing, service discovery, and automatic scaling, enabling organizations to efficiently deploy and manage containerized applications at scale. It abstracts the underlying infrastructure, allowing applications to be portable and run consistently across different environments.

@badrnasher

Copy link
Copy Markdown

Members: Bedreddin Naser , Nour Eddin Hamouda, Tesnim Nakilci

  1. Cloud computing has various use cases, including:

Infrastructure, Platform, and Software as a Service (IaaS, PaaS, SaaS)
Data backup and recovery
Big data analytics
Development and testing environments
Internet of Things (IoT)
Collaboration and file sharing
Content delivery and streaming
Artificial Intelligence (AI) and Machine Learning (ML)
These use cases cover areas like scalable infrastructure, data storage, analysis, application development, IoT, collaboration, content distribution, and AI/ML.

  1. Advantages of cloud computing include:
  1. Scalability and cost savings.
  2. Accessibility and mobility.
  3. Reliability and high availability.
  4. Enhanced security measures.
  5. Automated updates and maintenance.
  6. Disaster recovery and backup.
  7. Improved collaboration and flexibility.
  8. Accelerated innovation and time-to-market.
  9. Environmental sustainability.

3.) The most popular cloud providers are:

  1. Amazon Web Services (AWS)
  2. Microsoft Azure
  3. Google Cloud Platform (GCP)
  4. IBM Cloud
  5. Oracle Cloud
  6. Alibaba Cloud

4.) Cloud Functions, also known as Function-as-a-Service (FaaS), are a serverless computing execution model provided by various cloud platforms. They allow developers to write and deploy code that runs in response to specific events or triggers without managing the underlying infrastructure. Here are two use cases of cloud functions:

  1. Event-driven Automation: Cloud functions are often used to automate tasks or workflows in response to events.

  2. Microservices Architecture: Cloud functions are ideal for building microservices, which are small, independent, and loosely coupled services. Each function can handle a specific functionality or task.

5.) CI stands for Continuous Integration, and CD stands for Continuous Delivery/Deployment. They are practices in software development that focus on automating and streamlining the process of building, testing, and delivering software applications. Here's a brief explanation of each and their benefits:

Continuous Integration (CI): CI involves merging code changes from multiple developers into a shared repository regularly. The code is then automatically built, and automated tests are executed to detect integration issues early. CI aims to catch issues early in the development process, reducing conflicts and ensuring that the codebase remains in a stable state. It promotes collaboration, code quality, and faster feedback loops.

Continuous Delivery/Deployment (CD): CD is an extension of CI and focuses on automating the deployment process of software applications. It involves delivering application updates to production environments frequently and reliably. Continuous Delivery ensures that the software is always in a deployable state, while Continuous Deployment takes it a step further by automatically deploying the application to production environments. CD enables faster release cycles, reduces manual errors, and improves the overall software delivery process.

CI and CD practices bring automation, collaboration, quality assurance, and speed to software development and deployment processes. They are instrumental in enabling efficient software delivery, reducing risks, and achieving faster time-to-market.

6.) Serverless architecture is a cloud computing model where the cloud provider manages the infrastructure and automatically provisions, scales, and manages the resources required to run an application. In a serverless architecture, developers focus on writing and deploying code in the form of functions or small units of business logic, also known as serverless functions.

7.) Kubernetes, often referred to as K8s (since there are 8 letters between 'K' and 's' in Kubernetes), is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides features like scaling, load balancing, self-healing, service discovery, and configuration management. Kubernetes simplifies the management of complex applications in a distributed environment.

@baraah-berra

Copy link
Copy Markdown

Sheida - Abdullah - abdurrahman - Berra
1- What are some use cases of cloud computing?
10 Common Use Cases of Cloud Computing
Storage.
Test and Development.
Serverless Computing.
High Performing Applications.
Infrastructure as a service ( IaaS )
AI as a service ( AIaaS )
Disaster Recovery Plan.
Building Fault Tolerant Systems.

2-Mention some of the advantages of cloud computing.
Faster time to market
Scalability and flexibility.
Cost savings.
Better collaboration.
Advanced security.
Data loss prevention.

3- What are the most popular cloud providers?
Google Cloud.
AWS Cloud.
Microsoft Azure.

4- What are cloud functions? mention at least 2 use cases.
Cloud Functions, also known as Function as a Service (FaaS), is a serverless computing execution model provided by cloud platforms. It allows developers to write and deploy small, event-driven code snippets or functions that run in response to specific events or triggers, without the need to manage or provision servers. Cloud Functions abstracts away the underlying infrastructure, enabling developers to focus solely on writing the code for their functions. Two common use cases for Cloud Functions:
In event-driven processing, Cloud Functions can perform tasks such as real-time data processing, file processing, and transformation. They can process data as it arrives, perform validations, enrichments, and trigger automated actions. For file processing, Cloud Functions can resize images, extract metadata, or convert formats.

In a microservices architecture, Cloud Functions can act as API backends, handling requests, executing business logic, and interacting with databases or other services. They can also integrate and aggregate data from various sources, such as fetching data from APIs, aggregating it, and storing the results or triggering further processes.

5-What are CI and CD? and how are they helpful
CI and CD stand for continuous integration and continuous delivery/continuous deployment. In very simple terms, CI is a modern software development practice in which incremental code changes are made frequently and reliably. Automated build-and-test steps triggered by CI ensure that code changes being merged into the repository are reliable. The code is then delivered quickly and seamlessly as a part of the CD process. In the software world, the CI/CD pipeline refers to the automation that enables incremental code changes from developers’ desktops to be delivered quickly and reliably to production.
CI/CD allows organizations to ship software quickly and efficiently. CI/CD facilitates an effective process for getting products to market faster than ever before, continuously delivering code into production, and ensuring an ongoing flow of new features and bug fixes via the most efficient delivery method.

6-What is serverless architecture? A serverless architecture is a way to build and run applications and services without having to manage infrastructure.

7-What is Kubernetes?
Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment