2 semester

1.       

Course title

Designing and developing highly loaded services

2.       

Course of Study, Speciality

1, 1-31 81 06 Web Development and Internet Technologies (2 years)

3.       

Semester

2

4.       

Credits

3,5

5.       

Lecturer

PhD of physical and mathematical sciences

Alexander J. Perez Tchernov

6.       

Course goal

Mastering knowledge and technology sufficient to design, launch and operate high-capacity services

7.       

Prerequisites

Java, Scala, Linux, UML and object-oriented design, familiarity with the design of databases.

8.       

Course Topics

  1. Typical tasks and solutions for high-loaded projects
  2. Technologies of virtualization, containerization and load balancing: Docker, Mesos, Aurora
  3. Design and implementation of micro-service architecture, debugging, monitoring, profiling using the example of Twitter infrastructure (Finch, Finagle, Zipkin, Zookeeper)
  4. Implementation of caching at the level of the Web server, application server (Redis) and system tools.
  5. Features of designing and maintaining NoSQL storage on the example of Apache Cassandra
  6. Processing and monitoring the log data and error data. Streaming and batching Big Data tools: Hadoop, Storm, Scalding.
  7. Providers of public and private cloud solutions (AWS, Open Nebula).
  8. Typical organizational tools and steps to ensure the smooth operation of a highly loaded service.

9.       

Recommended Literature

  1. Перез Чернов, А. Высоконагруженные сервисы: курс лекций / Перез Чернов А. – Минск.: Колорград, 2017.  – 103 с.
  2. Highscalability [Электронный ресурс] – Электронные данные. –  Режим доступа: https://highscalability.com.

10.   

Teaching Methods

Problematic, project

11.   

Teaching language

Russian

12.   

Requirements, current control

  • testing;
  • check of laboratory works,
  • delivery of an individual project

13.   

Method of certification

Credit