CC (3 Files Merged)
CC (3 Files Merged)
Communication protocol
1. Gossip Protocol
Description: A decentralized method for spreading updates by having nodes
periodically communicate with a random subset of peers.
Usage: Fault tolerance and consistency in distributed systems.
2. Connectionless Protocol
Description: A protocol where data packets are sent without establishing a
connection or ensuring delivery.
Example: UDP.
Usage: Applications needing fast data transfer with acceptable data loss,
like streaming.
3. Secure Remote Password (SRP)
Description: An authentication protocol that secures password exchanges
without transmitting passwords over the network.
Usage: Secure user authentication.
4. Internet Group Management Protocol (IGMP)
Description: Manages multicast group memberships in IP networks.
Usage: Multicast applications like streaming media.
5. Session Initiation Protocol (SIP)
Description: A protocol for managing real-time communication sessions,
such as voice and video calls.
Usage: VoIP and video conferencing.
6. Common Event Expression Protocol (CEEP)
Description: Standardizes the format and transmission of event
notifications.
Usage: Event-driven systems.
7. Extensible Messaging and Presence Protocol (XMPP)
Description: An open standard for real-time messaging and presence
information.
Usage: Instant messaging and real-time collaboration.
8. Advanced Message Queuing Protocol (AMQP)
Description: A protocol for secure and reliable message queuing.
Usage: Enterprise messaging and communication between distributed
services.
9. Enhanced Interior Gateway Routing Protocol (EIGRP)
Description: A Cisco routing protocol using distance vector and link-state
features.
Usage: Routing within large networks.
10. Message Transfer Protocol (MTP)
Description: A protocol for message transfer in telecommunication
networks.
Usage: Call setup and SMS delivery in telecommunication.
Capacity Planning
For available resources, capacity planning seeks a heavy demand.
It determines whether the systems are working properly, used to measure
their performance, determine the usage of patterns and predict future
demand of cloud-capacity.
This also adds an expertise planning for improvement and optimizes
performance.
The goal of capacity planning is to maintain the workload without improving
the efficiency. Tuning of performance and work optimization is not the major
target of capacity planners.
It measures the maximum amount of task that it can perform. The capacity
planning for cloud technology offers the systems with more enhanced
capabilities including some new challenges over a purely physical system.
Goals of capacity planners
Capacity planners try to find the solution to meet future demands on a
system by providing additional capacity to fulfill those demands.
Capacity planning & system optimization are two both different concepts,
and you mustn't mix them as one. Performance & capacity are two different
attributes of a system.
Cloud 'capacity' measures & concerns about how much workload a system
can hold whereas 'performance' deals with the rate at which a task get
performed.
Capacity planning steps
1) Determine the distinctiveness of the present system.
2) Determine the working load for different resources in the system such as
CPU, RAM, network, etc.
3) Load the system until it gets overloaded; & state what's requiring to
uphold acceptable performance.
4) Predict the future based on older statistical reports & other factors.
5) Deploy resources to meet the predictions & calculations.
6) Repeat step (i) through (v) as a loop.
Load Balancing:Load balancing is a technique used to distribute workloads
across multiple computing resources—such as servers, virtual machines, or
containers—to optimize performance, availability, and scalability.
Levels of Load Balancing:
1.Network Load Balancing:
Purpose: Distributes network traffic across multiple servers.
Layer: Network layer.
2.Application Load Balancing:
Purpose: Distributes application requests across multiple instances of an
application.
Layer: Application layer.
3.Database Load Balancing:
Purpose: Distributes database queries across multiple database servers.
Layer: Database layer.
Advantages:
Improved Performance: Balances workloads to reduce strain on individual
resources and enhance overall system performance.
High Availability: Minimizes single points of failure, ensuring continuous
service availability.
Scalability: Facilitates easy scaling of resources to manage traffic spikes
and varying demand.
Efficient Resource Utilization: Optimizes resource use and reduces
wastage, helping control costs.
Disadvantages:
Complexity: Implementation can be complex, especially for large-scale
systems, requiring careful planning and configuration.
Cost: Additional costs may arise from specialized hardware or software
required for load balancing.
Single Point of Failure: If not properly managed, the load balancer itself can
become a single point of failure.
Security Risks: Incorrect implementation can lead to security vulnerabilities,
such as unauthorized access or data exposure.
Virtualization in Cloud Computing
Definition: Virtualization creates virtual versions of resources (e.g., servers,
storage) to run multiple applications or operating systems on a single
physical machine. It enhances resource utilization and reduces costs.
Key Components:
Host Machine: The physical machine running virtual environments.
Guest Machine: The virtual machine operating on the host.
Impact: Allows cloud providers to share infrastructure, reducing costs and
improving efficiency. Supports IaaS and provides virtual environments for
applications, storage, and networking.
Benefits
Efficient Resource Use: Better allocation and reduced costs.
Enhanced Productivity: Speeds up development.
Scalability: Easy to scale resources and access remotely.
High Availability: Supports disaster recovery.
Drawbacks
High Initial Cost: Significant setup investment.
Learning Curve: Requires skilled staff or training.
Security Risks: Potential data vulnerabilities with third-party hosting.
Characteristics
Security: Provides a controlled environment.
Managed Execution: Allows sharing and isolation of resources.
Types
Application Virtualization: Runs apps separately from the OS.
Network Virtualization: Abstracts network resources.
Desktop Virtualization: Offers virtual desktops remotely.
Storage Virtualization: Pools storage from multiple devices.
Server Virtualization: Splits a server into multiple virtual servers.
Data Virtualization: Integrates data from various sources into a single view.
NIST 33 Security Principles
In June 2001, the National Institute of Standards and Technology’s
Information Technology Laboratory (ITL) published NIST Special
Publication 800-27, “Engineering Principles for Information Technology
Security (EP-ITS),” to assist in the secure design, development,
deployment, and life cycle of information systems.
The document was revised (Revision A) in 2004. It presents 33 security
principles that begin at the design phase of the information system or
application and continue until the system’s retirement and secure disposal.
Power Platform: This is a set of low-code and no-code tools that allow
users to build custom applications, automate workflows, and analyze data.
-It includes Power BI for business analytics, Power Apps for building
custom apps, Power Automate for automating tasks, and Power Virtual
Agents for creating chatbots.
Components:
Power BI
Power Apps
Power Automate
Power Virtual Agents