Day 10 - Scaling and Performance
Day 10: Scaling and Performance
Learning Objectives
- CSN-1.E: For fault-tolerant systems like the Internet: a. Describe the benefits of fault tolerance. b. Explain how a given system is fault-tolerant. c. Identify vulnerabilities to failure in a system.
- CSN-2.B: Describe benefits and challenges of parallel and distributed computing.
Essential Questions
- How do networks and systems handle growth in users and data?
- What challenges arise when scaling networks?
- How do technologies like CDNs improve performance at scale?
Materials Needed
- Presentation slides on network scaling and performance
- Network performance testing tools
- Case study materials on scaling challenges
- Performance bottleneck scenario cards
- Exit ticket templates
Vocabulary
- Scalability
- Vertical scaling
- Horizontal scaling
- Load balancing
- Content Delivery Network (CDN)
- Caching
- Latency
- Bandwidth
- Throughput
- Quality of Service (QoS)
Procedure (50 minutes)
Opening (8 minutes)
-
Review and Connection (3 minutes)
- Review fault tolerance and redundancy from previous lesson
- Connect to today's focus on handling growth and maintaining performance
-
Warm-up Activity (5 minutes)
- Ask students: "What happens to a website when it suddenly becomes popular?"
- Discuss challenges that arise with rapid growth in users or data
- Create a class list of potential scaling issues
- Introduce the concept of scalability
Main Activities (32 minutes)
-
Lecture: Network Scaling Challenges (12 minutes)
- Define scalability as the capacity for a system to handle growth
- Explain key scaling approaches:
- Vertical scaling: Adding more resources to existing systems
- Horizontal scaling: Adding more systems
- Geographic distribution: Placing resources closer to users
- Discuss common scaling challenges:
- Increased load on servers
- Network congestion
- Database bottlenecks
- Single points of failure under stress
- Coordination overhead
- Explain technologies that enable scaling:
- Load balancers: Distributing traffic across servers
- Content Delivery Networks: Caching content closer to users
- Distributed databases: Spreading data across multiple systems
- Cloud computing: Flexible resource allocation
- Discuss performance metrics:
- Latency: Time for data to travel
- Bandwidth: Maximum data transfer rate
- Throughput: Actual data transfer rate
- Response time: Time to complete a request
-
Exploration: Content Delivery Networks (8 minutes)
- Explain how CDNs work:
- Distributed servers across geographic locations
- Caching static content
- Routing users to the closest server
- Absorbing traffic spikes
- Demonstrate CDN benefits with examples:
- Before/after page load times
- Traffic handling during peak events
- Protection against certain attacks
- Show how CDNs use DNS and routing to direct users
- Discuss how major websites and services use CDNs
- Explain how CDNs work:
-
Activity: Analyzing Performance Bottlenecks (12 minutes)
- Divide class into small groups
- Provide each group with a case study of a scaling challenge
- Groups analyze the scenario to:
- Identify performance bottlenecks
- Determine root causes
- Propose scaling solutions
- Consider trade-offs of different approaches
- Groups create a brief presentation of their analysis
- Share and discuss different approaches to scaling
Closing (10 minutes)
-
Discussion: Future Internet Challenges (5 minutes)
- Lead a discussion on emerging challenges for Internet scaling:
- Growing number of connected devices (IoT)
- Increasing video and streaming traffic
- Cloud gaming and virtual reality
- Global connectivity in developing regions
- Discuss potential solutions and technologies
- Address any misconceptions about network capacity
- Lead a discussion on emerging challenges for Internet scaling:
-
Exit Ticket: Performance Improvement (5 minutes)
- Present students with a network performance scenario
- Students propose solutions to improve performance
- Students explain the benefits of their approach
- Students identify potential trade-offs or new challenges
- Collect responses before students leave
Assessment
- Formative: Quality of performance bottleneck analysis
- Exit Ticket: Appropriateness of performance improvement solutions
Differentiation
For Advanced Students
- Ask them to analyze more complex scaling scenarios
- Have them research and explain specific scaling technologies in detail
- Challenge them to consider economic factors in scaling decisions
For Struggling Students
- Provide more structured analysis templates
- Focus on the most essential scaling concepts
- Use more visual aids and concrete examples
Homework/Extension
- Research how a major website or service handles scaling
- Compare different CDN providers and their features
- Create a diagram showing how a system scales from small to large
Teacher Notes
- Use analogies to help students understand scaling (e.g., highway traffic, restaurant service)
- Be prepared to address questions about specific scaling technologies
- Make connections to students' experiences with slow websites or services
- Consider discussing real-world examples of scaling failures (e.g., website crashes during major events)
- Emphasize that understanding scaling helps with designing systems that can grow
- This concludes Week 2 of the unit