What does it mean for something to be “Cloud Native”? How does it apply?
Applications are designed to be scalable, resilient, and flexible
Cloud Native applies to all cloud offerings including Public, Private, and Hybrid Clouds
What is the CNCF? What does it stand for? What is its purpose?
Cloud Native Computing Foundation
Purpose is to make cloud-native computing universal and sustainable
Who created the Kubernetes project? Who was the original developer?
In what way is Kubernetes associated with the CNCF?
Kubernetes was the first submission to the CNCF and was created by Google
What was the first-ever project submission to the CNCF?
Kubernetes
What is the significance of the Linux Foundation in relation to Cloud Native?
The Linux Foundation is responsible for hosting significant projects like:
- The Linux Kernel
- Kubernetes
- The CNCF
When was the Linux Foundation founded?
In the year 2000
What is “Cloud Native Architecture”?
Applications built using Cloud Native best practices to run across all Cloud Native Systems
What is the role of container technologies in the Cloud Native ecosystem?
Containers are beneficial from an application management perspective.
Containers are also a positive step towards Cloud Native.
How does Cloud Native differ from a legacy deployment in terms of application development?
Cloud Native applications:
- Are designed for high availability and fault tolerance
- Leverage the infrastructure provided by cloud service providers
- Built using infrastructure-as-code tools like Terraform for flexible and vendor-agnostic management
What are some example benefits from Cloud Infrastructure compared to legacy?
Cost savings and scalability
What are some questions to ask in helping determine if an application is Cloud Native?
What are the three kinds of autoscaling?
Reactive Autoscaling: to scale according to workload
Scheduled Autoscaling
Predictive Autoscaling: schedule with AI / Machine learning
What is the difference between Automatic and Automated?
Automatic describes anything that works independently
Automated means to make a process independent of human intervention
What are vertical and horizontal scaling? What are their differences?
Vertical scaling: increase the capacity of a single server by adding resources to it.
Horizontal scaling: adding more servers / instances
- Hardware agnostic
- Cloud Native
- Automation
- Testing
What is the Kubernetes Cluster Autoscaler? What is its functionality and role?
A tool that automatically adjusts the size of a K8s cluster when there are pods that fail to run, owing to insufficient resources OR there are nodes that have been under-utilized so pods can be placed onto other existing nodes
What is KEDA? What are ScaledObjects? What capability does KEDA have?
Kubernetes Event Driven Autoscaler: uses the ScaledObject definition to define how an application should scale and what its triggers are
- Can scale a deployment to ZERO
What are the differences between the Vertical Pod Autoscaler (VPA) and Horizontal Pod Autoscaler (HPA)?
Vertical Pod Autoscaler: scale the resource requests and limits of a pod
Horizontal Pod Autoscaler: scaled the number of replicas on an application
What are Serverless computing services?
Services managed by the computing service itself like AWS Lambda or Azure functions. This includes maintenance such as provisioning, scaling, and patching.
What is the Serverless pattern in Cloud Native architecture? What is the rationale behind adopting it?
Serverless architecture is event-driven making it highly efficient and cost-effective.
AWS Lambda is an example of FaaS (Function as a Service)
What is one of the challenges posed by Serverless solutions from a Cloud Native viewpoint?
Vendor lock-in due to lack of standardized APIs. Each cloud provider has its own set of APIs, features, and service integrations which can make it difficult to migrate off of them or integrate with another provider.
What is the scaling model referred to as when using Serverless and its event-driven architecture?
Scale to Zero.
Serverless service can automatically scale down to zero when not in use
What open source solutions provide Serverless functionality on top of Kubernetes?
Knative and OpenFaas
What are CloudEvents? What are their significance and impact within Cloud Native ecosystems?
They specification provides a standardized way of describing event data across different services, platforms, and systems.
This helps ensure interoperability and consistency in how events are produced, transmitted, and consumed in cloud-native environments. (Hosted by the CNCF)