Giter Site home page Giter Site logo

15m-ops-break's People

Contributors

nukemberg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

15m-ops-break's Issues

Nice

  • Scheduling priorities and classes
  • nice, renice and nice levels
  • How this interacts with cgroups

TLS

  • TLS handshake, latency
  • SNI headers, encrypted SNI
  • Certificates and validation (client and server)
  • TLS record sizes and TCP MSS
  • Certificate chain and bundles

limits

  • rlimit/ulimit
  • /etc/limits.conf
  • pam_limit
  • sysctl limits
  • cgroups

Init + systemd

  • What is init
  • What is systemd
  • systemctl
  • units, services, targets
  • socket activation
  • dependencies
  • systemd-analyze

README

add readme with link to channel

SSH

  • What is SSH
  • Channels, subsystems
  • Auth keys, agent
  • Multiplexing
  • Forwarding
  • Is it safe to expose on public net?

Mount binds

  • What is mount bind
  • Soft/hard/recursive
  • When to use

Git

Intro to Git

  • Merkle trees
  • Content addressable storage
  • Blobs, commits, heads
  • Repo, work tree, staging area
  • Merges vs rebase

Router, NAT, proxy; 3 ways to get to the internet

Compare 3 ways of getting to the internet with packet capture and OSI diagrams

  • Router - packets not touched only moved
  • NAT - Layer 3/4 address rewrite
  • SOCKS/HTTP proxy - Layer 3/4 full rewrite, Layer 7 rewrite (HTTP)

Series: Networking

  • Layers (OSI, ip suite)
  • DNS (#10)
  • End to end principle
  • IP Routing: gateways, subnets
  • TCP
  • TLS/SSL
  • HTTP
  • Virtual hosting
  • Proxies, routers, switches (intermediates)
  • Load balancing (#24 )
  • Tunnels (ip-in-ip/gre, ipsec, VPNs in general)
  • HTTP Caching

PAM

  • What is PAM
  • Integrating SSO using PAM
  • Automating audit, session management etc

tracing

  • strace
  • ltrace
  • perf
  • ebpftrace
    separate video on ebpf

Networking in the cloud & k8s era/space

Hi,

Would love it if you could create an episode about networking in the cloud - debugging, useful tools, and how it differs from "old times".
Also, networking in k8s - how it works, what to do/try when defining IP masquerade is not enough, and how the hell to debug stuff when containers are running alpine and no root so you don't have any curl/telnet/ping and other useful commands in the container and you can't install it either.

Random

  • Why we need random
  • How random is "random"? random quality, "secure random", pseudo random
  • Why we need PRNG (determinism, performance)
  • /dev/random, /dev/urandom
  • libc random(), srandom()
  • uuid4

Memory management: intro

  • How to read free, what are the memory categories
  • Why doesn't free = total - used
  • Kernel/userspace memory
  • Shared memory
  • Memory pressure behaviour

Executables

  • The executable bit
  • How Linux executes files: magic headers, binary formats, shells
  • LDD and the linker
  • binfmt extensions

SLO/SLA/SLI

quite related to resilience engineering IMO

  • misconceptions
  • how can these be calculated in complex systems (especially when dependent on public clouds)

Das Boot

How Linux boot sequence works:

  • bootloader
  • kernel
  • initrd
  • init
  • runlevels

Introduction to resilience engineering

  • The risk matrix (impact/frequency) and the long tail
  • Failure domains
  • Blast radius/bulkheading
  • Preconditions/limits of automation
  • Runbooks
  • Monitoring/observability

ICMP and traceroute

  • ICMP
  • routing messages (destination not reachable)
  • ping
  • TTL header and traceroute

Load Average

Load average is one of the basic metric we have while debugging performance issues. I often see people (candidates?) think that load average is only effected by CPU, while it can be effected by disk/network utilization, I think it worth an episode

backups

  • Its not about backup, it's about restore
  • A replica is not a backup
  • But dataset regeneration is
  • RTO/RPO
  • Full/incremental/differential

o/s anatomy

  • Userspace/kernelspace
  • System calls
  • libc
  • init
  • packages

tools

Why tools
Build your tools
Get your tools
Combine your tools
Master your tools (only a few, choose carefully)

virtualisation, emulation, abstraction

The concept of virtualisation (generic, e.g. virtual memory, virtual methods, virtual machines), and how it relates and contrasts with emulation (e.g. terminals, machine emulation a-la qemu) and abstraction. In a nutshell:

  • virtualisation: disconnecting an existing interface from implementation while keeping the implementation the same. often done for logistical reasons - improved resource management. E.g. hypervisors, virtual memory
  • emulation: disconnecting an existing interface from implementation but providing it by a different unrelated implementation, pretending to be the original thing. Often done for compatibility. e.g. terminals
  • abstraction: creating a new interface; this implies existing implementations do not dictate the interface. Usually done to reduce semantic surface (limit possible inputs), simplify and/or add high level features.
    Over time abstractions break and become dependent on their implementation, eventually requiring virtualisation and emulation.

Users/groups

  • UID/GID process bits, getuid() family
  • usernames, /etc/shadow, /etc/passwd, /etc/group
  • nsswitch
  • UID namespaces

Graphing 101

  • How should good graphs look like
    • Axis, bounds, resolution
    • Colors
  • Peak erosion, resolution, aggregates
  • Graphs should reflect a model
    • Reference lines/bars
    • Related graphs (e.g. USE, latency/throughtput/errors)
  • Working with multiple series
    • Comparing timeframes
    • Clusters (bands, most deviants, top K)

Memory management & debug

Hi :)
Would love it if you could create an episode about memory management and how to debug memory issues

The grid

  • What is a grid and why you need it
  • K8s, Nomad, ECS, etc
  • Responsibilities of a grid
    • Scheduling
    • Process management
    • Resource management
  • Auxiliary services
    • Service discovery
    • Config data/meta data/secrets
    • Load balancing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.