sukruozdemir / learning-topics

Topics list for learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1. Cloud

"The cloud" refers to servers that are accessed over the Internet, and the software and databases that run on those servers. Cloud servers are located in data centers all over the world.

# Title Link
1 What Is the Cloud? Click Here
2 What Is Multicloud? Click Here
3 What Is Hybrid Cloud?
4 What Is a Cloud Firewall? Click Here
5 What Is SaaS? Click Here
6 What Is IaaS (Infrastructure-as-a-Service)?
7 What Is Cloud Migration? Click Here
8 What Is a Public Cloud?
9 What Is a Private Cloud?
10 What Is Multicloud Management?
11 What Is a Virtual Machine?
12 What Is a Next-Generation Firewall (NGFW)?
13 What Is Cloud Storage?
14 What Is Digital Transformation?
15 What Is Multitenancy?
16 What Is Vendor Lock-In?
17 What Is a Virtual Private Cloud (VPC)?
18 How Does Cloud Security Work?
19 How Does Hybrid Cloud Architecture Work?
20 Multicloud vs. Hybrid Cloud: What's the Difference?

1.1 Cloud Design Patterns

1.1.1 Data Management

# Title Summmary
1 Cache-Aside Load data on demand into a cache from a data store
2 CQRS Segregate operations that read data from operations that update data by using separate interfaces.
3 Event Sourcing Use an append-only store to record the full series of events that describe actions taken on data in a domain.
4 Index Table Create indexes over the fields in data stores that are frequently referenced by queries.
5 Materialized View Generate prepopulated views over the data in one or more data stores when the data isn't ideally formatted for required query operations.
6 Sharding Divide a data store into a set of horizontal partitions or shards.
7 Static Content Hosting Deploy static content to a cloud-based storage service that can deliver them directly to the client.
8 Valet Key Use a token or key that provides clients with restricted direct access to a specific resource or service.

1.1.2 Design and Implementation

# Title Summmary
1 Ambassador Create helper services that send network requests on behalf of a consumer service or application.
2 Anti-Corruption Layer Implement a façade or adapter layer between a modern application and a legacy system.
3 Backends for Frontends Create separate backend services to be consumed by specific frontend applications or interfaces.
4 CQRS Segregate operations that read data from operations that update data by using separate interfaces.
5 Compute Resource Consolidation Consolidate multiple tasks or operations into a single computational unit
6 External Configuration Store Move configuration information out of the application deployment package to a centralized location.
7 Gateway Aggregation Use a gateway to aggregate multiple individual requests into a single request.
8 Gateway Offloading Offload shared or specialized service functionality to a gateway proxy.
9 Gateway Routing Route requests to multiple services using a single endpoint.
10 Leader Election Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances.
11 Pipes and Filters Break down a task that performs complex processing into a series of separate elements that can be reused.
12 Sidecar Deploy components of an application into a separate process or container to provide isolation and encapsulation.
13 Static Content Hosting Deploy static content to a cloud-based storage service that can deliver them directly to the client.
14 Strangler Fig Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services.

1.1.3 Messaging

# Title Summmary
1 Asynchronous Request-Reply Decouple backend processing from a frontend host, where backend processing needs to be asynchronous, but the frontend still needs a clear response.
2 Claim Check Split a large message into a claim check and a payload to avoid overwhelming a message bus.
3 Choreography Have each component of the system participate in the decision-making process about the workflow of a business transaction, instead of relying on a central point of control.
4 Competing Consumers Enable multiple concurrent consumers to process messages received on the same messaging channel.
5 Pipes and Filters Break down a task that performs complex processing into a series of separate elements that can be reused.
6 Priority Queue Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority.
7 Publisher-Subscriber Enable an application to announce events to multiple interested consumers asynchronously, without coupling the senders to the receivers.
8 Queue-Based Load Leveling Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.
9 Scheduler Agent Supervisor Coordinate a set of actions across a distributed set of services and other remote resources.
10 Sequential Convoy Process a set of related messages in a defined order, without blocking processing of other groups of messages.

2. DDoS

In a distributed denial-of-service (DDoS) attack, a network of computers work in tandem to overflow an access point and prevent legitimate users from accessing a service.

# Title Link
1 What is a DDoS Attack?
4 What is a DDoS Botnet?
5 What is DDoS Mitigation?
6 What is Blackhole Routing?
7 What is a Denial-of-Service (DoS) Attack?
8 What is IP Spoofing?
9 What Is The OSI Model?
10 What is TCP/IP?
11 What is the Internet Control Message Protocol (ICMP)?
12 What is Layer 7? - How Layer 7 of the Internet Works
13 What is a WAF? - Web Application Firewall explained
14 What is Malware?
15 What is UDP?
16 Famous DDoS attacks - The largest DDoS attacks of all time

2.1 Common DDoS Attacks

# Title Link
1 Memcached DDoS Attack
2 NTP Amplification DDoS Attack
3 DNS Amplification Attack
4 SSDP DDoS Attack
5 What is a DNS Flood? - DNS Flood DDoS Attack
6 HTTP Flood Attack
7 SYN Flood Attack
8 UDP Flood Attack
9 Ping (ICMP) Flood DDoS Attack
10 What is a low and slow attack?
11 Application Layer DDoS Attack
12 How Do Layer 3 DDoS Attacks Work? - L3 DDoS
13 Cryptocurrency DDoS Attacks
14 What Is an ACK Flood DDoS Attack? - Types of DDoS Attacks
15 What Is a QUIC Flood DDoS Attack? - QUIC and UDP Floods
16 What is a ransom DDoS attack?
17 Smurf DDoS Attack
18 Ping of Death DDoS attack

2.2 DDoS Attack Tools

# Title Link
1 How to DDoS - DoS and DDoS Attack tools
2 What Is The Low Orbit Ion Cannon (LOIC)?
3 What Is The High Orbit Ion Cannon (HOIF)?
4 R U Dead Yet? (R.U.D.Y.) Attack
5 Slowloris DDoS Attack
6 What is a DDoS Booter/IP Stresser? - DDoS Attack Tools

3. Microservice

Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of services that are

  • Highly maintainable and testable
  • Loosely coupled
  • Independently deployable
  • Organized around business capabilities
  • Owned by a small team

The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications. It also enables an organization to evolve its technology stack.

3.1 Patterns

How to apply the patterns

3.1.1 Application Architecture Patterns

# Title Summary
1 Monolithic architecture emphasized text
2 Microservice architecture

3.1.2 Decomposition

# Title
1 Decompose by business capability
2 Decompose by subdomain
3 Self-contained Service
4 Service per team

3.1.3 Refactoring to Microservices

# Title
1 Strangler Application
2 Anti-corruption layer

3.1.4 Data Management

# Title
1 Database per Service
2 Shared database
3 Saga
4 API Composition
5 CQRS
6 Domain event
7 Event sourcing

3.1.5 Transactional Messaging

# Title
1 Transactional outbox
2 Transaction log tailing
3 Polling publisher

3.1.6 Testing

# Title
1 Service Component Test
2 Consumer-driven contract test
3 Consumer-side contract test

3.1.7 Deployment Patterns

# Title
1 Multiple service instances per host
2 Service instance per host
3 Service instance per VM
4 Service instance per Container
5 Serverless deployment
6 Service deployment platform

3.1.8 Cross cutting concerns

# Title
1 Microservice chassis
2 Service Template
3 Externalized configuration

3.1.9 Communication Style

# Title
1 Remote Procedure Invocation
2 Messaging
3 Domain-specific protocol
4 Idempotent Consumer

3.1.10 External API

# Title
1 API gateway
2 Backend for front-end

3.1.11 Service Discovery

# Title
1 Client-side discovery
2 Server-side discovery
3 Service registry
4 Self registration
5 3rd party registration

3.1.12 Reliability

# Title
1 Circuit Breaker

3.1.13 Security

# Title
1 Access Token

3.1.14 Observability

# Title
1 Log aggregation
2 Application metrics
3 Audit logging
4 Distributed tracing
5 Exception tracking
6 Health check API
7 Log deployments and changes

3.1.15 UI Patterns

# Title
1 Server-side page fragment composition
2 Client-side UI composition

4. SSL

SSL, known today as TLS, is an encryption protocol that runs on top of the HTTP protocol to protect Internet communication between servers and clients

# Title
1 What is SSL?
2 What is an SSL Certificate?
3 What is TLS?
4 Why Use HTTPS?
5 What is HTTPS?
6 What is Mixed Content?
7 Keyless SSL
8 SSL Handshake
9 Public Key Encryption
10 How SSL Works
11 Asymmetric Encryption
12 What is Encryption?
13 HTTP Security Gaps
14 SSL Certificate Types
15 Cryptographic Key
16 Why Use TLS 1.3?
17 What is a Session Key?
18 What is SNI?
19 Connection Not Private
20 Lava Lamp Encryption
21 What is Encrypted SNI?
22 What is Domain Spoofing?