CS-E4770 - Designing and Building Scalable Web Applications D, Lecture, 23.10.2023-11.12.2023
This course space end date is set to 11.12.2023 Search Courses: CS-E4770
Topic outline
-
Overview
The course introduces learners to the principles of building scalable web applications, focusing on recent advances in both client- and server-side development as well as on platforms and hosting solutions. Architectural patterns and their fit and need for different types of web applications are also considered.
To succeed in the course, knowledge and skills from Web Software Development (CS-C3170) or equivalent are required.
Lectures
Weekly lectures on Mondays from 10:15 to 12:00 at T4, CS Building.
Course materials
The course materials are available at https://fitech101.aalto.fi/designing-and-building-scalable-web-applications/. Lecture slides and examples from the lectures will be posted here on MyCourses.
(Tentative) high-level structure of the course
Week 1 (starting 23.10.) -- lecture slides
- "The big picture"
- Web software development (rehearsal)
- Defining scalability
- Measuring performance of web applications
- Servers and load balancing
Week 2 (starting 30.10.) -- lecture slides- Caching
- Client-side development
- Rendering approaches: Server-side rendering, client-side rendering, hybrid approaches
- Demo: Svelte, Astro, Tailwind
Week 3 (starting 6.11.) -- lecture slides- Client-side development (contd.)
- Event-driven architecture
- Real-time communication
- Project I outline
Week 4 (starting 13.11.) -- lecture slides- Content-Delivery Networks
- Data and Scalability
- Container Orchestration and Kubernetes
Week 5 (starting 20.11.) -- lecture slides- Development with Kubernetes
- Cloud Computing
- Google Cloud deployment Demo
- Scaling with Kubernetes
- Monitoring Applications
Week 6 (starting 27.11.) -- lecture slides- Application Archetypes
- Serverless Computing
- Underlying Architectural Patterns
- Beyond Software Scalability
- Project II outline
Week 7 (starting 4.12.) -- no formal lecture -- there's support for coursework during the lecture timeGrading and deadlines
Course grading is outlined at https://fitech101.aalto.fi/designing-and-building-scalable-web-applications/dab-01-introduction-and-tooling/2-registration-and-grading/.
There are no explicit deadlines in the course -- you can work on it at your own pace.
The course is graded periodically based on the grading schedule at https://fitech101.aalto.fi/grading-schedule. If you wish to receive the grade by the end of this year, request grading by 18.12.2023. Options for requesting grading next spring will also be made available.
Updates to material
The next larger update to the course materials is planned for Spring 2024 (late March, early April).