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?
@jimaa-maya

Copy link
Copy Markdown

@TasneemAkkad , @jimaa-maya , @ilaydanurguzel1, @abdulrahmanalbakkar

1-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- Cloud computing offers several advantages, including s
A-Scalability.
B-cost-effectiveness.
C- accessibility, flexibility
D-reliability, security, automation.
E-disaster recovery.
F-innovation, and environmental sustainability.
It allows businesses to easily adjust their resources based on needs, reduces upfront costs, enables remote access, ensures high availability, offers robust security measures, provides deployment flexibility, streamlines processes, facilitates disaster recovery, fosters innovation, and promotes environmental sustainability. These advantages make cloud computing a popular choice for businesses seeking scalability, cost savings, reliability, and agility in today's digital landscape.

3-Amazon Web Services (AWS)
Microsoft Azure
Google Cloud Platform (GCP)
IBM Cloud
Oracle Cloud
Alibaba Cloud
VMware

4- Cloud Functions are serverless computing resources offered by cloud platforms. They allow developers to run short units of code in response to events or triggers without managing servers. Cloud Functions are used for tasks such as data processing, automation, APIs, and integrations, providing a simple and scalable way to execute code in the cloud.

A-Backend processing for mobile and web applications.
B-Real-time notifications and alerts.
C-Data processing / ETL.

5-CI stands for Continuous Integration, and CD stands for Continuous Deployment.

CI is a development practice where developers frequently integrate their code changes into a shared repository, triggering automated builds and tests. It helps identify issues early and promotes code quality and collaboration.

CD is an extension of CI that automates the process of deploying software to production environments after passing the CI process. It ensures consistent and repeatable deployments, leading to faster and more reliable releases.

Both CI and CD help streamline development, improve code quality, reduce errors, and enable faster and more frequent software delivery.

6-Serverless architecture is a cloud computing model where developers focus on writing and deploying code (functions or services) without managing the underlying servers. The cloud provider takes care of scaling, infrastructure management, and resource allocation. Serverless functions are event-driven, stateless, and charged based on actual usage. Benefits include scalability, cost efficiency, and simplified operations.

7-Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides features like scalability, load balancing, service discovery, self-healing, and configuration management. Kubernetes simplifies the management of container-based applications and ensures they run consistently and efficiently across different environments.
Originally designed by Google, the project is now maintained by the Cloud Native Computing Foundation. The name Kubernetes originates from Greek, meaning 'helmsman' or 'pilot'.

@fatimaali200

Copy link
Copy Markdown

Team : @fatimaali200 , @cansucreates , @ssaidbaradai , @Gullied

1- One of the most common use cases is deploying software applications in the cloud, which allows businesses to scale up their infrastructure without incurring large upfront costs. Many companies also use cloud computing for data backup and disaster recovery, as it can provide reliable and secure storage of critical data. Another popular use case is cloud-based collaboration tools, which enable remote teams to work together seamlessly. Cloud computing can also be used for big data analytics, helping organizations to process large amounts of data efficiently and cost-effectively.

2- One of the biggest advantages is the flexibility it provides. Users can access their applications and data from anywhere, at any time, as long as they have an internet connection. Another advantage of cloud computing is cost savings. By using cloud-based services, businesses can reduce their hardware and software costs, as they no longer have to invest in their own servers or IT infrastructure. Cloud computing also offers improved security and disaster recovery options. Providers store user data across multiple servers and locations, ensuring that data is protected from various threats.

3 - The most popular cloud providers are Amazon Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Other notable cloud providers include IBM Cloud, Oracle Cloud, and Alibaba Cloud.

4 - Cloud Functions are a serverless computing service from cloud providers that allow developers to deploy and execute small pieces of code or functions in response to specific events or triggers. Two notable use cases of Cloud Functions are: 1. Data Processing and ETL Pipelines: Cloud Functions can be used to process data in real-time and perform Extract, Transform, Load (ETL) tasks from various sources like databases, messaging systems, and data warehouses. 2. Webhook Handlers: Cloud Functions can be used as webhook handlers for third-party services like GitHub, Stripe, or SendGrid. Whenever an event occurs on these services, the cloud function is triggered, allowing developers to respond back with customized actions like sending emails, updating databases, or triggering other workflows.

5 - CI and CD are two practices often used in software development that stand for continuous integration and continuous delivery/deployment respectively. Continuous integration involves regularly and automatically merging code changes made by different developers into a shared repository, allowing development teams to detect issues early on and avoid integration problems later in the development process. Continuous delivery/deployment involves automating the building, testing, and deployment of code changes to production environments. This allows development teams to quickly and confidently release new features and updates to users with minimal errors, enabling faster time-to-market and a more reliable and secure software product. CI and CD help improve the efficiency and quality of the software development process by reducing manual errors, ensuring consistency in code quality and deployment, and allowing for rapid feedback and iteration. These practices also enable better collaboration and communication among development teams and other stakeholders, leading to a smoother software development lifecycle and a better end product.

6 - Serverless architecture is an approach to software design that allows developers to build and run services without having to manage the underlying infrastructure. Developers can write and deploy code, while a cloud provider provisions servers to run their applications, databases, and storage systems at any scale.

7 - Kubernetes is a popular open-source platform used for container orchestration. It effectively manages and automates the deployment, scaling, and management of containerized applications. With Kubernetes, developers can easily deploy and manage containerized applications across a number of different environments, including on-premise data centers and public cloud providers.

@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