Designing and building scalable web applications
Form of learning:
Target group and prerequisitesCourse is suitable for people who are already familiar with the basics of building web applications and want to learn about scaling web applications. Prerequisites include basics of web software development (e.g. by taking the Web Software Development course).
- Methodologies and evolution of designing and 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.
After the course, the student
- understands the multiple dimensions of scalability and understands factors that contribute to the scalability of web applications
- knows and applies architectural patterns and techniques for designing and building scalable web applications
- understands the impact of the wide range of design decisions in building scalable web applications
- knows scalability laws and reflects on them in the context of architectural decisions
- can evaluate the scalability of web applications at multiple abstraction levels
- has practical experience in designing, building, and deploying web applications that scale
Technologies: docker, docker compose, kubernetes, minikube, as well as a handful of web technologies. Online materials available at https://fitech101.aalto.fi/designing-and-building-scalable-web-applications/
Course assignments, including exercises, essays and projects.