Kako razviti razširljivo aplikacijo z uporabo AWS Cloud? (Vaibhav Sharma) Podatkovna inteligenca PlatoBlockchain. Navpično iskanje. Ai.

Kako razviti razširljivo aplikacijo z uporabo AWS Cloud? (Vaibhav Sharma)

Razširljivost aplikacije je tako pomembna kot njena funkcionalnost in uporabniški vmesnik. Veliko bolj pomembno je, ali bo vaša programska oprema v prihodnosti servisirala več kot milijon uporabnikov. Ta blog vas bo naučil, kako razširiti svojo aplikacijo na 1 milijon uporabnikov na AWS. Predpostavimo
izdelali ste spletno aplikacijo in imate nekaj strank. Po nekaj komentarjih in zamislih boste imeli popolnoma funkcionalen izdelek. Zdaj vaše marketinško osebje promovira vašo aplikacijo pri iskanju izdelkov, da pridobi nove stranke. Na tisoče obiskovalcev nenadoma izkorišča
vaša aplikacija; v enem trenutku ga ne morejo uporabiti.

Svojo aplikacijo ste preizkusili in ugotovili, da deluje. Torej, kaj točno se je zgodilo?

"To ni napaka, temveč težava z razširljivostjo." Vaša infrastruktura v oblaku ni zgrajena tako, da bi rasla z naraščanjem prometa.«

Videl sem veliko startupov, ki dajejo prednost funkcijam pred razširljivostjo. Razvoj robustnih in razširljivih aplikacij je ključna komponenta vsake zasnove aplikacije. Preden se poglobimo, najprej ugotovimo, kaj in zakaj je razširljivost.

Kaj je razširljivost?

Razširljivost aplikacije se nanaša na njeno zmožnost, da nadaljuje z delom, tudi če se število uporabnikov ali obseg poveča. Vendar pa je razširljivost mogoče uporabiti za kateri koli sistem, vključno s podjetji in ekipami.

Ko je razširljivost izvedena pravilno, lahko sprejme povečan uporabniški promet, ne da bi povzročil težave pri delovanju. Sploh nam ni treba narediti večjih sprememb kode ali arhitekture strežnika, če smo pravilno postavili osnovo.

Zakaj je razširljivost pomembna?

Razmislite o najljubši aplikaciji na vašem pametnem telefonu. Predstavljajte si, da vam ta aplikacija povzroča težave, kot so pogosti zrušitve aplikacije, slaba podpora strankam in neželene posodobitve v aplikaciji. Kaj boste storili v tej situaciji? Ali boste ostali pri isti aplikaciji ali boste začeli iskati boljšo
alternative?

Predvidevam drugega. Težave s skalabilnostjo izgledajo nekako takole. Zgrabi jih panika, ko ustvarjalci aplikacije opazijo, da se je njihova baza uporabnikov nepričakovano razširila in potrebujejo dodatne strežnike, da bi zadovoljili povečano povpraševanje. Poskušajo se zapreti na vse možne načine
razlike v zmogljivosti. Če so stranke že prej naletele na več napak, bodo vašo aplikacijo odstranile in začele uporabljati konkurenčno aplikacijo.

Razširljive aplikacije pa so zgrajene tako, da se prilagajajo hitri širitvi. So uporabniku prijaznejši in zagotavljajo konkurenčno prednost pred nerazširljivimi programi. Imajo izboljšano učinkovitost, višjo donosnost naložbe in zadovoljne stranke.

Koraki za razvoj razširljive aplikacije z uporabo storitev v oblaku AWS

1. korak: Začetna konfiguracija arhitekture oblaka

Vi ste edini, ki uporabljate aplikacijo na lokalnem gostitelju. Začeti je mogoče z uvedbo aplikacije v škatli. Za začetek morate uporabiti
Storitve AWS navedeno spodaj.

● Slike Amazon Machines (AMI)

Amazon Machine Image (AMI) vsebuje navodila za zagon instance, ki je virtualni strežnik v oblaku. Pri zagonu primerka lahko zagotovite AMI. AMI vsebuje predlogo za korenski nosilec primerka, dovoljenja za zagon, ki
določite, kateri računi AWS lahko uporabljajo AMI za zagon primerkov, in preslikavo blokovne naprave, ki definira nosilce, ki se priložijo primerku, ko se ta zažene.

● Amazon Virtual Private Cloud (Amazon VPC)

Amazon Virtual Private Cloud omogoča postavitev virov AWS v virtualnem omrežju. Zagotavlja popoln nadzor nad virtualnim omrežnim okoljem, vključno z izbiro obsega naslovov IP, oblikovanjem podomrežja, tabelo poti in nastavitvijo omrežnega prehoda.

● Amazon Elastic Compute Cloud (Amazon EC2)

Amazon Elastic Compute Cloud je razširljiva računalniška zmogljivost oblaka AWS. To odpravlja potrebo po strojni opremi vnaprej, kar vam omogoča hitrejše načrtovanje in uvajanje aplikacij.

● Amazon Route 53

Amazon Route 53 je razširljiva in zelo razpoložljiva spletna storitev DNS v oblaku. Amazon Route 53 povezuje uporabniške zahteve z infrastrukturo AWS, kot so instance Amazon EC2, izravnalniki obremenitve Elastic Load Balancing in vedra Amazon S3.

Tukaj je potrebna večja škatla. Preprosto izberite večji tip primerka, ki je znan kot navpično skaliranje. Sprva zadostuje navpično skaliranje, ne moremo pa navpično skalirati v nedogled. Sčasoma boste prišli do zidanega zidu. Poleg tega ne obravnava
samodejni preklop in redundanca.

2. korak: Ustvarite številne gostitelje in izberite zbirko podatkov

Ker število uporabnikov narašča in se podatki generirajo, morate najprej izbrati zbirko podatkov. Najbolje je, da začnete uporabljati bazo podatkov SQL zaradi naslednjih razlogov:

  • Tehnologija, ki je dobro uveljavljena in obrabljena.
  • Podpora skupnosti in najsodobnejša orodja
  • Z našimi prvimi desetimi milijoni uporabnikov ne bomo uničili baz podatkov SQL.

Uporabite bazo podatkov NoSQL, če bodo vaši uporabniki ustvarili ogromno količino podatkov v več vrstah. Na tej točki imate vse na enem vedru. Dolgoročno je to zasnovo težje razvijati in upravljati. Čas je, da ustvarite večstopenjsko
arhitekturo, da bi ločili bazo podatkov od aplikacije.

3. korak: shranite bazo podatkov na Amazon Rds, da olajšate delovanje

Ko se število uporabnikov poveča na 100, je prva stvar, ki jo je treba narediti, uvedba baze podatkov. Obstajata dve splošni smeri za namestitev baze podatkov na AWS. Najpomembnejša možnost je uporaba upravljane storitve zbirke podatkov, kot je Amazon Relational Database Service (Amazon
RDS) ali Amazon DynamoDB, drugi korak pa je gostovanje lastne programske opreme baze podatkov na Amazon EC2.

● Amazon RDS

Amazon RDS (Amazon Relational Database Service) omogoča preprosto nastavitev, zagon in prilagajanje relacijske baze podatkov v oblaku. Amazon RDS podpira šest znanih pogonov baz podatkov, vključno z Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL in
MariaDB.

● Amazon DynamoDB

Amazon DynamoDB je v celoti upravljana lastniška storitev baze podatkov NoSQL, ki jo ponuja Amazon.com kot del
Amazon Web Services portfelj.

4. korak: Če želite povečati razpoložljivost, ustvarite različna območja razpoložljivosti

Morda boste naleteli na pomisleke glede razpoložljivosti glede na trenutno arhitekturo. Če gostitelj vaše spletne aplikacije odpove, lahko odpove. Torej boste potrebovali drug spletni primerek v drugem območju razpoložljivosti za gostovanje podrejene baze podatkov za RDS.

  • Elastični izravnalnik obremenitve (ELB)
  • Multi – Az uvajanje

5. korak: Če želite izboljšati zmogljivost, premaknite statični material v objektno shrambo

V RDS boste morali dodati dodatne replike za branje, da povečate zmogljivost in učinkovitost. To razbremeni pritisk na glavno bazo podatkov pisanja. Premikanje statičnih informacij v Amazon S3 in Amazon CloudFront lahko tudi pomaga zmanjšati obremenitev spletnih strežnikov.

  • Amazon S3
  • Amazon ElastiCache
  • Amazon CloudFront
  • Amazon DynamoDB

6. korak: Nastavitev samodejnega skaliranja za samodejno zadovoljevanje spreminjajočega se povpraševanja

Na tej točki je vaša arhitektura preveč zapletena, da bi jo vzdrževala majhna ekipa, brez učinkovitega spremljanja in analize pa je težko nadaljevati.

  • amazoncloudwatch
  • Oblikovanje oblaka AWS
  • AWS Elastični fižol
  • AWS OpsWorks
  • AWS CodeDeploy

7. korak: Za dodatno prilagodljivost uporabite SOA

Ko ustvarjate obsežne spletne aplikacije, morate uporabiti storitveno usmerjeno arhitekturo (SOA), ki podpira več kot milijon uporabnikov.

  • Amazon Simple Queue Service (SQS)
  • Amazon Simple Notification Service (SNS)
  • AWS Lambda

zaključek

Odločitev o tem, kako se lotiti skaliranja, je treba sprejeti vnaprej, saj nikoli ne veš, kdaj boš postal znan! Poleg tega zrušitve (ali celo zamude) strani razjezijo vaše uporabnike in dajejo vaši aplikaciji slabo podobo. Sčasoma bo
vpliv na vaš prihodek.

 Oblikovanje razširljivih spletnih mest vključuje čas, trud in veliko naložbo. Exato Softwares je najboljša rešitev za podjetja z zahtevami, ki jih težko izpolnijo. Izdelali smo razširljive spletne aplikacije za stranke z milijoni
uporabnikov. Ne oklevajte in nas kontaktirajte za brezplačno svetovanje in ponudbo cen.

Časovni žig:

Več od Fintextra