Creating online services capable of handling millions of users requires a different mindset compared to traditional software development and deployment. Rather than building monolithic software packages from the ground up, bringing up modern online services calls for architecting systems by gluing together mature existing technologies deployed across many unreliable servers, working in concert to provide high-availability robust services. In this course, students will be exposed to the concepts and technologies behind deploying and scaling online services on the computing resources available in modern datacenters.
|Prerequisites: C or higher: CSE 216 or CSE 260; CSE 220; CSE major Advisory prerequisite: CSE 336
|Major Topics Covered in Course
Introduction to cloud services, virtualization, para-virtualization, advanced networking, web services, server-side scripting languages and frameworks, cloud programming paradigms, cloud deployment and machine management, scale-up vs. scale-out, cloud storage, cloud service topologies, message serialization and transport, load balancing, content distribution networks, security, authentication, QoS, managing tail latencies, performance monitoring.