Amazon Relational Database Service (Amazon RDS)

Dendrio te ajuta sa accesezi si sa administrezi mai usor baza de date din AWS cu Amazon Relational Database Service (Amazon RDS). Acesta simplifica configurarea, operarea si scalarea unei baze de date relationale in cloud. Este o solutie de reducere a costurilor si a timpului alocat pentru taskurile administrative cum ar fi: alocarea de hardware, configurarea bazei de date, patching si back-up. Folosind acest serviciu, dezvoltarea aplicatiilor este facilitata printr-o performanta mai buna a unei baze de date care este intotdeauna disponibila, va avea un nivel ridicat de securitate si in acelasi timp e mai usor sa devina compatibila cu alte sisteme.

Amazon RDS poate rula pe diverse masini virtuale in functie de cerintele aplicatiei: cu mai multa memorie, CPU sau I/O. Tipul de baza de date la care se conecteaza poate fi: Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database sau Microsoft SQL Server. Pentru a migra baza de date actuala in AWS recomandam utilizarea serviciului Amazon DMS astfel incat mediul de productie sa aiba un downtime minim.

Beneficii

Usor de administrat

Prin API-uri, din CLI sau din consola de administrare Amazon RDS, in cateva minute se poate accesa o baza de date relationala gata pentru a fi folosita in productie. Instantele de Amazon RDS sunt pre-configurate pentru tipul de baza de date si clasa selectata astfel incat sa fie lansate si conectate la aplicatii in cateva minute.

Fiind un serviciu, upgrade-urile si instalarea patchurilor sunt asigurate. Mai mult decat atat, analizand configuratia si gradul de consum, Amazon RDS ofera recomandari pentru schimbarea instantei, versiunea bazei de date, spatiul de stocare alocat sau latime de banda.

Performanta

Performanta storage-ului este monitorizata din 4 perspective: IOPS – numarul de tranzactii I/O per secunda, latenta – timpul de raspuns la o cerere I/O, throughput – cati bytes sunt transferati pe secunda catre sau de la storage si lungimea cozii (queue depth) – cate cereri I/O asteapta sa fie preluate. Storage-ul instantelor alocate poate fi de tip General Purpose SSD care are setat un baseline de  3 IOPS/GiB provizionat si capacitatea de a ajunge pana la 3000 IOPS peste baseline sau de tip Provisioned IOPS SSD optimizat pentru aplicatii care necesita un numar foarte mare de tranzactii cu baza de date (OLTP). Se pot proviziona pana la 40.000 IOPS per instanta de baza de date, desi numar de IOPS realizati de fiecare aplicatie in parte poate sa fluctueze in functie de aplicatie, de tipul de instanta, de tipul de baza de date.

Scalabilitate

Scalarea puterii de procesare se poate face in cateva minute. In sus, instantele pot scala pana la 32 vCPU si 244 GiB RAM. Storage-ul poate fi si el crescut daca este nevoie. Amazon Aurora creste automat capacitatea de stocare pana la 64TB sau pana la valoarea configurata. Bazele de date MySQL, Maria DB,  Oracle sau PostgreSQL permit scalarea pana la 32TB. Folosind Amazon RDS se pot crea Read Replica astfel incat cererile de tip read sa poata fi servite de mai multe instante simultan. Microsoft SQL server poate scala pana la 16TB si nu permite Read Replica prin Amazon RDS.

Toate aceste scalari se fac on-the fly (zero downtime).

Disponibilitatea datelor

Amazon RDS salveaza automat o copie a bazei de date si a logurilor tranzactiilor pentru o perioada definite de utilizator de pana la 35 de zile. Astfel baza de date poate fi restaurata oricand in perioada definita,  pana la ultimele 5 minute. Pe langa backup-ul automat, utilizatorul poate salva snapshot-uri ale bazei de date si sa le salveze local sau in S3 astfel incat se poate crea o noua instanta de baza de date oricand din snapshotul salvat. Pentru high-availability si durabilitate crescuta, se recomanda o implementare multi-AZ pentru mediul de productie pentru ca Amazon RDS va face o replica a bazei de date pe o instanta in stand-by intr-un alt Availability Zone (AZ). In cazul in care apare o defectiune HW, Amazon RDS va inlocui automat serverul respectiv si va pastra disponibilitatea serviciului.

Securitate

Bazele de datele pot fi criptate folosind chei administrate cu AWS Key Management Service (KMS) astfel incat sa fie securizate si cand sunt stocate si cand sunt in tranzit. Tot criptate sunt si snapshot-urile, read-replicas si back-up-urile automate. Amazon RDS suporta Transparent Data Encryption in SQL Server si Oracle. Pentru a securiza datele in tranzit suporta criptarea SSL.

Pentru securizarea instantei cu baza de date, Dendrio recomanda sa izolati instanta respectiva intr-un VPC conectat printr-un IPsec VPN la infrastructura IT on-prem. Astfel pot fi configurate politici specifice de firewall si network access control in AWS.

O alta recomandare este sa integrati Amazon RDS cu AWS Identity and Access Management (IAM) pentru a putea controla activitatea utilizatorilor sau a grupurilor pe resursele Amazon RDS, de la instantele pentru bazele de date, la snapshoturi, grupurile de parametrii si grupurile de optiuni. De asemenea, aceste resurse pot fi tag-uite astfel incat sa poata fi setate mai usor politicile. De exemplu, puteti construi o regula IAM astfel incat cei din grupul “Developer” sa poata modifica instanta bazei de date “Testare” dar numai cei din grupul “DB admin” sa poata modifica instanta bazei de date “Productie”.

Use cases

Afacerile agricole desfasurate in Romania au foarte multe specificitati la care Vis Viridis a gasit solutia prin dezvoltarea unei suite de aplicatii. Arendis economisteste timpul alocat documentelor de arenda. Toate actele se genereaza si se completeaza rapid. Toate informatiile necesare arendatorilor sunt la un click distanta. Pentru a oferi acest lucru intr-un mod rapid si securizat, Vis Viridis a ales sa utilizeze Amazon RDS pentru accesarea si managementul bazei de date MySQL din AWS. Printre beneficiile remarcate imediat se numara reducerea overheadului cu administrarea bazei de date si cresterea nivelului de securitate.

Marketplace-ul online din Romania cu peste 6 milioane de produse disponibile la vanzare impartite in peste 3500 de categorii ajuta utilizatorii sa ia cea mai buna decizie de cumparare folosind un sistem de calificative si review-uri. Acestia pot sa compare oferte de la mai multi vanzatori, fara a mai fi nevoiti sa consulte alte zeci de site-uri.

Integrarile cu cele mai importante platforme de comert online ajuta vanzatorii sa isi aduca rapid, in cadrul marketplace-ului, produsele din magazinele proprii.

Baza de date Oracle cu toate aceste informatii trebuia upgradata, iar aceasta operatiune era dificil de realizat cu resursele interne existente. BITFACTOR a ales sa o migreze baza de date Okazii.ro in AWS si sa foloseasca Amazon RDS pentru operarea si administrarea ei. Prin aceasta migrare s-au redus costurile operationale, accesarea si administrarea bazei de date, acestea devenind mult mai facile.