Documente Academic
Documente Profesional
Documente Cultură
4
Software as a Service (SaaS)
1.
Software as a Service
Software as a Service (SaaS) a aprut la finalul anilor 1990. n ultimii ani ai
exploziei Internet-ului, furnizori de servicii pentru aplicaii (ASP) cunoscui ncep s intre pe
pia cu promisiunea de a revoluiona peisajul aplicaiilor software enterprise. Aceste firme
ncepeau s livreze pachete de aplicaii software enterprise complexe printr-un model de
gzduire, n general fr sau cu puine pretenii asupra drepturilor intelectuale. n civa
ani multe dintre aceste firme au ieit de pe pia, i-au modificat modelele de business i
poziionarea, sau i-au redimensionat operaiile dup ce au euat s ctige suficient
momentum. Totui, un grup select din aceste firme ale primei i celei de-a doua generaii
SaaS a continuat s existe, oferind n general aplicaii specializate, proprietare tocmai
aceste firme au contribuit la creterea gradului de acceptare a soluiilor bazate pe servicii
ntre diverse companii. n particular, spaiul aplicaiilor CRM la cerere a aprut ca un hot
spot incipient, odat cu apariia unor companii precum Salesforce.com, RightNow
Technologies sau SalesNet, care au pavat drumul spre acceptarea i validarea noilor
modele de business n market.
2. Aplicaia este livrat peste un browser web sau alt client thin.
3. Aplicaia este configurabil, dar nu customizabil.
Arhitectura Single-Tenant vs. Arhitectura Multi-Tenant
Cea mai important diferen arhitectural ntre modelul software tradiional i SaaS
const n numrul de ocupani (tenants) suportai de ctre aplicaie.
Single-Tenant
Modelul tradiional al aplicaiilor software e unul al unui ocupant izolat. Aceasta
nseamn c un client cumpr o aplicaie software pe care apoi o instaleaz pe un
server. Acest server ruleaz doar acea aplicaie i doar pentru grupul de clieni ai acelui
utilizator. Cele mai multe aplicaii software sunt vndute astfel conform unui asemenea
model.
Multi-Tenant
Modelul SaaS ncurajeaz o arhitectur cu mai muli ocupani. Aceasta nseamn
c infrastructura fizic suport backend este partajat ntre mai muli clieni, dar din punct
de vedere logic ea este unic pentru fiecare client. O bun descriere a acestui model
arhitectural este urmtoarea: Atunci cnd un utilizator al unei companii acceseaz
informaii despre clieni folosind aplicaia CRM pus la dispoziie conform modelului SaaS,
instana aplicaiei la care se conecteaz utilizatorul poate suporta i ali utilizatori din alte
duzini, dac nu chiar sute, de alte companii toate complet izolate de ali utilizatori.
Aceasta necesit o arhitectur care s maximizeze partajarea resurselor ntre ocupani,
dar care ns poate s diferenieze datele ntr-o manier securizat dac ele apain unor
clieni diferii.1
2.4 SaaS vs. ASP
Soluiile SaaS sunt foarte diferite de soluiile ASP (Application Service Provider), n
principal datorit a trei motive:
http://footheory.com/blogs/bennie/archive/2007/12/15/software-as-a-service-a-high-level-overview.aspx
John Hagel III, Out Of The Box: Strategies for Achieving Profits Today and Growth Tomorrow Through Web
Services. Harvard Business School Press, 2002, p. 45.
lucrau, deoarece nu furnizat noi produse, dar acionau mai degrab ca i canale pentru
gsirea de noi cumprtori pe piaa produselor software.
Ce-a dea doua generaie. Dup prima generaie, un grup de companii selecte a
continuat s existe pe piaa SaaS, avnd ca principal atu nlturarea micilor imperfeciuni
i validarea modelului de business cu o populaie de clieni finali din ce n ce mai receptiv
la schimbri. Majoritatea acestor companii erau deinute n mod privat i operau sub
radar pe piaa produselor software. Aceste companii construiau aplicaii complet noi,
bazate pe Web, ce adresau n mod direct importante funcii de business, furniznd un
return-on-investment cuantificabil i o puternic valoare adugat, adresnd n acelaii
timp funcii business specifice din puncte cheie, precum managementul relaiei cu clienii,
HR, serviciile de investiii i mesajerie.
Maturizarea conceptului Business. ncepnd cu a doua jumtate a lui 2003, a
existat o schimbare clar resimit ce a constat n re-ntrirea interesului n modelul SaaS.
Furnizorii SaaS raporteaz creteri ale numrului de utilizatori subscrii i creteri ale
vnzrilor, ceea ce dovedete un puternic interes n rndul companiilor i small-to-medium
enterprises (SMEs) deopotriv, precum i creterea recunoaterii i ctigarea ncrederii
n rndul utilizatorilor acelor aplicaii gzduite extern. Modele primei generaii au avut la
baz nchirierea unor produse software de renume de ctre companii medii, ce nu puteau
s suporte costurile asociate cu licenierea tradiional a produselor software sau s le
implementeze local. Multora dintre aceti utilizatori finali le lipseau, de asemenea,
resursele locale pentru a ine pasul cu peisajul n continu schimbare a domeniului ICT.
De atunci, acceptarea pe pia a unor astfel de modele a condus acest segment n piaa
de desfacere.
n anumite segmente de pia, companiile SaaS apar acum ca i competitori serioi
n faa comercianilor de produse software avnd un tier independent (ISVs), ceea ce
conduce la crearea unor efecte disruptive semnificative. Se crede astzi c aceast nou
generaie de furnizori SaaS a representat un moment crucial n evoluia ctre arhitectura
orientat pe servicii (SOA), compus din aplicaii Web-native i servicii Web bazate pe
XML - i care furnizeaz un nivel mai nalt de integrare i customizare dect era nainte
posibil. n plus, n aceast faz, SaaS creaz posibilitatea de oferire a chiar mai multor
funcii dect companiile rivale, prin furnizarea ctre utilizatori a unor actualizri i noi
release-uri mai frecvent, i fr complicaii legate de integrare.
1.3. Segmentare
ntr-un sens generic, definiia dat pn acum modelului software as a service
(SaaS) se refer la orice model construit pentru livrarea de acces ctre aplicaiile software
prin intermediul unei reele (fie el Internetul public sau alte intraneturi sau extraneturi
private). Aplicaiile stau ntr-un centru de date extern, unde sunt meninute de ctre un
furnizor de serviciu, iar clienii le pot accesa remote prin intermediul unor browsere Web i
servere Web din back-end. Modelul de business SaaS este prezis de un model de livrare
one-to-many sau multi-tenant, n care aplicaia este partajat ntre mai muli clieni,
furniznd un nivel minim de customizare a aplicaiei pentru evitarea unor costuri mari cu
implementarea i integrarea.
Figura 4.2. Modelul de livrare a serviciilor multi-ocupaional, conform paradigmei Software as a Service.
Figura 4.2 furnizeaz o imagine simplificat a acestui concept, dei se tie astzi c
modelul accept n realitate i un numr de alte alternative. O premis cheie a acestui
model este aceea c organizaiile SaaS investesc n tehnologie, hardware i servicii suport
n locul clienilor. n schimb clienii pltesc conform paradigmet pay-as-they-go, n funcie
de un abonament i un Service Level Agreement (SLA) ce asigur clientul de furnizarea
unui nivel specificat de performan i disponibilitate, i care furnizeaz companiei SaaS o
relaie de lung-durat cu proprii clieni.
Exist cteva tipuri distincte de companii n sectorul SaaS. n cele ce urmeaz
facem o incursiune mai detaliat n acest subiect i prezentm segmentarea propus de
IDC3 n urmtoarele categorii distincte:
1. Application Service Providers (ASPs): Companiile din acest segment gzduiesc
i gestioneaz aplicaii software mpachetat i furnizeaz acces la distan ctre
acestea. Costurile de obicei constau din licene unice i taxe de instalare
(semnificativ mai mici dect costurile de liceniere n cazul produselor software
tradiionale), precum i abonamente periodice, taxe pentru gzduire i mentenan,
adesea stabilite la un interval de timp precum per lun de zile. Aceste costuri pot fi
modificate pentru a reflecta parametrii de folosire ai aplicaiei n termeni de numr
de utilizator, numr de hituri, sau alte metrici. Exemple de companii tip ASP sunt
USinternetworking, Corio, Surebridge sau NetASPx.
2. Web-native Applications: O poriune n cretere a peisajului SaaS este
reprezentat de acest segment, ce const din aplicaii proprietare construite special
pentru instalare i livrare peste arhitectura Internet. Mai puin costisitoare i mai
rapid implementate dect aplicaiile software enterprise tradiionale, aplicaiile Web
sunt n general create pentru a rezolva o anumit problem de business. Modelul
de costuri const adesea ntr-un ir recursiv de pli, ce combin taxarea tip
liceniere cu taxele pentru gzduire. Diferena major const n faptul c aplicaiile
sunt proprietare, bazate pe Web, i optimizate pentru un mediu partajat tip 'one-tomany'.
From IDC report #31267 U.S. Software as a Service 2004-2008 Forecast by Delivery Model,May 2004.
Figura 4.3. Comparaie ntre 2 modele: Application Outsourcing & SaaS Business Model.
Modelul de Business. Dup cum s-a precizat, modelul SaaS este destul de diferit
de modelul de liceniere prin aceea c toate costurile de liceniere i servicii (mentenana
de exemplu) sunt acum nlocuite de abonamente periodice tip 'all-in-one' tipic lunar sau
pe baz de numr de instalri. Dezavantajul const n aceea c firmele bazate pe modelul
SaaS au ctiguri directe semnificativ mai mici, dar ctigurile de lung durat pot fi mai
bine prevzute datorit relaiei bazate pe furnizarea de servicii.
Ca o consecin, adevrata msur a succesului sau valorii unei companii SaaS nu
este neaprat legat de creterile n ctiguri, dar mai degrab este reprezentat de
metrici legate de noile achiziii de clieni, rata reteniei clienilor, predictibilitatea i
vizibilitatea fluxurilor de ctiguri.
Costurile cu ctigurile. Semnificativ diferit de modelul ISV, companiile SaaS
necesit mai puine ctiguri cu serviciile directe datorit timpului rapid de dezvoltare i
livrrii peste infrastructuri Web deja existente. Muli ISV opteaz pentru parteneriate cu
integratori de sisteme pentru furnizarea de servicii profesionale i implementare. Pe de
alt parte, companiile SaaS investesc n customer service i n activiti de training,
account management i activiti tip application support i management, ce includ
operarea reelelor pentru asigurarea livrrii cu succes a aplicaiilor, furnizarea pn la
virtual 100% uptime n termeni de performan.
Costurile de operare. O zon a diferenelor clare ntre companiile ISV i cele tip
SaaS const n abordarea legat de activitile de R&D, vnzare i marketing. Un ISV
suport n mod tipic mai mult cod, pentru mai multe medii tehnice (client/server, Webbased, etc.), precum i livrarea conform modelului single-tenant ce trebuie meninut
conform acordurilor cu clienii. Pe de alt parte, companiile SaaS i bazeaz tehnologiile
pe cod nativ Web, unic, ce este capabil s suporte mai muli utilizatori conform unor medii
multi-tenant, cu partajare ntre aplicaii. Rezultatul final este acela c companiile SaaS pot
scdea costurile cu R&D odat cu fiecare achiziie de noi clieni. n plus, companiile ISV
impun costuri pentru actualizrile produselor software, mentenan i au adesea noi cicluri
de release-uri de noi produse software la fiecare doi sau trei ani; pe de alt parte,
companiile SaaS furnizeaz actualizri software gratuite, includ mentenan i suport n
relaia bazat pe furnizarea de servicii i suport mai multe i mai frecvente release-uri i
actualizri software. n termeni de volum de vnzri i abordri de marketing, exist de
10
asemenea diferene notabile ntre cele dou abordri. Deoarece companiile ISV suport
un model bazat pe servicii directe i implementri cteodat mai scumpe dect taxele de
liceniere, companiile mari de consultan i IT au aliai i parteneri naturali n dezvoltarea
de aliane legate de vnzri i canale indirecte de furnizare.
Pe de cealalt parte, companiile SaaS necesit mai mult creativitate n abordrile
legate de vnzri i marketing, deoarece alianele i canalele tradiionale impun dificulti
unice datorate relaiei economice diferite pentru integratorul de sisteme. Astfel, multe
companii SaaS au investit n mai multe canale indirecte ctre market (parteneri industriali,
aliane legate de infrastructur, OEM, VAR, etc.), precum i n construirea de canale
directe de vnzare.
n final, companiile SaaS gestioneaz tradeoff-ul i conflictele impuse de creterea
rapid ce necesit investiii semnificative n mai multe canale de vnzare i
marketing, opus canalelor stabile de cash ce necesit mai mult rbdare vizavi de
ateptri, deoarece achiziia clienilor necesit o perioad de timp semnificativ mai
lung.
11
12
13
este cel mai adesea scurtat. Lipsa unor oportuniti de implementare impune o serie de
constrngeri speciale asupra companiilor SaaS ce urmresc crearea de parteneriate i
aliane cu firme de renume de consultan ce urmresc piaa serviciilor. n timp ce e dificil
cuantificarea costurilor ascunse, modelul SaaS se bazeaz cu precdere pe un model al
costurilor directe de o mai lung durat. Funcionalitatea aplicaiei i abilitatea acesteia de
a adresa necesitile reale ale utilizatorilor rmn factori importani n oricare decizie
relativ la cheltuielile cu tehnologia. Acestea fiind spuse, e important de neles c toate
costurile i succesul operrii aplicaiei reprezint factori cruciali n evaluarea aplicaiilor
gzduite versus liceniere.
Mergnd un nivel mai departe cu aceti factori, totui, companiile SaaS puternice i
bazeaz succesul n mare parte i pe abilitatea de reconciliere a tensiunilor dintre cele
dou pri ale oricrui business cu alte cuvinte, pe transformarea procesului de achiziie
a produselor software ntr-o relaie de lung-durat bazat pe servicii. Aceast abilitate
este exact ceea ce face ca modelul SaaS s fie preferabil n locul modelului tradiional.
Figura 6 ilustreaz acest concept, prezentnd modul n care livrarea produsului software
ca i serviciu conduce la captarea celor mai bune aspecte din fiecare model.
14
15
16
informaiei, care este pn la urm scopul final al oricrei organizaii IT. Hardware-ul i
serviciile cu oamenii, dei componente vitale i importante ale mediului IT, sunt
considerate instrumente pentru atingerea scopului final pentru c ele fac posibil
producerea software-ului ce are ca scop final managementul efectiv al informaiei. Altfel
spus, orice organizaie ar aduga funcionaliti software fr extra hardware dac ar
putea, dar nici o organizaie nu ar aduga hardware fr o nevoie anticipat de adugare
a unui software n paralel.
ntr-un mediu IT dezvoltat n jurul produselor software, majoritatea bugetului este
tipic cheltuit pe hardware i servicii cu oamenii, lsnd o mic parte a bugetului disponibil
pentru chiar produsele software.
17
18
unui server. O aplicaie similar instalat local poate necesita ca fiecare client s dispun
de un ntreg server dedicat aplicaiei chiar poate mai mult de unul, dac balansarea
ncrcrii i disponibilitatea crescut sunt necesiti.
Aceasta reprezint o potenial surs de salvare a costurilor, comparativ cu modelul
tradiional. Pentru aplicaiile SaaS construite pentru a scala, costurile cu operarea pentru
fiecare client vor continua s scad pe msur ce noi clieni sunt adugai. Pe msur ce
acest lucru se ntmpl, furnizorul va dezvolta soluii multi-gzduire, ceea ce conduce la
oferire de calitate crescut la un cost mai mic.
Aadar, chiar dac costurile cu hardware-ul i serviciile profesionale ale vnztorilor
SaaS sunt reale, clienii pot obine n final funcionaliti software mai bune pentru acelai
buget IT.
Figura 4.11. Costurile cu personalul asociate cu rularea unor produse software de conferin n locaia
clientului.
Gartner Inc, o firm de analiz global, estimeaz c mai mult de 75% din bugetul
IT este folosit pentru meninerea i rularea sistemelor existente i infrastructurii software5.
n plus, Gartner crede c tocmai clienii pot cheltui cu pn la de patru ori costul licenelor
lor cu produsele software pe an pentru a deine i gzdui propriile aplicaii6.
Messaging Total Cost of Ownership: Microsoft Exchange 2003 and Lotus Domino in Small and Medium
Organizations, META Group, July 2004
5
Timothy Chou, The End of Software, SAMS Publishing, 2005, page 6
6
20
Figura 4.12. Costurile cu personalul reprezint cea mai mare parte din costul total, n cazul unor aplicaii
pentru email i groupware.
Un alt punct de vedere vine din partea Microsoft, care n 2002 declara n Wall
Street Journal: cumprarea iniial reprezint cel mai adesea doar 5% din costul total al
deinerii i meninerii unui program.7 IDC, o alt firm de consultan i analiz global, a
ajuns la o concluzie similar n urma analizei industriei de conferine Web. Compania a
determinat, astfel, c cheltuierile ascunse cu personalul pot fi de pn la 70% din costul
total rulrii aplicaiilor software n locaia clientului8.
Companiile par s neleag n mod instinctiv acest aspect, mai ales c majoritatea
au decis s comercializeze ntr-un model de outsourcing aplicaiile de conferin audio
ctre companii precum AT&T, Verizon, Intercall sau BT.
7
8
Microsoft Wages Campaign Against Using Free Software, The Wall Street Journal, December 9, 2002
Robert Mahowald, Do Service Providers Deliver Value and Reduce Enterprise Costs?, IDC, 2003
21
MultiMedia Communications, A Detailed Analysis of On-Premise vs. Service Provider Costs and Risks,
WebEx Communications, 2005
22
nevoie ulterior. Ca rezultat, aplicaia SaaS este mai adecvat necesitilor moderne de
costuri ale unei companii.
Mai exist un studiu de caz important pentru flexibilitate. Companiile care trec prin
tot felul de achiziii i fuziuni n special au o mare problem n alinierea infrastructurii IT pe
msur ce modificrile apar. Pot dura luni de zile pentru instalarea resurselor hardware i
a reelei nainte ca utilizatorii dintr-o nou locaie s aib acces la serviciile folosite n toate
celelalte locaii. Aceast problem este mai redus n cazul aplicaiilor SaaS, deoarece tot
ce e necesar este o conexiune Internet, un browser i credenialele pentru pornirea
aplicaiei.
Accountability of the SaaS Vendor
Cel de-al patru argument este acela c companiile SaaS au un control mai bun
datorat modelului de preuri bazat pe abonamente. Clienii SaaS pot exercita un control
mai bun asupra vnztorilor dect n cazul modelului tradiional. Clienii SaaS ptesc un
abonament recurent strict pe durata termenului agreat cu respectivul furnizor. Furnizorii
SaaS sunt i ei supui termenelor lunare agreate prin Service Level Agreements (SLA), i
sunt financiar motivai s menin cerinele suport i operaionale adecvate. Furnizorii de
software tradiionali sunt pltii direct printr-o tax de liceniere n schimb. Aceasta
nseamn c ei au puine obligai odat ce aplicaia software este instalat.
Ca un rezultat, exist un control mai bun al furnizorilor SaaS dect n cazul
comercianilor de produse n varianta tradiional. Dac un serviciu SaaS nu funcioneaz
corect, clienii, prin simplu act al retragerii de la plat i exercitarea SLA-urilor, pot avea o
influen mai mare asupra furnizorilor SaaS pentru a furniza corecii aplicaiei dect n
cazul modelului tradiional.
23
24
25
26
27
Cloud, AWS construiete servicii conform celor mai bune practici i norme din domeniul
securitii, i documenteaz clar modul n care dezvoltatorii pot folosi corect aceste
aspecte. Clienii AWS pot folosi avantajul soluiei Amazon de a furniza o infrastructur
computaional fiabil i sigur pe scar larg. Pentru mai multe informaii legate de
soluiile AWS de securitate putei consulta i materialul Amazon Web Services: Overview
of Security Processes10.
Costurile cu operarea
AWS trece n cadrul furnizorilor ca o soluie de scdere a costurilor de operare, la
scara de operare oferit de Amazon. n plus fa de costurile legate de servere, putere i
infrastructura de reea, costurile legate de personal sunt de asemenea incluse. Aceasta
include costurile cu echipele de gestiune a infrastructurii IT necesare pentru
managementul acestor resurse hardware eterogene i tot ciclul de furnizare a resurselor,
operarea centrelor de date, mutare, scalarea i gestiunea creterilor fizice a resurselor de
operare, etc. toate acele lucruri pe care serviciile AWS le realizeaz n numele
furnizorilor SaaS.
10
aws.amazon.com/security
28
29
11
http://aws.amazon.com/cloudfront/
30
fapt, ce respect modelul Web tradiional ar trebui s funcioneze la fel inclusive pe Cloudul oferit de AWS. O opiune suplimentar furnizat totui de AWS const n folosirea
serviciului Cloudfront pentru edge caching, n cazul aplicaiilor ce folosesc Elastic IP (a se
vedea cursul anterior).
Migrarea unei aplicaii Web ctre AWS necesit modificri la nivelul DNS-ului. AWS
furnizeaz un serviciu de management DNS, numit Route 53, dar dezvoltatorii tot trebuie
s cear explicit un numr de IP-uri Elastice (adrese IP statice ce pot fi asignate n mod
dinamic unor instane EC2 ce ruleaz). Un nou cont AWS poate cere cinci astfel de adrese
IP Elastice pentru nceput, dar poate cere mai multe dac e nevoie. Dup cum se poate
observa n Figura de mai sus, aceste adrese IP pot fi asignate unor Entry Points publice
ale aplicaiei Web, i se pot configura intrri DNS ctre aceste adrese. Catalogul de nume
de domenii folosit pentru cumprarea numelui de domeniu furnizeaz un mecanism simplu
pentru setarea acestei liste de adrese IP i tot traficul de intrare va fi, ntr-o manier roundrobin, balansat ntre aceste adrese IP elastice nregistrate.
Control accesului
Diferit de un model de gzduire Web tradiional, n AWS nu exist un firewall de
grani care s controleze traficul ntre centrul de date. De fapt, fiecare staie EC2 are un
firewall local ce poate fi configurat pentru a specifica modul de acces. Acest lucru se
realizeaz prin intermediul aa numitelor Grupuri de Securitate, ce permit specificarea de
protocoale, porturi i IP-uri surs ce pot trimite trafic ctre staiile EC2. Grupurile de
securitate pot chiar referenia alte grupuri de securitate sau pe ele nsele pentru a limita
accesul la staii EC2 ce sunt n anumite clustere. De exemplu, n cadrul arhitecturiii AWS
de gzduire a unei aplicaii Web, clusterul de servere Web ar putea permite accesul doar a
oricrei staii peste TCP ce folosete oricare dintre porturile 80 sau 443 (HTTP i HTTPS),
i ar putea permite accesul din partea grupului de securitate Application Server pentru un
management dierct al staiei. Clusterul Application Server, pe de alt parte, ar putea
permite accesul doar dinspre grupul de securitate Web Server pentru gestiunea cererilor,
i din partea unei anumite subreele peste TCP pe portul 22 (SSH) pentru management
direct al staiei. n acest model personalul de ntreinere s-ar putea loga direct pe serverele
aplicaiei din reeaua intern a companiei i apoi accesa clusterele din alte servere de
aplicaii.
31
http://haproxy.1wt.eu/
13
http://www.allthingsdistributed.com/2008/10/using_the_cloud_to_build_highl.html
32
33
s fie pstrate n volume EBS, care rmn disponibile chiar dac baza de date gazd se
defecteaz. Aceasta permite rezolvarea unor scenarii de failover precum lansarea unor noi
instane EC2 n cazul defectrii unor staii, iar volumele EBS pot fi simplu ataate noilor
instane pentru a permite bazei de date s reia din punctul n care s-a produs defectul.
Volumele EBS furnizeaz automat mirror ntr-o variant de baz, ceea ce conduce la
creterea disponibilitii. Este de asemenea recomandat folosirea concatenrii mai multor
volume EBS pentru creterea performanei IOPS pentru staiile ce menin baza de date.
Deoarece nivelul bazei de date reprezint o component stabil i care trebuie s ofere
disponibilitate n cadrul arhitecturii Web, ea poate fi folosit i pentru stocarea i gestiunea
configuraiei arhitecturii Web n cadrul AWS. n cadrul Cloud-ului AWS, staiile i serviciile
pot fi aduse n picioare i nlturate la cerere, iar adresele de reea nu sunt cunoscute
apriori lansrii aplicaiei, ceea ce necesit ca staiile s se bazeze pe comunicaia ntre
gazde folosind un serviciu de configuraie specializat.
Amazon ofer de asemenea un Relational Database Service (Amazon RDS), ce
faciliteaz setarea, operarea i scalarea unei baze de date relaionale n Cloud14. Serviciul
furnizeaz capacitate redimensionabil ntr-o manier cost-efficient, cu administrarea
automat a activitilor bazei de date, eliberarea focusului spre aplicaie i business mai
degrab dect pe astfel de activiti.
AWS ofer de asemenea serviciul SimpleDB (SDB), ce furnizeaz un serviciu de
baz de date simplu, cu garanii de disponibilitate i toleran la defecte, pentru
interogarea i indexarea datelor ce nu necesit o schem fix. SimpleDB poate fi o soluie
de nlocuire a bazelor de date n cazul managementului informaiei de configurare pentru
arhitecturi Web ce nu au un nivel stabil de persisten.
Stocarea i salvarea datelor
Exist numeroase opiuni n Cloud-ul AWS pentru stocarea, accesarea i salvarea
aplicaiilor Web i a datelor acestora. AWS Simple Storage Service (S3) furnizeaz o
soluie de stocare fiabil pentru pstrarea fiierelor avnd o dimensiune de pn la 5GB.
Aceasta este o soluie perfect pentru salvarea de obiecte relativ statice, precum date
14
http://aws.amazon.com/rds
34
grafice sau media. S3 suport servicii de cache prin intermediului serviciului CloudFront. n
plus, instanele EC2 pot avea volume Elastic Block Storage (EBS) ataate, ce pot aciona
ca discuri locale pentru execuia instanelor EC2. EBS este perfect pentru date ce trebuie
accesate la nivel de blocuri de date i care necesit persisten n afara instanelor ce
ruleaz, precum n cazul partiiilor de baze de date i logurilor de aplicaii. n plus, n afar
de faptul c ofer persisten, copiile volumelor EBS pot fi salvate n S3, ceea ce poate fi o
soluie pentru salvarea unor instane ce ruleaz pentru conservarea strii serverelor.
Volumele EBS pot avea o dimensiune de pn la 1 TB, i mai multe volume EBS pot fi
concatenate pentru a oferi volume chiar mai mari, avnd o performan IOPS mrit.
Soluii RAID folosite mpreun cu volume EBS sunt deosebit de utile ca baze de date ce
ruleaz n EC2, deoarece ofer fiabilitate i performan prin intermediul tehnicii de
concatenare a mai multor volume. O alt caracteristic folositoare a concatenrii
volumelor EBS este aceea c ele pot fi folosite pentru crearea mai multor volume EBS
pentru ataarea la mai multe instane ce ruleaz.
Auto-scalarea
Una dintre diferenele cheie ntre arhitectura Web AWS i modelul tradiional de
gzduire este reprezenta de abilitatea de a scala dinamic aplicaia Web la cerere, pentru
a face fa unui trafic mrit sau n scdere. Curent, rmne la latitudinea dezvoltatorului
aplicaiei Web gestiunea aplicaiei Web. Un model de efectuare a funciei de scalare
const n utilizarea gazei ce ruleaz baza de date pentru scalare. Dac baza de date
deine de asemenea datelor de configuraie, atunci acest aspect permite unui singur host
s scaleze ntreaga flot de resurse i actualizarea propriei configuraii. Auto-scalarea
poate fi uor realizat prin intermediul API-ului EC2, ce permite lansarea, terminarea i
inspectarea instanelor. Declanarea scalrii flotei st complet la latitudinea dezvoltatorului
de aplicaiei, dar un model simplu ar putea s se baze la fel de bine pe fiecare dintre
diverse staii gazd (e.g., servere Web, balansoarele de ncrcare, servere de aplicaii,
etc.) s raporteze propria ncrcare i alte statistici de performan ctre o component de
monitorizare rulnd pe un server baz de date. Aceast component ar putea apoi s
adauge sau s nlture servere pe baza disponibilitii i ncrcrii acestora. De exemplu,
daca serverele Web raporteaz o utilizare CPU peste 08%, atunci un server suplimentar
Web ar putea fi repede instalat i apoi aduga gazdei pe care ruleaz balansorul de
ncrcare. Odat ce serverul Web rspunde corect verificrilor de URL provenite de la
balansorul de ncrcare, acesta ar putea prelua locul acestuia n rotaia ncrcrii, astfel
nct viitoare cereri pot fi acum service de acest nou instalat server Web. Aceeai
35
arhitectural ce trebuie inclus n aplicaia Web dac se dorete n final utilizarea acestor
dispozitive.
Firewall-uri
Dac n modelele mai tradiional era suficient folosirea unui DMZ i comunicaia
open ntre staii rulnd n acelai mediu, AWS impune un model de securitate mai strict,
conform cruia fiecare staie este complet securizat. Unul dintre paii n planificarea unei
instalri AWS const n analiza traficului ntre staii i a porturilor ce trebuie s stea
deschise. Grupurile de Securitate din cadrul EC2 pot fi create pentru fiecare tip de staie
din arhitectur, i pot fi folosite o serie de modele de securitate pentru a permite accesul la
minim ntre staiile componente ale arhitecturii.
Mai multe centre de date disponibile
Zonele de Disponibilitate din EC2 trebuie gndite sub forma mai multor centre de
date. Ele sunt separate logic i fizic i mpreun furnizeaz un model uor de folosit pentru
deployarea aplicaiei de-a lungul mai multor centre de date aspect necesar pentru
asigurarea disponibilitii i fiabilitii.
Dinamicitatea staiilor disponibile
Probabil cea mai important mutare n modul n care putem gndi arhitectura
aplicaiei AWS const n aceea c gazdele EC2 trebuie considerate ca fiind efemere i
dinamice. Orice aplicaie construit pentru Cloud-ul AWS nu trebuie s asume c o staie
va rmne ntotdeauna disponibil i c tim c orice date locale (ce nu rezid n volume
EBS adic) vor fi pierdute odat cu apariia oricrui defect. n plus, atunci cnd o nou
staie este pornit nu putem face nici un fel de presupunere asupra adresei IP sau locaiei
acesteia n cadrul unui AZ. Aceste aspecte foreaz gndirea unei configuraii mai flexibile
i o abordare solid a pasului de bootstrapping a staiei, tehnici critice pentru construirea i
rularea unei aplicaii scalabile i tolerant la defecte.
Abordri pentru gestionarea arhitecturii multi-ocupant
Aspectul arhitectural fundamental ce trebuie considerat cnd proiectm aplicaia
SaaS const n decizia asupra modului de lucru n modelul multi-ocupant. O posibilitate de
gestiune a acestui model const n folosirea virtualizrii ca un mecanism pentru separarea
modulelor aplicaiei. O alt opiune const n construirea unei aplicaii ce are un strat de
separare logic a datelor construit la fiecare nivel arhitectural.
37
38
39
Cea mai mare problema consta n scrierea codului de la zero i totul n cadrul
companiei. Managementul dezvoltrii a realizat c ar trebui s scrie cod pentru un mediu
multi-ocupant ce ar necesita civa ani de munc pentru a conduce la crearea unor servicii
corecte.
Deoarece nu au putut justifica astfel de cheltuieli i costurile impuse pentru
dezvoltare, dezolvatorii CODA s-au focusat pe o serie de aspecte legate de client, precum
procesele specializate din diverse alte domenii. Dar, spre deosebire de alte companii mai
mici ce au construit peste sForice, CODA este o companie mai mare ce servete alte
companii medii. Salesforce.com are nevoie de CODA la fel de mult precum CODA are
nevoie de ei. Salesforce.com avea nevoie s dovedeasc piaei c propria platform ar
putea suporta o asemenea aplicaie major. Aplicaia companiei CODA e de asemenea n
acord cu o asemenea relaie ce ar putea conduce la salvarea de timp i bani. Aa c, la
scurt timp, CODA a scris propria aplicaie folosind limbajul similar Java al celor de la
Salesforce.com, limbaj numit APEX. Prin urmare, compania a migrat definitiv pe platforma
Salesforce.com cu aceast mutare. Din perspectiva marketingului, mutarea a constituit n
final un plus, i asta i pentru c Salesforce.com a ajutat compania CODA s acceseze o
pia compus acum inclusiv din clienii vechi ai platformei Salesforce.com.
Bibliografie
[Armbrust2009] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, and R. Katz, Above the
Clouds: A Berkeley View of Cloud Computing, UC Berkeley Reliable Adaptive
Distributed Systems Laboratory White Paper, 2009.
[Assuncao2009] M. D. de Assuncao, A. di Costanzo, and R. Buyya, Evaluating the cost
benefit of using cloud computing to extend the capacity of clusters, in Proceedings
of the 18th ACM International Symposium on High Performance Distributed
Computing (HPDC 2009), Munich, Germany, 2009, pp. 141 150.
[Buyya2009] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic, Cloud
computing and emerging IT platforms: Vision, hype, and reality for delivering
computing as the 5th utility, Future Generation Computer Systems, 25:599 616,
2009.
40
Software-as-a-Service
Executive
Council,
Software-as-a-Service;
41