Overview
Course in brief
The course will teach you 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.
Learning objectives
The high-level learning objectives of the course are as follows.
-
You understand the multiple dimensions of scalability and understand factors that contribute to the scalability of web applications.
-
You know and apply architectural patterns and techniques for designing and building scalable web applications.
-
You know the scalability laws and reflect on them in the context of architectural decisions.
-
You can evaluate the scalability of web applications at multiple abstraction levels.
-
You have practical experience from designing, building, and deploying web applications that scale using modern web technologies.
Each chapter has specific learning objectives that are detailed at the beginning of the chapter.
Prerequisites
Hands-on knowledge of the following at the minimum at the depth of the Aalto University Web Software Development course is necessary.
- Client-server architecture and HTTP
- HTML and CSS
- JavaScript
- Deno
- Hono
- Svelte
- Relational databases (e.g. PostgreSQL)
- Docker and Docker Compose
If you have not completed the Web Software Development course, or have completed the course a long time ago, you can still start this course and see how it goes. If you find that you are missing needed knowledge, you can always go back and rehearse or look for additional information from additional sources.