Flux 7 esittelee kahdeksan yleisesti käytettyä Docker-käyttötapausta: yksinkertaistettu konfigurointi, koodin putkiston hallinta, parantunut kehitystehokkuus, eristetyt sovellukset, yhdistetyt palvelimet, virheenkorjausmahdollisuudet, monivuokralaisympäristöt ja nopean kehityksen. Olemme puhuneet Dockerista, miten sitä käytetään ja millä tilaisuuksilla? Ehkä tämä artikkeli voi auttaa sinua. Jos on jotain kerrottavaa, voit keskustella kanssamme kommenttien kautta.
Muutama viikko sitten osallistuimme DockerConiin, ensimmäiseen Docker-keskeiseen teknologiakonferenssiin. Se on suunnattu kehittäjille ja käytännön toimijoille, jotka ovat kiinnostuneita jakautuneiden sovellusten rakentamisesta, toimittamisesta ja ajamisesta Dockerin avoimella alustalla, olipa se sitten heidän omilla kannettavillaan tai virtuaalikoneilla datakeskuksessa. Osallistuimme konferenssiin, ja Flux7 toimii Docker Foundationsin järjestelmäintegraatiokumppanina sekä vierailevana puhujana.
Toimitusjohtajamme Aater Suleman puhui yhden asiakkaamme kanssa. Vaikka DockerCon oli todella hauska, koin, että konferenssi keskittyi liikaa Dockerin yksityiskohtiin ja sivuutti Dockerin käyttötapaukset. Tässä artikkelissa haluan esitellä ja jakaa joitakin käytännön käyttötapauksia Dockerista.
Ennen kuin käsittelemme Dockerin käyttötapauksia, katsotaanpa, mikä tekee Dockerista niin erityisen.
Docker tarjoaa kevyen virtualisoinnin lähes ilman ylimääräistä kuormaa, mikä on aika siistiä.
Ensinnäkin sinun ei tarvitse huolehtia Dockerin lisäkuormituksesta samalla kun nautit sen tuomasta virtualisointitehosta. Toiseksi, voit luoda suuremman määrän kontteja samalle koneelle kuin virtuaalikoneelle.
Toinen Dockerin etu on, että kontit voidaan käynnistää ja pysäyttää sekunneissa. Dockerin perustaja Solomon Hykes kertoi kerran, mitä Docker on tehnyt LXC:n lisäksi, ja voit tutustua siihen.
Tässä on joitakin Dockerin käyttötapauksiani, joissa näytän, miten voit hyödyntää Dockerin etuja luodaksesi johdonmukaisen ympäristön, jossa on vähän ylikuormitusta.
1. Yksinkertaistettu konfiguraatio
Tämä on Dockerin pääasiallinen käyttötapaus, jota Docker Company mainostaa. Virtuaalikoneiden suurin etu on kyky ajaa eri alustoja (ohjelmistoja, järjestelmiä) laitteistossa, ja Docker tarjoaa saman toiminnallisuuden vähemmällä ylimääräisellä kuormituksella. Se mahdollistaa ajonajan ja konfiguraation laittamisen koodiin ja niiden käyttöönoton, ja saman Dockerin konfiguraatiota voidaan käyttää eri ympäristöissä, mikä vähentää laitteistovaatimusten ja sovellusympäristöjen välistä yhteyttä.
2. Koodin putkiston hallinta
Edellinen skenaario on suuri apu koodin putkiston hallinnassa. Koodi kulkee monien välivaiheiden läpi kehittäjän koneesta aina tuotantoympäristön lopulliseen käyttöönottoon asti. Jokaisella väli-ympäristöllä on omat pienet eronsa, ja Docker tarjoaa ympäristön, joka on johdonmukainen kehityksestä julkaisuun, mikä helpottaa koodiputkea huomattavasti.
3. Paranna kehityksen tehokkuutta
Tämä tuo mukanaan lisäetuja: Docker tekee kehittäjistä tuottavampia. Jos haluat nähdä yksityiskohtaisemman esimerkin, voit katsoa Aaterin puhetta DevOpsDays Austin 2014 -tapahtumassa tai DockerConissa.
Eri kehitysympäristöissä me kaikki haluamme tehdä kaksi asiaa hyvin. Ensinnäkin haluamme tehdä kehitysympäristöstä mahdollisimman lähellä tuotantoympäristöä, ja toiseksi haluamme rakentaa kehitysympäristön nopeasti.
Ihanteellisesti ensimmäisen tavoitteen saavuttamiseksi meidän täytyy ajaa jokainen palvelu erillisessä virtuaalikoneessa seurataksemme tuotannon palvelun kuntoa. Emme kuitenkaan halua tarvita verkkoyhteyttä joka kerta, ja etäyhteys on erityisen hankalaa joka kerta kun käännämme uudelleen. Tässä Docker tekee erityisen hyvin: kehitysympäristön koneilla on yleensä suhteellisen pieni muisti, ja virtuaalikäytössä meidän täytyy usein lisätä muistia kehittäjäympäristön koneisiin, mutta nyt Docker voi helposti antaa kymmeniä palveluita ajaa Dockerissa.
4. Eristä sovellukset
On monia syitä, miksi voit valita ajaa eri sovelluksia yhdellä koneella, kuten aiemmin mainitut skenaariot kehityksen tehokkuuden parantamiseksi.
Usein meidän täytyy harkita palvelinten yhdistämistä kustannusten vähentämiseksi ja monoliittisen sovelluksen jakamista yhdeksi löyhästi kytketyksi palveluksi. Jos haluat ymmärtää, miksi löyhästi kytkeytyneet sovellukset ovat niin tärkeitä, tutustu Steve Yegen artikkeliin, jossa verrataan Googlea ja Amazonia.
5. Yhdistä palvelimet
Aivan kuten useita sovelluksia integroidaan virtuaalikoneisiin, Dockerin kyky eristää sovelluksia mahdollistaa useiden palvelimien yhdistämisen kustannusten vähentämiseksi. Koska useista käyttöjärjestelmistä ei ole muistia ja käyttämätön muisti voidaan jakaa useiden instanssien kesken, Docker voi tarjota paremman palvelinkonsolidointiratkaisun kuin virtuaalikoneet.
6. Debuggauskyky
Docker tarjoaa paljon työkaluja, jotka eivät välttämättä ole pelkästään konteille, mutta toimivat myös konteille. Ne tarjoavat paljon toiminnallisuutta, kuten mahdollisuuden asettaa tarkistuspisteitä konteille, asettaa versioita ja nähdä kahden kontin eroja, mikä voi auttaa virheiden korjaamisessa. Voit löytää esimerkin tästä Docker Save the World -artikkelista.
7. Monivuokralainen ympäristö
Toinen mielenkiintoinen käyttötapaus Dockerille on monivuokralaissovellukset, jotka voivat välttää kriittisten sovellusten uudelleenkirjoittamisen. Yksi erityinen esimerkki tästä skenaariosta on nopean ja helppokäyttöisen monivuokralaisen ympäristön kehittäminen IoT-sovelluksiin. Tämä monivuokrainen peruskoodi on monimutkainen ja vaikea käsitellä, ja tällaisen sovelluksen uudelleensuunnittelu on ajan ja rahan hukkaa.
Dockerin avulla on helppoa ja edullista luoda erillisiä ympäristöjä useille instansseille kunkin vuokralaisen sovelluskerroksesta, kiitos Docker-ympäristöjen nopeuden ja tehokkaiden differentiointikomentojen.
Voit lukea lisää tästä tilanteesta täältä.
8. Lähetä nopeasti
Ennen virtuaalikoneita uusien laitteistoresurssien käyttöönotto vie useita päiviä. Dockerin virtualisointiteknologia lyhentää tätä aikaa minuuteihin, ja Docker luo konttiprosessin käynnistämättä käyttöjärjestelmää, mikä vie sekunteja. Juuri tätä sekä Google että Facebook arvostavat.
Voit luoda tuhoavan resurssin datakeskuksessasi ilman huolta uudelleenkäynnistyksen aiheuttamasta ylimääräisestä kuormasta. Tyypillisesti datakeskuksissa resurssien käyttöaste on vain 30 %, ja resurssien käyttöä voidaan parantaa käyttämällä Dockeria ja tehokkaalla resurssien allokointilla. |