Développer une plateforme vidéo en 90 jours

Ce printemps, nous nous sommes retrouvĂ©s dans des conditions trĂšs amusantes. En raison de la pandĂ©mie, il est devenu clair que nos confĂ©rences d'Ă©tĂ© doivent ĂȘtre mises en ligne. Et pour les mener en ligne avec des solutions logicielles de haute qualitĂ©, prĂȘtes Ă  l'emploi ne nous convenaient pas, nous avons dĂ» Ă©crire les nĂŽtres. Et nous avons eu trois mois pour cela.



Il est clair que ces trois mois ont été passionnants. Mais de l'extérieur, ce n'est pas tout à fait évident: qu'est-ce qu'une plateforme de conférences en ligne? De quelles parties se compose-t-il? Par conséquent, lors de la derniÚre des conférences d'été DevOops, j'ai demandé à ceux qui étaient en charge de cette tùche:



  • Nikolay Molchanov - Directeur technique du groupe JUG Ru;
  • Vladimir Krasilshchik - un programmeur Java pragmatique qui est impliquĂ© dans le backend (vous avez peut-ĂȘtre Ă©galement vu ses exposĂ©s lors de nos confĂ©rences Java);
  • Artyom Nikonov est responsable de tous nos flux vidĂ©o.


À propos, lors des confĂ©rences automne-hiver, nous utiliserons une version amĂ©liorĂ©e de la mĂȘme plate-forme - tant de pirates informatiques seront toujours ses utilisateurs.





La grande image



- Quelle Ă©tait la composition de l'Ă©quipe?



Nikolay Molchanov: Nous avons un analyste, un concepteur, un testeur, trois développeurs front-end, un back-end. Et bien sûr le spécialiste du T!



— ?



: . 15 . , , .



, , , , , , , , , . 6 TechTrain. 90 .



— , ?



: DevOops — , . : , .



: , .



, ( 30 ), 4 :



  • ( ),
  • ,
  • ,
  • - .


.



— , 600 JIRA-. 13 , , Java. , Kubernetes- 5 RTMP- Amazon.



.





— , -, - . , , ?



: : -> -> RTMP- -> Amazon -> . .



, : , . , . , .



( ), , .



, /, . , :





4-





4-



: . , — , — , — . .



, . . , /. , .



, : RTMP- . , . , SaaS-. MediaLive, S3, CloudFront.



: , ? -?



: , MediaLive. . , , . , HLS. , .



— 1080?



: 1080p — 1920 , , — .





— , , , . , , , , HLS?



: , .





, hls.js, . : , , . , , . ( HLS) .



, . .



, , , «».







— 




: , . , , . Full Pass : , .



, « » . .



— - ?



: , .



— , YouTube?



: . , , . .



: . , , , .





— , , ( , , , ), ?



: . , . , . , , , .







— .



. , NP- , - . , Contentful. , , — , — , . , , . .



, — , . , . , , Contentful, , . -, , .



: . -. ? , . . .



: , SPA-. , , SPA. Google HTML. SEO . 1,5 JavaScript, , , , . , .



— , . , 5 Amazon-, . bash-, , 




: API AWS, . , CloudFront, - - . , 4 .. , AWS.



— , . TypeScript, React, Next.JS. #, Java, Spring Boot Node.js. Kubernetes, ..



, , : GitLab, , , . .



-



— - 10 000 . -, . , . ?



: . — . — 1080, , - . 2x, «» . . 10 000 . 10 000 8 . 80 000 RPS/. .



— « » - ?



: , . 10 - , -. . , , .



— - . , Prometheus, : , ?



: /- , , . , ( ). -.



: . 152 .



, ( ), . , .





— ?



: . , . , . .



: , , . , .



— , , . ?



: , . - . Hazelcast. , . Hazelcast- , . , .





Mongo , . : ? Postgres, , id . , , .



: - Prometheus. Kubernetes-, Kubernetes. , Grafana .



: , OLAP. OLTP Prometheus, Grafana !



— , .





— , : 6 , ? ?



: . . — . Contentful. , Contentful, . websocket.



, : Contentful ( Telegram, ..) , .



: . . . , .



: . . , - , , . , , , , . . -, . , . , .





— . , , . , ?



: - . AWS Terraform- AWS-, , Azure- .. . - .



, . , Kubernetes — , - , . , Kubernetes, Docker, .



. . , . . -, -, , GitLab. GitLab, Elastic, Prometheus.



( 10 , 5 ) , , , , , .





— , , . : , ?



: . — . Testcontainers. -. . - . , , , , . .



, . , , . , , CloudFront, , , .



70 40 . 95%. , , . , , . , , . , , , round trip , .



: , - , .



: , , , , 4 1 websocket, . , 4 2 , , , .



: 140 : + , . , . UI- . , .



: , . , , , , Rabbit, JVM-, .



— , - , , , . ?



: . . 2300 JIRA-. , , . , (tolkkv).



, . CloudFront, — . , .



. . AV (-) — - «API» , . , , . , . 100 , , , , - .





— , .



: , , . 40 . — . . 40 , , , ..



— . , , .



: 20 . - , - , - , , — . , - .



— JUG Ru Group, , -, , Grafana. -, , - . , . , , .





— , , , , -, , , - OAuth 2.0, , . , , .



, , - . , , , - , ?



: , . . , .





3 , - ,



- , , , , , . TechTrain. 6 2 -, . , OAuth2.0. OAuth2.0, . , , 18 , , , , , Spring, , , .



: TechTrain .



. , -, . , « YouTube». , , , .





— , ? ?



: , , . , , — 1300 , Heisenbug.



— ? , ?



: .



. , , -, .



: , - , , (5 ), , , .



— , , . , , , , .



: .



— 3 .





— , .



: . , , . - , , . - - .



— , ?



: , . , . , , , . - , , , , , . .



, , . ( ), , , , , , (live.jugru.org).



— , !






, — . , , ?



« » — - . , .




All Articles