CENG 433
Scalable Software Development for Internet
Logical / physical arhitecture design and server components, performance measurement, advanced caching strategies, horizontal scaling with MySQL and handling peak load.
Course Objectives
The goal of this course is to dive into advanced software development, architecture design topics for Internet projects. At the end of the term, expected outcome is to establish the basis of a background with which students can design and implement sites that can scale up to thousands of concurrent users.
Recommended or Required Reading
http://www.infoq.com/ ,http://aws.amazon.com/ ,http://www.slideshare.net/Blaine/scaling-twitter ,Cal Henderson, Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications, O Reilly Media, 2006 ,John Allspaw, The Art of Capacity Planning: Scaling Web Resources, O Reilly Media, 2008 ,Theo Schlossnagle, Scalable Internet Architectures, Sams, 2006 ,Martin L. Abbott and Michael T. Fisher, The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise, Addison-Wesly, 2009 ,http://highscalability.com/ ,http://www.ahmetalpbalkan.com/blog/put-io-nun-altyapisi-ve-olceklenebilirligi-uzerine-roportaj/
Learning Outcomes
1. To be able implement sites that can scale up to thousands of concurrent users.
2. To develop a project on Play Framework.
3. To be able implement various cache mechanisms
4. To be able to perform horizontal scaling with MySQL and handling peak load
| Topics |
| Introduction to Play Framework |
| Base project |
|
Introduction to Internet logical architecture designs .
|
| Load Performance testing |
| Caching Strategies |
|
Distributed data fetching and queuing Distrubed DNS structures.
|
| Performance logging on the server and browser |
| Developing for scalable databases . |
| Scaling MySQL |
| Map Reduce with Hadoop |
|
Handling unpredictable peak-time load and failures
|
| Online deployment strategies |
|
Handling unpredictable / peak-time load and failures (static fallbacks, failover mechanisms, etc.)
|
| Online deployment strategies |
Grading
Midterm 15%
Research Presentation 60%
Final 25%
- CENG 400
- CENG 411
- CENG 415
- CENG 416
- CENG 418
- CENG 421
- CENG 422
- CENG 424
- CENG 431
- CENG 432
- CENG 434
- CENG 435
- CENG 436
- CENG 437
- CENG 441
- CENG 442
- CENG 443
- CENG 444
- CENG 451
- CENG 452
- CENG 461
- CENG 462
- CENG 463
- CENG 464
- CENG 465
- CENG 467
- CENG 471
- CENG 472
- CENG 473
- CENG 481
- CENG 482
- CENG 483
- CENG 484
- CENG 485
- CENG 486
- CENG 487
- CENG 488
- CENG 491
- CENG 499
