Viime vuosina kuumin sana kaikkien huulilla on ollut 'tuottavuus'. Nopeasti kehittyvässä Internet-maailmassa saada jotain nopeasti aikaan saa positiivisen äänen. Huolimatta siitä, että on tarpeen toteuttaa todellinen liiketoimintalogiikka nopeasti ja tarkasti, kokenut PHP-kehittäjä Vietin silti satoja tunteja muihin tehtäviin, kuten tietokannan tai välimuistien asettamiseen, projektien käyttöönottoon, verkkotilastojen seurantaan ja niin edelleen. Monet kehittäjät ovat vuosien ajan kamppailleet näiden ns. Sekalaisten tehtävien kanssa, tuhlaamalla aikaa sen sijaan, että keskityisivät projektilogiikkaan.
Elämäni muuttui, kun ystäväni mainitsi Amazon Web Services (AWS) neljä vuotta sitten. Se avasi uuden oven ja lisäsi valtavasti tuottavuutta ja projektin laatua. Kaikille, jotka eivät ole käyttäneet AWS: ää, lue tämä artikkeli, jonka löydät varmasti aikasi arvoiseksi.
Amazon Web Services perustettiin virallisesti vuonna 2006. Monet ihmiset ovat kuulleet siitä, mutta eivät todennäköisesti tiedä, mitä se voi tarjota. Joten ensimmäinen kysymys on: Mikä on AWS?
Amazon Web Services (AWS) on kokoelma pilvipalveluita, joita kutsutaan myös verkkopalveluiksi ja jotka muodostavat pilvipalvelualustan, jota tarjoaa Amazon.com.
Wikipedia
Tämän määritelmän perusteella tiedämme kaksi asiaa: AWS perustuu pilvipalveluun ja AWS on palvelujen kokoelma yhden palvelun sijaan. Koska tämä ei kerro sinulle paljon, mielestäni on parempi, että aloittelija ymmärtää AWS: n:
AWS: n käytöllä on tietysti monia muita etuja, joten kerrotaan nopeasti, miten se voi parantaa tuottavuuttasi.
Palvelun käytön aloittamiseksi sinulla on oltava tili. Tilin luominen AWS: lle ei vie enempää kuin viisi minuuttia. Varmista, että sinulla on seuraavat tiedot käsillä:
Se siitä. Kun sinulla on yllä luetellut tiedot valmiina, käy osoitteessa AWS-verkkosivu ja luo tili noudattaen helposti seurattavia ohjeita.
Huomaa seuraava:
Yksi pilvipalvelun eduista on kyky saada jaettuja resursseja tarvittaessa. Amazon on tarjonnut käyttäjälle neljä palvelutasoa palvelujensa käyttämiseen, jotka on lueteltu helppousjärjestyksessä:
Tässä artikkelissa käytämme hallintakonsolia. Joten, sinun jälkeesi kirjaudu sisään konsoliin , näet alla olevan ruudun:
On kaksi huomionarvoista aluetta:
Pilviresurssin perustarve on virtuaalipalvelin. EC2 eli Elastic Compute Cloud on nimi, jonka Amazon on valinnut virtuaalipalvelimelleen. Katsotaanpa, kuinka helppoa on saada Linux-palvelin verkkoon.
yum
hallita paketteja:
ec2-user
yksityisyysavaimellasi. ec2-user
on AWS-oletus, jolla on myös sudo-kyky. Vaikka oletusarvoista käyttäjänimeä ei ole mahdollista muuttaa, voit luoda minkä tahansa käyttäjän ja määrittää sopivat oikeudet mieltymystesi mukaan. Palvelimesi osoite löytyy täältä:
Yllä olevan prosessin pitäisi kestää alle viisi minuuttia, ja niin helposti saamme virtuaalipalvelimen käyttöön. Seuraavassa osassa opit, kuinka AWS auttaa meitä hallitsemaan juuri luomaa instanssia.
Suurin osa AWS-resursseista laskutetaan tunneissa, mikä tarjoaa hyvän joustavuuden. Esimerkiksi äsken luomamme EC2-ilmentymä voidaan poistaa käytöstä kahdella tavalla: pysäytä ja lopeta. Molemmat toiminnot lopettavat laskutuksen. Erona on, että pysäyttämällä instanssin voimme aloittaa sen myöhemmin uudelleen kaikella työllä. Sen sijaan lopettamalla instanssin palautamme instanssin takaisin AWS: lle kierrätettäväksi, eikä tietoja ole mahdollista palauttaa. Tarve lopettaa ilmentymä johtuu siitä, että AWS asettaa oletusarvoisesti 20 esiintymää aluetta / tiliä kohti, ja pysäytetty instanssi laskee edelleen, kunnes se lopetetaan.
Voimme pysäyttää ilmentymän nopeasti seuraavasti:
Kun lopetat EC2-ilmentymän, myös laskusi lakkaa kasvamasta. Se on erityisen hyödyllinen seuraavissa tilanteissa:
AWS: n hintatiedot ovat saatavilla verkossa. Tehtyäsi joitain laskelmia saatat herättää kysymyksen: Onko AWS todella halvempaa? Kertomalla kuukauden tuntihinta näyttää siltä, että se ei ole ollenkaan kilpailukykyinen. Vastaus on kyllä ja ei.
AWS ei ole halvempi, jos lasket vain kysyntäresurssin tuntihinnan kuukauden aikana. Meillä on kuitenkin edelleen varattujen tapausten laskutusvaihtoehtoja, kuten alla on esitetty:
Resurssien vähimmäisvaatimuksista voimme saavuttaa 30–70 prosentin alennuksen käyttämällä varattua ilmentymää yhdessä muiden vaihtelevien resurssien kanssa, joita laskutetaan pyynnöstä. Käytännössä tämä on 30-40 prosenttia halvempi yhden vuoden sitoumuksella ja vielä enemmän kolmen vuoden sitoumuksella varattuja tapauksia käyttämällä. Siksi äänestän 'kyllä' yllä olevasta kysymyksestä. Ja AWS on vieläkin halvempi, jos sisällytät tietoturva- ja seurantaedut.
AWS: n yhtenä tavoitteena on poistaa mahdollisimman suuri osa toimintakustannuksista. Perinteisesti tarvitsemme suuren joukon järjestelmäinsinöörejä ylläpitämään infrastruktuurimme turvallisuutta ja terveyttä joko verkossa paikan päällä. Kokeneet ryhmät kirjoittavat ja ottavat käyttöön automaattiset työkalunsa prosessin yksinkertaistamiseksi. Palvelujen hallinnasta tulee kuitenkin myös käytännössä monimutkainen projekti. AWS auttaa ihmishenkiä pelastamaan resursseja. Alla on lueteltu joitain AWS: n tarjoamia palveluita, joita käytetään eniten:
Kuinka AWS hoitaa palvelujen pääsynvalvonnan, tehdään kahdessa erillisessä kerroksessa. Verkkotasolla se saavutetaan käyttämällä turvaryhminä tunnettua ideaa. Kaikki AWS-palvelut ovat suojausryhmissä. Ja turvallisuusryhmä määrittää, kenen sallitaan kulkea. EC2-ilmentymämme mukaan AWS on luonut meille automaattisesti suojausryhmän:
Voimme päättää, mitä voi tulla sisään ja mikä voi mennä, määrittämällä saapuvat / lähtevät säännöt. EC2-palvelu tukee TCP-, UDP- ja ICMP-sääntöjä. Suojausryhmä toimii kuin ulkoinen laitteistotason palomuuri, eikä meidän tarvitse koskaan ajatella sen korjaamista.
Vielä yksi etu suojausryhmän käytöstä on, että se on uudelleenkäytettävä. Yksi suojausryhmä voidaan jakaa monien resurssien kesken. Käytännössä se parantaa huomattavasti huollon tehokkuutta poistamalla vaivaa asettaa turvallisuuspolitiikka yksitellen kullekin resurssille. Lisäksi tietoturvaryhmän jaettava luonne antaa meille mahdollisuuden määrittää se yhteen paikkaan ja soveltaa kyseistä suojauskäytäntöä muihin resursseihin ilman vaivaa asettaa sitä manuaalisesti, yksi kerrallaan jokaiselle resurssille.
AWS tarjoaa toisen menetelmän kulunvalvonnan käsittelemiseksi käyttämällä JO . Tämä on sovellustason suojauksen hallinta, kun sinun on käytettävä RESTful-rajapintoja. Jokainen REST-pyyntö on allekirjoitettava, jotta AWS tietää palvelua käyttävät henkilöt. Lisäksi tarkistamalla ennalta määritetyn käytäntöjen luettelon AWS määrittää, onko toiminto hylättävä vai sallittava.
Emme käsittele IAM: ää yksityiskohtaisesti tässä artikkelissa. Huomaa kuitenkin, että AWS kiinnittää paljon huomiota tietoturvaan, joten voit olla varma, ettei kukaan luvaton kävijä pääse käsittelemään luottamuksellisia tietojasi.
CloudWatch on AWS: n tarjoama palvelu kaikenlaisten tietojen keräämiseksi ja seuraamiseksi AWS-resursseistasi. Se on tehokkaampi, koska se kykenee reagoimaan tiettyihin tapahtumiin (tai hälytyksiin). CloudWatchin avulla voimme seurata äskettäin luodun EC2-ilmentymämme kuntoa.
HUOMAUTUS : SNS on aihepohjainen palvelu, jonka AWS tarjoaa ilmoitusten lähettämiseen. Ilmoitukset voidaan lähettää sähköpostitse, tekstiviestillä, iOS / Android push -ilmoituksella ja monilla muilla muodoilla.
Seurannasta ilmoitukseen CloudWatch yrittää automatisoida valvontatarpeet muutamalla napsautuksella. Eri AWS-palveluille on ennalta määritelty mittareita. Edistyneelle käyttäjälle voit jopa luoda mukautettuja tietoja sovelluksellesi.
Kustannusten osalta CloudWatchin tarjoama maksuton palvelu on yleensä runsaasti käynnistysprojekteille. Vaikka yrityksesi kasvaa, lisäkustannukset ovat yleensä alle yksi prosentti palvelukustannuksista. Tarkistaa yksityiskohtainen hinnoittelu lisätietoja. Ottaen huomioon, kuinka helppoa on seurantajärjestelmän perustaminen CloudWatchin avulla, siitä on tullut eniten käytetty seurantatyökalu.
Kehittäjinä olemme todennäköisesti kokeneet seuraavat skenaariot:
Ja kuten olet ehkä arvannut, tämä on toinen merkittävä alue, jolla AWS auttaa. Tarjolla on paljon sovellustason palveluita, joten sinun ei tarvitse harkita mitään muuta.
Katkaistaan osa niistä, jotta saat nopean kuvan.
Relaatiotietokannat (RDBMS) on otettu laajasti käyttöön monissa sovelluksissa. Tuotantoympäristössä on aina kiinnitettävä erityistä huomiota sovellusten käyttöönottoon RDBMS: ää käyttäen, ensin tietokannan määrittämisestä ja määrittämisestä, minkä jälkeen varmuuskopiot tehdään ja palautetaan.
Tiimissämme tietokannan järjestelmänvalvoja (DBA) käytti vähintään 30 prosenttia ajastaan kirjoittamalla asennus- ja ylläpitosarjoja. Käyttöönoton AWS RDS , DBA: lla on enemmän aikaa tehdä SQL-suorituskyvyn säätö, joka on ensisijainen alue, johon sijoittaa DBA.
Joten mitä RDS tarjoaa sinulle? Lyhyesti:
Lopuksi totean, että RDS säästää huomattavasti aikaa tietokantapalvelujen määrittämisessä ja ylläpidossa. Vastineeksi maksat noin 40 prosenttia enemmän kuin vastaava EC2-palvelin. Joten, se on liiketoiminnan päätös, valitsetko RDS: n vai otatko vastaavan palvelimen käyttöön itse. Sen avulla voit kuitenkin sijoittaa enemmän aikaa työhön, joka liittyy todelliseen liiketoimintaan kuin infrastruktuurin vakauteen ja skaalautuvuuteen. Lisäksi huomaat pian, että tämä on AWS: n kannattajien liiketoimintatapa.
NoSQL: stä on tullut suosikki aihe viime vuosina. Koska monet tosielämän projektit eivät tarvitse erilaisten relaatio-DBMS: ien tukea, luettelo NoSQL-tietokannoista on otettu markkinoille. Amazon ei ole jäljessä tässä. DynamoDB (https://aws.amazon.com/dynamodb) on avaimen arvoinen myymälä, jonka Amazon ilmoitti vuonna 2012, ja tämän palvelun keskeinen avustaja on Werner Vogels, Amazonin teknologiajohtaja, yksi maailman huipputeknologian asiantuntijoista. skaalautuvat järjestelmät.
Ei ole mikään salaisuus, että Amazon hoitaa massiivista liikennettä. DynamoDB on peräisin Dynamosta, joka on ollut monien Amazonin yritysten sisäinen tallennusmoottori, mukaan lukien sen ostoskoripalvelu, joka palvelee miljardeja pyyntöjä joka joulu. DynamoDB: llä ei ole rajoituksia suurentamiseen.
Lisäksi verrattuna muihin NoSQL-ratkaisuihin, kuten Cassandra tai MongoDB, DynamoDB: llä on valtava taloudellinen etu; se laskutetaan varatun läpivirtausyksikön mukaan (kuinka monta kirjoitus- / lukutoimintoa sekunnissa sallitaan), jota voidaan lisätä tai vähentää reaaliajassa. Alla on kustannusten vertailutaulukko DynamoDB: n ja muun itsenäisen NoSQL-ratkaisun välillä:
Liiketoiminnan tarve | DynamoDB-palvelu | DynamoDB-kustannukset | Toisen palvelun käyttö | Kustannukset, kun käytät toista palvelua |
Pieni yritys (alle 1000 DAU, 16 Gt tietoa) | 10 kirjoitusyksikkö 10 lukulaitetta | 9,07 $ / kuukausi • | t1.mikro •• 16 Gt EBS ••• | 14,64 dollaria / kuukausi |
Keskisuuri yritys (alle 100 kt DAU, 160 Gt tietoa) | 100 kirjoitusyksikköä 100 lukuyksikköä | 101,62 dollaria / kuukausi | m4.xlarge 160 Gt: n EBS | 190,95 dollaria / kuukausi |
Suuri yritys (enintään 1 m DAU, 1 Tt tietoa) | 1000 kirjoitusyksikköä 1000 lukulaitetta | 852,58 dollaria / kuukausi | Klusteroitu c4.4xlarge • 512 Gt: n EBS • | 1329,24 dollaria / kuukausi |
• Ollaksemme oikeudenmukaisia, hinta lasketaan käyttämällä kysyntähinnoittelua Yhdysvaltojen ja Itä-Itä-Euroopan alueella
•• AWS EC2 -esiintymät on valittu isännöimään muita NoSQL-palveluja
••• EBS on AWS: n tarjoama pysyvä tallennuspalvelu
Kuten taulukosta voidaan lukea, DynamoDB tarjoaa palvelunsa alusta alkaen ja yleensä halvemmalla kuin oman avainarvotallennuksesi rakentaminen. Tämä johtuu siitä, että ellet saavuta MongoDB / Cassandra-klusterisi maksimikapasiteettia, maksat enemmän siitä, mitä et koskaan käytä.
Amazon tarjoaa palvelunsa täysin hallitulla tavalla. Tämä tarkoittaa, että sinun ei tarvitse huolehtia DynamoDB: n asetuksista, mittakaavasta tai valvonnasta. ne kaikki tekee AWS. Itse asiassa DynamoDB-kohteiden lukeminen ja kirjoittaminen mitataan aina jatkuvana ajankohtana riippumatta manipuloitavan datan koosta. Siksi jotkut sovellukset ovat päättäneet hylätä välimuistikerrokset vaihdettuaan DynamoDB: hen. Todella hämmästyttävää.
Työskennellessäsi suurten tietomäärien kanssa, jaamme usein laskutoimituksia monille tietokonesolmuille. Kun teemme liiketoimintaa maailmanlaajuisesti, tarvitsemme usein putkea, jotta voimme käsitellä solmuilta kerättyjä tietoja, jotka on jaettu maantieteellisesti laajalle alueelle. Tällaisten tapahtumien vaatimusten täyttämiseksi AWS esittelee SQS: n, Simple Queue Service -palvelun. Kuten monet tunnustetut jonopalvelut, SQS tarjoaa tavan siirtää viestejä / töitä erilaisten loogisten komponenttien välillä jatkuvasti.
Kuten nimensä osoittaa, SQS on peruspalvelu, joka on käytettävissä AWS: n alussa. Amazon on kuitenkin jatkuvasti kehittänyt SQS: ää, ja tarpeesta riippuen SQS on ehkä yhtä yksinkertainen tai yhtä tehokas kuin tarvitset monilla muokattavilla parametreilla. Joitakin SQS: n lisäominaisuuksia ovat:
Jonopalvelut eivät saisi olla liian monimutkaisia. Saatat ihmetellä, miksi kannattaa käyttää koko osiota vain SQS: n käyttöönottoon. Ehkä olet jo arvannut syyn; Kuten muutkin AWS-palvelut, SQS on täysin hallittu palvelu, mikä tarkoittaa:
S3 tarkoittaa yksinkertaista tallennuspalvelua, kuten Dropbox palveluna loppukäyttäjälle, mutta tämä koskee sovelluksia. Määritelmän mukaan S3 on objektipohjainen tallennus, jolla on yksinkertainen verkkoliitäntä.
S3 on yksinkertainen käyttäjälle, mutta siinä on myös paljon lisäominaisuuksia. I S3: sta on tullut alan standardi, erityisesti sovelluksille, jotka käyttävät muita AWS-palveluja. Tämä johtuu pääasiassa siitä, että S3 on niin helppo integroida, että siitä on tullut suosittu ulkoisen tallennuksen kohde useimmille AWS-palveluille. Myös monet palvelut, kuten DynamoDB, SQS ja niin edelleen, käyttävät S3: ta paljon sisäisesti.
S3: n ymmärtämisen pitäisi lisätä muiden AWS-hallittujen palvelujen käytön etuja. Tämä johtuu siitä, että suurin osa palveluista tallentaa varmuuskopiot S3: lle. Lisäksi S3 on yhteinen vienti- ja tuontikohde palveluille, joihin kuuluvat, mutta ei rajoittuen, DynamoDB, RDS ja Redshift.
Lopuksi, S3 on kuin muutkin AWS-palvelut; Sitä hallitaan täysin, jotta voimme yksinkertaisesti aloittaa palvelun käytön asettamatta palvelinta tai vikasietoisuusmekanismeja. Taloudellisesti S3 on myös palkka, kun käytät palvelua, joten voit aina kokeilla sitä ilman suuria kustannuksia.
On myös monia muita huomionarvoisia AWS-palveluja. Tilan rajallisuuden vuoksi luetellaan vain joitain mielenkiintoisia täältä:
Mielestäni on hyvä tapa tarkistaa AWS aina, kun otat käyttöön uuden komponentin sovellukseesi. Useimmiten AWS antaa sinulle suloisen yllätyksen, koska sillä on valmiina tarjottava SaaS-vaihtoehto.
Lisäksi RESTful-käyttöliittymien käytön helpottamiseksi Amazon on toimittanut SDK: ita melkein kaikilla suosituilla ohjelmointikielillä. Sinun ei pitäisi olla mitään ongelmaa löytääksesi suosikkisi SDK .
Olemme käsitelleet joitain AWS: n yleisimmin käytettyjä palveluja tässä artikkelissa. AWS auttaa yritystäsi varmasti joillakin alueilla. Voit halutessasi siirtää olemassa olevan palvelukomponentin AWS-vastaavuuteensa, kuten esimerkiksi MySQL-tietokannan RDS: ään. Saatat löytää itsesi kyselemällä, onko ohjelmistoni tälle komponentille AWS-palveluja? Joten hanki AWS-tili tänään ja lisää tuottavuuttasi muutamassa minuutissa.
Liittyvät: