Videonkäsittelyalustamme kasvaessa myös laskentaintensiivisten työkuormien hallinnan monimutkaisuus kasvoi. Tehtävät, kuten videon normalisointi, audion poiminta, transkriptio, peittokuvien generointi ja renderöinti, voivat kuluttaa merkittävästi CPU- ja muistiresursseja, etenkin kun useita projekteja käsitellään samanaikaisesti.
Näiden työkuormien suora suorittaminen pääsovelluksen infrastruktuurissa voi johtaa resurssikonflikteihin, hitaampiin käsittelyaikoihin ja rajalliseen skaalautuvuuteen. Kysynnän kasvaessa tarvitsimme joustavamman ja tehokkaamman tavan hallita käsittelytyökuormia vaikuttamatta ydinsovelluspalveluidemme suorituskykyyn.
Näiden haasteiden ratkaisemiseksi otimme käyttöön AWS Elastic Container Service (ECS) -palvelun konttien orkestrointialustaksemme.
Voimme AWS ECS:n avulla hallita tehokkaasti taustakäsittelytoimintoja, skaalata resursseja kysynnän mukaan ja suorittaa käsittelytyökuormia erillisissä konteissa. Tämä mahdollistaa alustamme käsittelemään vaihtelevia työkuormia säilyttäen samalla suorituskyvyn, luotettavuuden ja operatiivisen tehokkuuden.
Tässä blogissa tutkimme, mikä AWS ECS on, miksi valitsimme sen ja miten se auttaa meitä skaalaamaan videonkäsittelyn infrastruktuuriamme.
Videonkäsittelyn skaalauksen haaste
Videonkäsittelytyökuormat ovat luonnostaan resurssi-intensiivisiä ja erittäin vaihtelevia.
Yksi projekti voi sisältää:
- Videon normalisointi
- Audion poiminta
- Puheesta tekstiksi -transkriptio
- Peittokuvien generointi
- Useiden tulosmuunnelmien renderöinti
- Korkearesoluutioisten mediasisältöjen käsittely
Projektien määrän kasvaessa infrastruktuurin vaatimukset voivat kasvaa nopeasti.
Tarvitsimme ratkaisun, joka pystyisi:
- Skaalata käsittelyresursseja tarpeen mukaan
- Hallita useita tehtäviä samanaikaisesti
- Eristää resurssi-intensiiviset tehtävät käyttäjäkohtaisista palveluista
- Parantaa luotettavuutta kysyntähuippujen aikana
- Optimoida infrastruktuurin käyttöä
- Vähentää operatiivisia yleiskustannuksia
Perinteiset lähestymistavat, jotka perustuvat ainoastaan pitkään käynnissä oleviin palvelimiin, voivat muuttua tehottomiksi työkuormien kasvaessa. Halusimme järjestelmän, joka pystyisi dynaamisesti allokoimaan resursseja todellisen kysynnän perusteella.
Mikä on AWS ECS?
AWS Elastic Container Service (ECS) on täysin hallittu konttien orkestrointipalvelu, joka mahdollistaa organisaatioiden kontitettujen sovellusten suorittamisen ja hallinnan skaalautuvasti.
ECS auttaa automatisoimaan:
- Konttien käyttöönotto
- Tehtävien ajoitus
- Resurssien allokointi
- Palvelun hallinta
- Työkuorman skaalaus
- Tilanvalvonta
Sen sijaan, että palvelimia ja sovellusprosesseja hallittaisiin manuaalisesti, ECS tarjoaa keskitetyn alustan kontitettujen työkuormien tehokkaaseen suorittamiseen.
Miksi valitsimme AWS ECS:n
Skaalautuvuus tarpeen mukaan
Yksi ECS:n suurimmista eduista on sen kyky skaalata työkuormia kysynnän perusteella.
Videonkäsittelyn vaatimukset voivat vaihdella merkittävästi päivän mittaan. Joillakin jaksoilla voi olla vain muutamia käsittelytehtäviä, kun taas toisilla voi olla tarpeen käsitellä suuria eriä renderöinti- ja mediakäsittelytehtäviä samanaikaisesti.
ECS antaa meille mahdollisuuden käynnistää dynaamisesti lisäkäsittelytehtäviä kysynnän kasvaessa ja skaalata alas, kun työkuormat vähenevät.
Tämä joustavuus auttaa meitä ylläpitämään suorituskykyä allokoimatta pysyvästi tarpeettomia resursseja.
Työkuorman eristys
Videonkäsittelyyn liittyvät tehtävät vaativat usein paljon CPU- ja muistiresursseja.
Suorittamalla työkuormia erillisissä konteissa ECS antaa meille mahdollisuuden eristää käsittelytoiminnot ydinsovelluspalveluistamme.
Tämä erottelu auttaa:
- Lisätä järjestelmän vakautta
- Välttää resurssikonflikteja
- Yksinkertaistaa vianmääritystä
- Lisätä vikasietoisuutta
Jos käsittelytehtävä kohtaa ongelman, se ei vaikuta suoraan muuhun alustaan.
Tehokas resurssien käyttö
Kaikki käsittelytyökuormat eivät vaadi samaa määrää laskentatehoa.
Jotkin toiminnot ovat kevyitä, kun taas toiset sisältävät intensiivistä renderöintiä ja median käsittelyä.
ECS antaa meille mahdollisuuden allokoida resursseja työkuorman vaatimusten perusteella varmistaen, että infrastruktuurin resursseja käytetään tehokkaasti ja tarkoituksenmukaisesti.
Tämä auttaa optimoimaan sekä suorituskykyä että operatiivisia kustannuksia.
Vähentynyt operatiivinen monimutkaisuus
Suurten käsittelypalvelumäärien manuaalinen hallinta voi nopeasti muuttua vaikeaksi.
ECS yksinkertaistaa infrastruktuurin hallintaa käsittelemällä:
- Konttien ajoitus
- Tehtävien suoritus
- Terveystarkistukset
- Resurssien hallinta
- Palvelun palautus
Tämä vapauttaa teknisen henkilöstömme keskittymään alustan parantamiseen infrastruktuurin ylläpidon sijaan.
Saumaton AWS-integraatio
ECS integroituu luontevasti muihin infrastruktuurimme AWS-palveluihin.
Tämä mahdollistaa virtaviivaistetun käyttöönoton, valvonnan, tietoturvan ja operatiiviset työnkulut säilyttäen samalla yhtenäisen pilvinatiivin arkkitehtuurin.
Miten käytämme AWS ECS:ää
AWS ECS:llä on kriittinen rooli videonkäsittelyputkessamme.
Sen sijaan, että suorittaisimme kaikki käsittelytoiminnot suoraan ensisijaisilla sovelluspalvelimillamme, suoritamme resurssi-intensiiviset työkuormat ECS:n hallinnoimien kontitettujen käsittelytehtävien kautta.
Videon normalisointi
Ladattavat videot vaativat usein esikäsittelyä ennen kuin ne voivat siirtyä jatkotyönkulkuihin.
ECS auttaa meitä käsittelemään nämä normalisointitehtävät itsenäisesti varmistaen yhtenäiset syötemuodot myöhemmille toiminnoille.
Audion poiminta ja transkriptio
Audion poiminta ja transkriptio voivat olla laskennallisesti intensiivisiä, erityisesti käsiteltäessä useita videoita samanaikaisesti.
Näiden tehtävien suorittaminen ECS:n sisällä antaa meille mahdollisuuden skaalata käsittelykapasiteettia kysynnän kasvaessa.
Renderöintityökuormat
Videon renderöinti on yksi työnkulkumme resurssi-intensiivisimmistä vaiheista.
Hyödyntämällä ECS:ää voimme suorittaa renderöintityöt itsenäisesti ja allokoida resursseja erityisesti renderöintitehtäville.
Tämä auttaa ylläpitämään tasaista suorituskykyä jopa suurimman kysynnän aikoina.
Taustakäsittely
Monet toiminnot tapahtuvat asynkronisesti taustalla.
Esimerkkejä ovat:
- Median valmistelu
- Sisältöjen käsittely
- Työnkulun suoritus
- Jälkikäsittelytoiminnot
ECS tarjoaa luotettavan ympäristön näiden taustatyökuormien skaalautuvaan suorittamiseen.
Kontitettu käsittelytyönkulkumme
Yksinkertaistettu versio käsittelytyönkulustamme näyttää tältä:
Vaihe 1: Projektin lähettäminen
Käyttäjä lähettää projektin, joka sisältää videosisältöjä ja käsittelyvaatimuksia.
Vaihe 2: Tehtävän luominen
Alusta tunnistaa tarvittavat käsittelytoiminnot ja luo sopivat työkuormat.
Vaihe 3: ECS-tehtävän suoritus
ECS käynnistää kontitetut käsittelytehtävät kunkin toiminnon edellyttämillä resursseilla.
Vaihe 4: Käsittely ja renderöinti
Tehtävät suorittavat normalisointia, transkriptiota, renderöintiä ja muita käsittelytoimintoja.
Vaihe 5: Valmistuminen ja toimitus
Kun käsittely on valmis, tulosteet tallennetaan ja asetetaan käyttäjien saataville.
Tämä työnkulku antaa meille mahdollisuuden käsitellä työkuormia tehokkaasti säilyttäen samalla skaalautuvuuden ja luotettavuuden.
Edut käyttäjillemme
Tekemämme infrastruktuuripäätökset vaikuttavat suoraan käyttökokemukseen.
Hyödyntämällä AWS ECS:ää voimme tarjota:
Nopeampi käsittely
Dynaaminen resurssien allokointi auttaa lyhentämään käsittely- ja renderöintiaikoja.
Parempi skaalautuvuus
Alusta pystyy käsittelemään kasvavaa kysyntää ilman merkittäviä arkkitehtonisia muutoksia.
Tasainen suorituskyky
Työkuorman eristys auttaa ylläpitämään alustan reagointikykyä jopa ruuhka-aikoina.
Parannettu luotettavuus
Kontitetut työkuormat parantavat vikasietoisuutta ja vähentävät käsittelyvirheiden vaikutusta.
Parempi resurssitehokkuus
Resurssit allokoidaan työkuorman vaatimusten perusteella, mikä auttaa optimoimaan suorituskykyä ja kustannuksia.
Katse tulevaisuuteen
Alustamme kehittyessä käsittelyvaatimukset jatkavat kasvuaan. Isompien projektien, lisätyönkulkujen ja kasvavan käyttäjäaktiivisuuden tukeminen edellyttää infrastruktuuria, joka voi skaalata tehokkaasti.
AWS ECS tarjoaa joustavuuden ja orkestrointikyvyn, joita tarvitaan näiden kehittyvien vaatimusten tukemiseen. Hyödyntämällä edelleen kontitettuja käsittelytyökuormia voimme sopeutua muuttuviin vaatimuksiin säilyttäen samalla suorituskyvyn, luotettavuuden ja operatiivisen tehokkuuden.
Yhteenveto
Videonkäsittelyn työkuormien skaalaaminen edellyttää infrastruktuuria, joka pystyy tehokkaasti käsittelemään resurssi-intensiivisiä toimintoja säilyttäen samalla joustavuuden ja luotettavuuden.
AWS ECS mahdollistaa kontitettujen työkuormien suorittamisen ja hallinnan skaalautuvasti, tarjoten orkestroinnin, skaalautuvuuden ja työkuorman eristyksen, joita tarvitaan modernien videonkäsittelyputkien tukemiseen.
Hyödyntämällä ECS:ää keskeisenä osana arkkitehtuuriamme voimme käsitellä työkuormia tehokkaammin, parantaa järjestelmän luotettavuutta ja jatkaa korkean suorituskyvyn kokemuksen tarjoamista käyttäjillemme alustamme kasvaessa.

