Video summary
Highload 0. Введение
Main summary
Key takeaways
Course overview
Goal: teach you to think like an architect — not to train on specific tools or one-off configurations.
- Duration and format
- Introductory high-load systems architecture course, 6 months.
- Weekly morning sessions, regular homework (client questionnaires, project scoping), group chat for coordination, hands-on tasks and reviews.
- Main practical activity: team projects and an exam where teams present and justify architectures.
- Focus and learning objectives
- Emphasis on architectural thinking, principles and trade-offs rather than on particular stacks.
- Combines theory (≈20 architectural patterns) with practical design exercises and iteration.
- Target audience
- Aspiring techies, backend developers, team leads, architects, technical directors.
- Also useful for project/product managers who need a deeper technical understanding.
Instructor background
- Instructor: Oleg Bunin — entrepreneur and former web / high-load systems developer.
- Relevant experience: projects for major Russian sites (sports.ru, RIA Novosti), Olympic projects, and early consulting for Pavel Durov.
- Also organizes developer conferences.
High-level teaching approach
- Emphasis on principles, trade-offs and architectural thinking rather than brand-new tools.
- Architects must understand internal server, network and cloud behavior and be able to choose tools according to constraints.
- Practical cycle:
- Learn patterns.
- Apply them to a concrete project (example: a tourist social network).
- Break and redesign the system.
- Present and justify the solutions.
Key technical concepts and topics covered
- System decomposition and component selection
- Splitting functionality (storage, streams, media, metadata, etc.).
- Choosing tooling per component.
- Data storage patterns
- Handling large volumes and binary data (images, videos).
- Sharding strategies and metadata placement.
- Incremental migration strategies (e.g., write new data to new servers vs move old data).
- Archival vs deletion decisions.
- Scaling and load distribution
- Load balancing and horizontal scaling limits.
- When and why to split services.
- Cloud limitations — cloud is not a panacea; understand internal constraints.
- Networking fundamentals
- DNS resolution, IP addressing, packetization, network cards, OS network stack.
- Ports (80/443) and the 7-layer OSI model as a base mental model.
- Web server and request processing
- Connection handling and multithreaded servers.
- Handing requests to application logic (CGI vs persistent processes).
- Buffering vs streaming responses and implications for latency and resources.
- Backend performance and bottlenecks
- Database call latency and imbalance between layers.
- Monitoring and detecting slow components.
- Caching and cache invalidation
- OS-level caching, HTTP caching headers, CDN/edge caches.
- Asset versioning strategies (query strings vs file renaming) to force updates.
- Frontend behavior
- Roles of HTML/CSS/JS; browser parsing and asset loading limits (concurrent connections).
- JavaScript-driven dynamic updates: AJAX, long-polling, streams, WebSockets.
- Segmented video streaming (small chunk delivery).
- Security and robustness
- How buffering and response strategies affect DoS resistance.
- Monitoring and consideration of network intermediaries (caches, filters).
- Designing for censorship resistance and handling national filtering (e.g., Roskomnadzor / SORM).
- Tools and diagnostics
- Browser developer tools (network inspector).
- Traceroute / path analysis to inspect routing and intermediate caches.
- OSI model references.
Project management and product considerations
- Importance of scoping
- Compile detailed questionnaires for clients to collect product requirements, access patterns and non-functional needs.
- Trade-offs
- Translate product wishes into realistic implementation plans, balancing desires and feasibility.
- Storage lifecycle decisions
- What to store, archive or delete depends on access patterns (e.g., news feed vs personal posts) and affects architecture.
Course exercises and evaluation
- Practical design assignments, examples:
- Image storage sharding.
- Feed architecture.
- Censorship-resistant delivery.
- Team exam
- Given a project, teams design an architecture and must explain trade-offs and rationale (no single correct answer).
- Iteration and critique
- Frequent iteration, critique and guided redesign to build architectural thinking.
Career guidance
- Typical career path: individual contributor → team lead → architect → technical director.
- Architects focus on systems and processes; they are in high demand and well-paid.
- The course aims to prepare engineers to move into architectural roles.
References and recommended tools
- OSI 7-layer model (one-page summary on Wikipedia).
- Browser developer tools (Network tab).
- Traceroute / path analysis utilities.
- Practical guides on caching and asset versioning.
Main speaker / sources
- Oleg Bunin — course instructor, entrepreneur and high-load systems practitioner (experience with sports.ru, RIA Novosti and early consulting for Pavel Durov).
Rate this summary
Your feedback will help improve summaries.
Improve this summary
Reprocess with a stronger model when the summary feels incomplete or inaccurate.
Translate summary in another language
Ask questions to this video
Chat for follow-up questions, clarifications, and source-backed answers.