You are on page 1of 1

CRUD operations

CRUD operations are the four basic operations that any data storage Docker Daemon: The Docker Daemon is a background process that manages
application must be able to perform: Create, Read, Update, and Delete. Docker containers on a host system. It listens for Docker API requests and
Create: Add new data to the storage system. manages the building, running, and monitoring of containers.
Read: Retrieve data from the storage system.
Update: Modify existing data in the storage system. Docker Client: The Docker Client is the command-line interface (CLI) or API
Delete: Remove data from the storage system. through which users interact with Docker. It sends commands to the Docker
CRUD operations are used in a wide variety of applications, including
Daemon, facilitating actions like building, running, and managing containers.
relational databases, NoSQL databases, file systems, and content
management systems.

Features Of Mongo DB kubectl create: kubectl create -f [configuration file]


Schema-less: MongoDB does not require a predefined schema for Description: Instantiates and deploys resources in the cluster based on the
documents. This gives developers a lot of flexibility in how they store and configurations provided in a YAML or JSON file.
retrieve data. kubectl get : kubectl get [resource]
Scalable: MongoDB can be scaled horizontally by adding more servers. Description: Retrieves information about resources, allowing users to view the
This makes it a good choice for applications that need to handle large current state of Pods, Services, or other components in the cluster.
amounts of data and traffic. kubectl apply: kubectl apply -f [configuration file]
High performance: MongoDB is designed for high performance. It uses a Applies configurations from a file to the cluster, creating or updating
variety of techniques, such as in-memory caching and efficient query resources as needed. This is a versatile command for resource management.
execution, to achieve good performance.
kubectl delete: kubectl delete [resource] [name]
Replication: MongoDB supports replication, which allows you to create Removes resources from the cluster, terminating Pods, Services, Deployments, or
multiple copies of your data for redundancy and scalability. other objects based on the specified name and resource type.

Difference between Virtual Machines and containers Cloud Architecture


Virtualization level Virtualizes hardware Virtualizes operating system
Frontend : The frontend is the user interface of the cloud application, often
Each VM has its own VMs share the host operating accessible through web browsers or mobile devices. It includes components
Operating system
operating system system responsible for user interaction, presentation, and rendering.
Uses more resources Uses fewer resources (CPU,
Resource usage
(CPU, memory, storage) memory, storage) Backend : The backend consists of server-side components that handle
Containers are more portable, application logic, data processing, and communication with databases or
VMs can be ported external services. It's responsible for executing business logic and managing
as they can run on any
Portability between different data.
platform that has the Docker
hardware platforms
runtime installed
Database : The database component stores and manages application data. It
What is Kubernetes could be a relational database, NoSQL database, or a combination, depending
on the application's requirements. The database ensures persistent storage
Kubernetes, often abbreviated as K8s, is an open-source container and retrieval of information.
orchestration platform.
APIs : APIs (Application Programming Interfaces) facilitate communication
Container Orchestration: Kubernetes facilitates the automated deployment, and data exchange between different components of the application. They
scaling, and management of containerized applications. Containers are enable interaction between the frontend, backend, and external services,
lightweight, portable units that package application code and dependencies promoting a modular and scalable architecture.
together. Monolithic Applications
Scalability: Kubernetes allows applications to scale seamlessly by
automatically adjusting the number of container instances based on Single Codebase: In a monolithic application, all components, from the user
demand. interface to the data storage and processing, are part of a single codebase.
Automated Deployment: Kubernetes simplifies the deployment process by This simplifies development as there is only one code repository to manage.
automating tasks such as rolling updates, rollbacks, and distribution of
application components. Tight Integration: Components of the application are tightly integrated and
Management of Containers: Kubernetes provides tools for deploying, communicate with each other directly. Function calls and data access are
managing, and scaling containerized applications. typically within the same address space, making it easier to develop and
debug but potentially leading to dependencies between components.
Kubernetes Architecture
Deployment as a Single Unit: The entire application is deployed as a single
Master Node Components : unit. When updates or changes are made, the entire application needs to be
kube-apiserver: The API server is the central management point of the entire redeployed. This can lead to downtime during deployment and may make it
Kubernetes control plane. It exposes the Kubernetes API, which is used to challenging to scale specific parts of the application independently.
manage the cluster. All administrative tasks and communication with other
components occur through the API server. Scalability Challenges: Scaling a monolithic application can be challenging
because all components are part of the same codebase and deployed
etcd: etcd is a distributed key-value store that serves as the cluster's together. If one component requires more resources, the entire application
database. It stores the configuration data, ensuring consistency and may need to be scaled, even if other components don't require additional
reliability across the cluster. The etcd data is crucial for maintaining the state resources.
of the entire Kubernetes cluster.
API Management:

Worker Node Components :


API Management involves the processes, tools, and policies used to create,
kubelet: The kubelet is an agent that runs on each worker node and is
publish, and oversee the lifecycle of Application Programming Interfaces
responsible for communicating with the Master Node. It ensures that
(APIs). It includes aspects such as designing APIs, controlling access,
containers are running in a Pod, part of a higher-level application abstraction
monitoring usage, and ensuring security.
in Kubernetes.
API Gateway:
kube-proxy: The kube-proxy maintains network rules on nodes, enabling
An API Gateway is a server that acts as an intermediary between an
communication between different Pods and external traffic. It performs
application and microservices or backend services. It manages requests,
packet forwarding, allowing seamless network communication within the
enforces security policies, performs authentication, and can handle tasks like
cluster.
rate limiting and logging. The API Gateway streamlines communication
between different components of a system.
Container: A container is a lightweight, standalone, and executable software
package that includes everything needed to run a piece of software, including Docker Registry: Docker Registry is a centralized repository for storing and
the code, runtime, libraries, and system tools. Containers run on a shared sharing Docker images. Images are used to create containers. The default
operating system kernel but are isolated from each other. public registry is Docker Hub, but organizations can set up private registries
for their own images.

You might also like