| # | lecture date | title | category | description |
|---|---|---|---|---|
Web Apps + Sinatra | ||||
| 1 | Jan 18 | Welcome | general | Introductions and logistics |
| 2 | Jan 20 | What is Scalability? | scale | There are technical and non-technical factors |
| 3 | Jan 25 | Cosi166 Quick Bullets | programming | Remind ourselves about Ruby and the web |
| 4 | Jan 27 | Intro to Sinatra | web | Sinatra is a ruby application server |
| 5 | Feb 1 | Sinatra and Twitter | nt | Introduction to Twitter and nanoTwitter |
| 6 | Feb 3 | NanoTwitter introduced | web | Get explanation of what nanoTwitter is and how it will work. |
nano Twitter | ||||
| 7 | Feb 8 | Starting to think about scaling | web | Sinatra, Service Oriented Architectures and scaling |
| 8 | Feb 10 | Scaling at Hubspot | general | Guest Speaker Osamah Mandawi |
| 9 | Feb 15 | Service Oriented Architecture | nt | We start going in to more complicated core architectures |
| 10 | Feb 17 | Deploying to the Cloud | scale | How is the cloud a central part of modern software engineering? |
| 11 | Mar 1 | Scalable Service design | scale | What does scalability mean? What do scalability problems look like? |
| 12 | Mar 3 | Scalability, continued | scale | Examining what scalability means |
| 13 | Mar 8 | Testing in the world of SOA | scale | Testing, Unit Testing and special cases in SOA |
Scaling Patterns | ||||
| 14 | Mar 10 | Testing Scalability | How to approach the analysis of scaling, in particular for nanoTwitter | |
| 15 | Mar 15 | Tuning for Scale | scale | What are some of the key ways in which a system can fail to scale? |
| 16 | Mar 17 | Logging | scale | Consider the role of system wide logging |
| 17 | Mar 22 | Caching | scale | Caching is one of the first, simplest ways of attacking scale |
| 18 | Mar 24 | Database Tuning 1 | scale | How database architecture affects performance and scale and how to improve it. |
| 19 | Mar 29 | Database Tuning 2 | scale | How database architecture affects performance and scale and how to improve it |
| 20 | Mar 31 | Concurrency 1 | scale | Synchronous and asynchronous processing, threads and processes |
| 21 | Apr 5 | Concurrency 2 | scale | Continuing the discussion on this critical aspect of scaling |
| 22 | Apr 7 | Queueing | scale | Queuing and message passing are basic techniques in scaling |
| 23 | Apr 12 | SOA + µservices | scale | Look at applications of microservices and SOA in building scalable systems. Consider risks and benefits. |
| 24 | Apr 14 | Software Engineering | general | We look Computer Science and Software Engineering |
| 25 | Apr 26 | Scalability Runoff 1 | general | First Try |
| 26 | Apr 28 | Last class! | Scalability Runoff | |