Uni e sidade do Minho
Escola de Engenha ia
Depa amen o de In o má ica
Luís Tiago Machado B aga
O imização na alocação de ecu sos de cloud
compu ing num se iço de au en icação de p odu os
Fe e ei o 2022
Uni e sidade do Minho
Escola de Engenha ia
Depa amen o de In o má ica
Luís Tiago Machado B aga
O imização na alocação de ecu sos de cloud
compu ing num se iço de au en icação de p odu os
Disse ação de Mes ado
Mes ado In eg ado em Engenha ia In o má ica
Disse ação supe isionada po
P o esso Dou o José Manuel Fe ei a Machado
Dou o a Ana Edua da de Sá e Sil a
Fe e ei o 2022
DIREITOS DE AUTOR E CONDIÇÕES DE UTILIZAÇÃO DO
TRABALHO POR TERCEIROS
Es e é um abalho académico que pode se u ilizado po e cei os desde que espei adas as
eg as e boas p á icas in e nacionalmen e acei es, no que conce ne aos di ei os de au o e
di ei os conexos.
Assim, o p esen e abalho pode se u ilizado nos e mos p e is os na licença abaixo
indicada.
Caso o u ilizado necessi e de pe missão pa a pode aze um uso do abalho em
condições não p e is as no licenciamen o indicado, de e á con ac a o au o , a a és do
Reposi ó iUM da Uni e sidade do Minho.
A ibuição-NãoCome cial
CC BY-NC
h ps://c ea i ecommons.o g/licenses/by-nc/4.0/
1
DECLARAÇÃO DE INTEGRIDADE
Decla o e a uado com in eg idade na elabo ação do p esen e abalho académico.
Eu con i mo que não eco i à p á ica de plágio nem a qualque o ma de u ilização
inde ida ou alsi icação de in o mações ou esul ados em nenhuma das e apas conducen e à
sua elabo ação.
Mais decla o que conheço e que espei ei o Código de Condu a É ica da Uni e sidade do
Minho.
2
AGRADECIMENTOS
Ao P o esso Dou o José Manuel Fe ei a Machado pela o ien ação, paciência, disponibili-
dade e po pa ilha um pouco dos seus as os conhecimen os comigo.
A oda a equipa da UN1Qnx, que me ecebeu da melho o ma e que semp e se mos-
ou disponí el pa a me ajuda , an o nas a e as que me o am a ibuídas, como pa a a
ealização da p esen e disse ação. Ag adecimen o especial à minha coo ien ado a, Dou-
o a Ana Edua da de Sá e Sil a, que mesmo à dis ância oi incansá el, pa a que odas as
minhas a e as ossem ealizadas e bem sucedidas, p es ando apoio escla ecedo . Foi um p i-
ilégio sen i -me pa e des a equipa e con ibui pa a o desen ol imen o do seu no o p oje o.
À minha amília, que semp e me apoiou além dos seus limi es. Especialmen e ao meus
pais, po uma ida de abalho, que pe mi iu que hoje es eja aqui a esc e e es a disse ação.
Sei que não oi ácil, mas espe o que hoje es ejam o gulhosos.
Aos meus amigos, que me acompanha am nes a jo nada, pelo apoio e pa ilha de conheci-
men os. Con osco c iei memó ias que le a ei pa a a ida.
À minha namo ada pelo apoio incondicional. Ob igado po es a es semp e ao meu lado.
Po úl imo, à Uni e sidade do Minho, que me acolheu e me o mou nes es úl imos cinco
anos. Foi pa a mim um p i ilégio.
3
RESUMO
A UN1Qnx, S.A., soluções de au en icidade cibe - ísicas, é uma emp esa sediada em B aga,
que desen ol e e come cializa sis emas ísicos, ele ónicos e cibe né icos de alidação e
au en icação de p odu os, sendo o obje i o a p o eção da ma ca e o comba e à con a ação.
Nes e momen o, a emp esa possui um se iço de au en icação de p odu os localizado numa
máquina i ual na cloud, mais especi icamen e na Mic oso Azu e. Con udo, a u ilização
des e se iço é in e mi en e e passa po pe íodos de ina i idade. Po ém, quando u ilizado,
cada execução do se iço é compu acionalmen e cus osa, o que ob iga à u ilização de uma
máquina i ual que em em con a o caso de máxima u ilização. Assim, nos in e alos en e
u ilizações os cus os acumulam-se sem ap o ei a os ecu sos alocados. Des e modo, es a
ese passa po o imiza a u ilização dos ecu sos na cloud, endo em is a i a p o ei o da
escalabilidade e elas icidade das ecnologias de compu ação na nu em, bem como melho a
a la ência dos pedidos.
A o imização dos ecu sos passa po compa a di e en es se iços de di e en es o ne-
cedo es e seleciona o que se ap esen a como a melho opção. A im de ealiza es as
compa ações, ez-se an es uma in es igação baseada na me odologia Design Science Resea ch.
P imei amen e, explo ou-se o ambien e da solução (compu ação na nu em) e o ambien e
do p oblema, is o é, qual a si uação a ual da emp esa no que diz espei o ao uncionamen o
do se iço de alidação e dos ecu sos a e os ao mesmo.
Em segundo luga , ez-se uma a e iguação sob e o es ado da a e das ecnologias usadas,
das ecnologias que pode iam i a se usadas e de ou as emp esas da mesma á ea, sob e
quais os seus p odu os e o seu modo de uncionamen o. Po úl imo, in es iga am-se mé odos
de seleção e compa ação en e á ias opções.
Em e cei o luga , ealizou-se a pa e mais abalhosa e demo ada: o desen ol imen o
p á ico. Nes a ase ealiza am-se es es de pe o mance, a colocação do se iço num docke
con aine e a u ilização de kube ne es. Ainda nes a úl ima pa e, hou e á ia expe imen ação
com di e sas a qui e u as. Po im, o sis ema es abilizou numa a qui e u a assínc ona, que
ez eduzi os cus os e, pe mi iu com que o se iço se adequasse melho à quan idade de
abalho a p ocessa .
Pala as-cha e
: Compu ação na Nu em, Cloud, O imização, Design Science Resea ch,
Escalabilidade, Elas icidade.
4
ABSTRACT
UN1Qnx, SA, cybe -physical au hen ici y solu ions, is a company headqua e ed in B aga,
which de elops and ma ke s physical, elec onic and cybe sys ems o alida ing and
au hen ica ing p oduc s, wi h he aim o p o ec ing he b and and comba ing coun e ei ing
. A his momen , he company has a p oduc au hen ica ion se ice loca ed in a i ual
machine in he cloud, mo e speci ically in Mic oso Azu e. Howe e , he use o his se ice is
in e mi en and goes h ough pe iods o inac i i y. Howe e , when used, each execu ion
o he se ice is compu a ionally expensi e, which equi es he use o a i ual machine
ha akes in o accoun he case o maximum use. Thus, in he in e als be ween uses, cos s
accumula e wi hou aking ad an age o he alloca ed esou ces. Thus, his hesis in ol es
op imizing he use o esou ces in cloud, wi h a iew o aking ad an age o he scalabili y
and elas ici y o cloud compu ing echnologies, as well as imp o ing he la ency o eques s.
Resou ce op imiza ion in ol es compa ing di e en se ices om di e en p o ide s and
selec ing he bes op ion. In o de o make hese compa isons, an in es iga ion based on he
Design Science Resea ch me hodology was ca ied ou .
Fi s , he solu ion en i onmen (cloud compu ing) and he p oblem en i onmen we e
explo ed, ha is, he cu en si ua ion o he company wi h ega d o he unc ioning o he
alida ion se ice and he esou ces alloca ed o i .
Secondly, an inqui y was made abou he s a e o he a o he echnologies used, he
echnologies ha could be used and o he companies in he same a ea, abou hei p oduc s
and how hey wo k. Finally, selec ion and compa ison me hods be ween a ious op ions
we e in es iga ed.
Thi dly, he mos labo ious and ime-consuming pa was ca ied ou : p ac ical de e-
lopmen . In his phase, pe o mance es s we e ca ied ou , he se ice was placed in a
docke con aine and kube ne es was s a ed o being used. Also in his las pa , he e was
a lo o expe imen a ion wi h di e en a chi ec u es. Finally, he sys em s abilized in an
asynch onous a chi ec u e ha educed cos s and allowed he se ice o be be e sui ed o
he amoun o wo k o be p ocessed.
Keywo ds
: Cloud Compu ing, Cloud, Op imiza ion, Se ice selec ion, Design Science
Resea ch, Scalabili y, Elas ici y.
5
CONTEÚDO
1 in odução 11
1.1Con ex o e Mo i ação 11
1.2Obje i os e Resul ados Espe ados 12
1.3Mé odos e Técnicas 13
1.3.1Design Science Resea ch 13
1.3.2Pesquisa Bibliog á ica 15
1.3.3Tes es de Pe o mance 17
1.4O ganização do Documen o 20
2 enquad amen o da un1qnx 21
2.1Funcionamen o do Se iço de Validação 21
2.1.1Ciclo de Vida de uma E ique a 22
2.1.2Recu sos 24
2.2P oblema 24
3 es ado da a e 26
3.1Cloud Compu ing 26
3.1.1O que é Cloud Compu ing ? 26
3.1.2Modelos de Implemen ação 28
3.1.3Cloud Pública: Exemplos na indús ia 29
3.1.4Modelos de Se iço 30
3.2Conco ência 32
3.2.1Au hen ic Vision 32
3.2.2Visua 33
3.2.3Zo ag 34
3.2.4Ce ilogo 34
3.3Seleção de Se iços de Cloud Compu ing 35
3.3.1Analy ic Hie a chy P ocess 35
3.3.2Technique o O de o P e e ences by Simila i y o Ideal Solu ion 36
4 desen ol imen o 38
4.1Explo ação de Se iços Cloud 38
4.2Tes es de Pe o mance 39
4.2.1De inição do Sis ema 39
4.2.2Se iços 39
4.2.3Mé icas 39
6
con eúdo 7
4.2.4Pa âme os 39
4.2.5Fac o es 40
4.2.6Técnica de A aliação 41
4.2.7Wo kload 41
4.2.8Planeamen o da expe iência 43
4.2.9Análise de Dados 44
4.3Colocação do se iço num Con aine 44
4.4Colocação do se iço em Kube ne es 45
4.4.1P imei a A qui e u a 46
4.4.2Segunda A qui e u a 48
4.4.3Te cei a A qui e u a 50
4.4.4Qua a A qui e u a 52
5 conclusão 59
5.1Obje i os Conc e izados 59
5.2T abalho Fu u o 61
a dependências do se iço de alidação 67
b ichei os de con igu ação do kube ne es 69
cdocke ile do se iço de alidação 76
d sc ip s de es e 78
1.3. Mé odos e Técnicas 14
Figu a 1:Design Science Resea ch F amewo k. Adap ada de He ne e al. (2004).
Ambien e
O ambien e pode se desc i o como a á ea ou espaço do p oblema e nele esidem os
p oblemas, opo unidades, con ex o da o ganização e os p ocessos do negócio (He ne
e al.,2004, p.79). No caso a se a ado, nes a disse ação, o ambien e do p oblema, é
ap esen ado no "Con ex o e Mo i ação" (1.1) e é desc i o com ainda mais po meno no
Capí ulo 2. A a és de odos os pon os explici ados na componen e ambien e na Figu a 1,
ex aem-se não só equisi os pa a a in es igação que ai se le ada a cabo, mas ambém
c i é ios pa a a alia os esul ados da in es igação (He ne , Alan and Cha e jee, Sami ,
2010, p.17).
Base de Conhecimen o
A base de conhecimen o o nece odos os ma e iais com os quais se ai cons ui o a e ac o e,
a a és dos quais, é possí el a alia esse mesmo a e ac o. Os ma e iais que compõem a base
de conhecimen o são undações eó icas, me odologias de in es igação, cons uções modelos,
mé odos e ins anciações (He ne e al.,2004, p.82), que ipicamen e num documen o des a
espécie se encon am no "Es ado da A e".
Pa a seleciona es a base de conhecimen o oi desen ol ida uma es a égia explici ada na
Subsecção 1.3.2.
1.3. Mé odos e Técnicas 15
Design Science Resea ch
No segmen o cen al da Figu a 1su ge Design Science Resea ch (DSR). O que a dis ingue de
ou as me odologias, nomeadamen e, de ou ine design é a p ocu a po encon a soluções
no as e não a aplicação das "melho es p á icas". Daí, ele a-se a impo ância da a aliação
(He ne e al.,2004, p.83) do a e ac o, que ai sendo i e a i amen e cons uído e moldado.
Segundo He ne e al. (2004), ecolhe -se-ão odos meios a a és dos quais se pode á
esol e o p oblema, de e mina a sua u ilidade e es ições e ca ac e iza as cons an es de
cus o e bene ício. Po exemplo, pa a cons ui uma casa esis en e a condições clima é icas
ad e sas e ene gicamen e e icien e se iam enume ados e ep esen ados odos os ma e iais
ou combinações des es, de inida a sua u ilidade e es ições e especi ica qual o seu cus o.
Sem g ande análise, e ela-se como uma a e a he cúlea e demasiado exaus i a. De o ma
análoga, pa a in es iga uma solução pa a o p oblema em mão e -se-ia de elenca oda
a in aes u u a capaz de albe ga um se iço web. De o ma a elimina es e p oblema, a
melho solução passa á pela iden i icação daquela que es á mais p óxima da solução ó ima.
A a aliação isa e i ica se o a e ac o elabo ado ai de encon o com os equisi os
le an ados, o que pe mi e po sua ez e ina o a e ac o.
Ciclo de Rele ância
O ciclo de ele ância p o idencia à DSR um con ex o aplicacional, onde não es ão apenas
p esen es equisi os pa a a in es igação, mas ambém c i é ios de acei ação pa a a a aliação
do a e ac o. As i e ações nes e ciclo i ão sis ema icamen e es a o a e ac o no ambien e
do p oblema, o que se pode chama de es e de campo, e indica quais os ajus es ou qual
o caminho a segui ela i amen e à cons ução do a e ac o (He ne , Alan and Cha e jee,
Sami ,2010, p.17).
Ciclo de Rigo
O ciclo de igo o nece conhecimen o p e é i o basila pa a que a me odologia seja aplicada
igo osamen e, o que ga an i á ao a e ac o ge ado a sua ino ação. Nes e ciclo, p ocu a -se-á
conhecimen o p é io, que se e de pon o de pa ida pa a a cons ução do a e ac o, mas
ambém mé odos pa a a alia o mesmo, em unção dos equisi os e es ições cap u ados
no ciclo de ele ância. Con udo, não se a a apenas de explo a conhecimen o e aplicá-lo
àDSR: os esul ados da DSR ambém se i ão de adição ou ex ensão às eo ias exis en es
(He ne , Alan and Cha e jee, Sami ,2010, p.18).
1.3.2Pesquisa Bibliog á ica
De o ma a cump i o ciclo de igo de inido em DSR, o am açadas es a égias.
1.3. Mé odos e Técnicas 16
P e iamen e ao início da pesquisa po on es bibliog á icas, oi necessá io escolhe quais
as on es de in o mação. As on es de in o mação selecionadas o am: Google Schola ,IEEE
Xplo e,Science Di ec eResea chGa e.
A p óxima e apa passa ia po o ganiza a cole a de in o mação e os dados esul an es
dessa cole a. Pa a al, elabo ou-se uma es a égia, ep esen ada na Figu a 2.
Figu a 2: Es a égia de pesquisa bibliog á ica de inida.
A es a égia de inida consis e em man e egis o das pala as-cha e c iadas, u ilizadas, e
c ia uma coleção de on es bibliog á icas a iadas, selecionando os esul ados que apa en am
se mais pe inen es nas pesquisas ealizadas. O obje i o se ia, não só c ia uma coleção de
dados, como ambém man e egis o do que já oi explo ado, ac escen ando igo e mé odo
ao abalho desempenhado.
1.3. Mé odos e Técnicas 17
1.3.3Tes es de Pe o mance
Figu a 3: Me odologia de elabo ação de es es de pe o mance.
A igu a 4 ep esen a a me odologia delineada segundo Jain, Raj (1991). Segundo o au o ,
a me odologia consis e em dez passos c uciais, não só pa a o planeamen o e ealização de
es es de pe o mance, como ambém pa a a análise e ex ação de conclusões dos mesmos.
A me odologia pode se ap esen ada em duas ases dis in as: p é- es e e pós- es e.
A p imei a ase, e a mais longa, consis e em oda a p epa ação dos es es. Encon am-se
elencados de seguida os passos e a sua desc ição:
1.De ini me as e o sis ema:
consis e em de ini os obje i os do es udo e de e mina o
que cons i ui o sis ema, a a és da es ipulação de quais são as on ei as do sis ema
(Jain, Raj,1991, p.49).
2.Lis a se iços e esul ados:
es e passo consis e em egis a os se iços que o sis ema
em análise o nece e quais os seus esul ados. Po exemplo, o sis ema de alidação
em análise esponde a pedidos HTTP e a espos a pode á se desejá el ou não. O
se iço pode á esponde co e amen e (e ique a álida/in álida), inco e amen e,
de ido a um e o no se ido ou algo semelhan e, ou pode á não esponde de odo,
pois o se ido pode á es a indisponí el. Uma alha de ede pode á acon ece ou
qualque p oblema que impossibili e o pedido de chega ao des ina á io ou a espos a
de alcança o eme en e (Jain, Raj,1991, p.49).
1.3. Mé odos e Técnicas 18
3.Seleciona mé icas:
es e passo consis e em disc imina c i é ios com a inalidade
de compa a o desempenho e a es es c i é ios dá-se o nome de mé icas (Jain, Raj,
1991, p.50). Se um se iço unciona co e amen e, o seu desempenho é a aliado
pelo empo que demo a a execu a a e as, pelo i mo com que as execu a e pelos
ecu sos consumidos aquando dessa execução. A es as ês mé icas dá-se o nome
de esponsi idade, p odu i idade e u ilização, espe i amen e. O sis ema ambém
pode á unciona inco e amen e e, nesse caso, diz-se que oco eu um e o. Nes e
caso, é impo an e classi ica os e os e de e mina as p obabilidades de cada classe de
e os. O sis ema ambém pode á não da esul ado nenhum, o que se aduz numa
alha do mesmo. Mais uma ez, é impo an e classi ica os casos de alha e de e mina
as p obabilidades com que al acon ece. A es es ês casos ge ais denominam-se po
apidez, con iabilidade e disponibilidade como se pode e na igu a 4(Jain, Raj,1991,
p.63).
Figu a 4: Tipos de esul ado de um se iço. Adap ada de Jain, Raj (1991).
4.Elenca pa âme os:
a lis agem de pa âme os consis e em ano a odos os aspe os que
pode ão in luencia a pe o mance dos se iços do sis ema. Nes a lis agem não es ão
1.3. Mé odos e Técnicas 19
apenas incluídas pa icula idades do sis ema em análise, mas ambém ca ac e ís icas
de ha dwa e eso wa e do u ilizado do se iço. Po exemplo, apidez do CPU local e
apidez do CPU emo o (Jain, Raj,1991, p.50).
5.Seleciona a o es a es uda :
da lis a de pa âme os elabo ada no passo an e io ,
pode-se aze a dis inção en e pa âme os que ão a ia du an e a a aliação e os
que não se a iam. Aqueles que i ão a ia chamam-se de ac o es, e os seus alo es
denominam-se ní eis. A í ulo de exemplo, ao a alia um se ido web pode-se a ia
o núme o de u ilizado es a ealiza pedidos ( a o ). Pa a o e ei o, podem-se c ia
wo kloads com dois ní eis de u ilizado es: pequeno e g ande (Jain, Raj,1991, p.50).
6.Seleciona écnicas de a aliação:
exis em ês écnicas ge ais de a aliação de desem-
penho: modelação analí ica, simulação e a aliação de um sis ema eal. A modelação
analí ica passa po c ia modelos ma emá icos do sis ema e p e e os esul ados a a és
da esolução de equações. A simulação é uma ap oximação mais p á ica do p oblema.
Nes a si uação, a simulação pode á se conc e izada a a és do uso de p og amas
de simulação ou da elabo ação de um sis ema p o ó ipo, que, po exemplo, pode á
simula apenas empos de epos a. Po úl imo, emos a a aliação num sis ema eal, que,
como o nome indica, consis e em es a um sis ema já desen ol ido comple amen e
(Jain, Raj,1991, p.52). A conside ação cha e que se de e e na escolha da écnica de
a aliação é a e apa do ciclo de ida em que sis ema se encon a.
7.Seleciona o wo kload:
owo kload ou ca ga de abalho consis e num conjun o de
pedidos ao se iço do sis ema. O wo kload depende em g ande pa e da écnica de
a aliação escolhida. Exempli icando, pa a uma modelação analí ica a ca ga de abalho
pode á se a p obabilidade da eceção de pedidos, enquan o que numa a aliação a um
sis ema eal ge almen e são elabo ados sc ip s, que se ão execu ados no sis ema al o
ou numa máquina ex e na, onde se ealiza á pedidos ao sis ema. A ca ga de abalho
de e á se semelhan e à ca ga que o sis ema e ia numa si uação eal (Jain, Raj,1991,
p.52).
8.Planea expe iências:
assim que es ão eunidas a lis a de a o es e os seus ní eis, é
necessá io p og ama qual a sequência de expe iências, de o ma a ex ai o máximo
de in o mação com o mínimo de es o ço. É comum numa p imei a ins ância ealiza
a expe iência com um ele ado núme o de a o es e um núme o eduzido de ní eis e
depois, se necessá io, e aze a expe iência com os a o es mais impac an es e uma
quan idade supe io de ní eis (Jain, Raj,1991, p.52).
A segunda ase, com meno núme o de passos, mas, não obs an e, menos abalhosa, é a
ase de in e p e ação dos dados e ap esen ação de conclusões.
1.4. O ganização do Documen o 20
1.Analisa e in e p e a os dados:
um dos passos mais impo an es é p ecisamen e
a comp eensão dos dados esul an es da expe iência. No en an o, é necessá io e
em con a que os esul ados podem a ia de expe iência pa a expe iência. Po an o,
é necessá io aplica alguma me odologia es a ís ica, de o ma a e i a conclusões
ace adas (Jain, Raj,1991, p.52).
2.Ap esen a esul ados:
po im, a úl imo e apa é e e en e à ap esen ação dos dados,
ou seja, são comunicados os esul ados ao es o da equipa, mais especi icamen e aos
memb os que es ão enca egues da omada de decisões (Jain, Raj,1991, p.53).
Con udo, se o necessá io ex ai mais esul ados e p epa a no os es es de e-se ol a a
e e odo o planeamen o. Daí a me odologia se cíclica.
1.4 o ganização do documen o
A p esen e disse ação encon a-se di idida em 4capí ulos. No Capí ulo 1, ap esen a-se o
con ex o e os mo i os que le a am a que o ema osse c iado e p opos o, os objec i os e e-
sul ados espe ados no inal da disse ação; ap esen am-se mé odos e écnicas desen ol idas
pa a o ganiza que a pesquisa bibliog á ica que a compa ação de soluções.
No segundo capí ulo, ap esen a -se a si uação a ual dos ecu sos da emp esa. Especi icam-
se os ecu sos u ilizados, que de ha dwa e e so wa e, e o uncionamen o do se iço de
simila idade de imagens.
No e cei o capí ulo, encon a-se o es ado da a e de á ias á eas de in e esse. Cada á ea
possui a sua secção e a p imei a é Cloud Compu ing (3.1), pois é o ambien e onde eside a
solução pa a a p oblemá ica em ques ão. Nes a secção, é explici ado o concei o e cla i ica-se,
não só sob e os modelos de implemen ação, como ambém sob e os modelos de se iço.
Na segunda secção, são explo ados ou os se iços/emp esas, no domínio das ecnologias
de au en icação e o seu uncionamen o. Numa e cei a secção, são discu idos mé odos de
decisão en e á ios se iços.
No qua o capí ulo, desc e e-se odo o abalho p á ico le ado a cabo du an e a esc i a
des a disse ação. Nes e capí ulo são explicados os es es que o am le ados a cabo, a
colocação do se iço de alidação num docke con aine e a u ilização de kube n es, assim
como as di e sas a qui e u as u ilizadas.
No quin o e úl imo capí ulo, az-se uma e lexão sob e o abalho ealizado e ponde a-se
sob e o abalho a ealiza u u amen e.
2
ENQUADRAMENTO DA UN1QNX
O es udo do ambien e do p oblema dema ca-se como um passo c ucial na esolução desse
mesmo p oblema. Um planeamen o e e i o eque um conhecimen o, an o do domínio da
aplicação (ambien e do p oblema) e do domínio da solução (He ne e al.,2004, p.85).
Na Secção "Con ex o e Mo i ação"(1.1) da in odução o p oblema já oi expos o, oda ia,
nes e capí ulo, i ão se explo ados mais de alhadamen e alguns aspe os do domínio do
p oblema.
2.1 uncionamen o do se iço de alidação
As e ique as p oduzidas não se em apenas pa a p o a a au en icidade do p odu o associ-
ado ao consumido inal. Também são u ilizadas pa a p o a a genuinidade do p odu o ao
longo do seu ciclo de ida, po exemplo, an es e depois do seu a mazenamen o, o p odu o é
susce í el de se alidado, a im de a e igua a oco ência de aude. Na Figu a 5é possí el
isualiza es a possí el u ilização.
Figu a 5: Funcionamen o do se iço de au en icação. Fo necida pela UN1Qnx.
21
2.1. Funcionamen o do Se iço de Validação 22
Todos os pedidos de alidação ealizados são en iados a um se iço disponibilizado
a a és de uma Applica ion P og amming In e ace (API) (Valida ion se ice na Figu a 5).
Um Windows Se e a ende os pedidos e u iliza um execu á el Py hon, que p ocede ao
p é-p ocessamen o da imagem e, de seguida, à u ilização do modelo de ML, que de ol e o
g au de simila idade com a imagem i ada à e ique a com o mesmo código de ba as da
imagem cap u ada pelo u ilizado . Es e p ocesso pode se obse ado na seguin e Figu a (6).
Figu a 6: Se iço de alidação.
2.1.1Ciclo de Vida de uma E ique a
O ciclo de ida des as e ique as segue, ge almen e, os seguin es con o nos. Tudo começa
com a p odução das mesmas, seguindo-se o seu egis o a a és da cap u a de imagens da
e ique a, com ecu so a um sis ema ó ico dedicado, como se pode e na Figu a 7. A e ique a
pode á se 2D ou 3D, que se ão associadas a p odu os de gamas de p eços mais baixos ou
mais al os, espe i amen e.
2.1. Funcionamen o do Se iço de Validação 23
Figu a 7: E ique a 3D p oduzida pela UN1Qnx. Fo necida pela UN1Qnx.
De seguida, a e ique a é associada a um de e minado p odu o, sendo que, enquan o a
e ique a pe manece a iliada ao p odu o, é susce í el de se alidada (a a és da cap u a
de uma imagem com ecu so a um sma phone), e i icando-se assim a au en icidade do
p odu o. Pos e io men e, no a o de enda ou nou o e en o, a e ique a pode á se desa i ada,
o nando-se assim in álida. Na Figu a 8pode e -se uma ep esen ação g á ica das á ias
e apas.
Figu a 8: Ciclo de ida de uma e ique a. Fo necida pela UN1Qnx.
3.1.Cloud Compu ing 30
exemplo, na e olução de legislação e di ei o do mundo i ual (And ade e al.,2005) e a é na
possibilidade de a a disposi i os ele ónicos como pessoas ju ídicas (And ade e al.,2007).
São á ias as aplicações das ecnologias na cloud e as emp esas que as u ilizam. Tendo
em con a que um dos obje i os do p esen e ela ó io é a explo ação de ecnologias cloud,
segundo um modelo de implemen ação público, expõem-se de seguida alguns exemplos da
u ilização do mesmo na indús ia.
O Millenium BCP (Banco Come cial Po uguês) é um banco po uguês e u iliza o Mic oso
Azu e com a inalidade de ealiza os seus wo kloads e pa a hospeda a sua aplicação. Faz
uso de um cloud híb ida, pois, sendo um banco, p ocessa in o mação sensí el, que é a ada
na nu em da o ganização. Con udo, in o mação que não é con idencial é a ada na nu em
pública. Também é ele an e e e i que a aplicação mó el, que az amplo uso da cloud,
des e banco oi p emiada pela Global Finance com o p émio de "Bes Digi al Bank Awa d
2020"(Ceb ian e al.,2020).
A Fa e ch, uma pla a o ma que ope a no me cado da moda de luxo, ambém emp ega
cloud pública (Mic oso Azu e). Sob a supe ície do seu websi e, a Fa e ch az um uso
mui issímo a iado de ML, pa a que o u ilizado enha uma expe iência pe sonalizada e
ao ní el dos p odu os que comp a na pla a o ma. A í ulo de exemplo: p e e ências êm
impac o nos esul ados de pesquisa e no que é suge ido ao u ilizado ; se um u ilizado
pesquisa po " es ido e melho", exis e um p ocesso que i á suge i p odu os, que do
esul ado da análise das suas imagens sejam ex aídas ais pala as-cha e; a pla a o ma
ende peças de es uá io com s ock bas an e limi ado e que são endidas, an o na pla a o ma
como na bou ique ísica, e, pa a que um u ilizado online não comp e um p odu o que já es á
esgo ado, ambém exis e um modelo que p e ine es as si uações. Es as são apenas algumas
u ilizações de ML na Fa e ch (Ba is a e al.,2020).
3.1.4Modelos de Se iço
Gene alizando, odas os modelos de implemen ação de compu ação na nu em se em pa a
se em se i os seus u ilizado es. Con udo, a o ma como são u ilizados e se ap esen am ao
u ilizado a iam. Exis e ês modelos de se iço e encon am-se elencados de seguida.
•IaaS:
O u ilizado em acesso a ecu sos compu acionais di e sos, ge almen e a ecu -
sos de p ocessamen o, a mazenamen o e ne wo ks, en e ou os (Miyachi,2018, p.7). A
i ualização é usada equen emen e, de o ma a possibili a o aumen o ou diminui-
ção, de uma manei a ad-hoc, do uso de ecu sos ísicos, a im de i de encon o com as
necessidades (Abbaso ,2014, p.2). No en an o, o consumido não ealiza a ges ão de
nenhuma in aes u u a, mas em o con olo, po exemplo, sob e sis emas ope a i os,
a mazenamen o e sob e ce os aspe os de ne wo king (Miyachi,2018, p.7). Na Figu a
3.1.Cloud Compu ing 31
11, pode -se-á e com mais de alhe as esponsabilidades do u ilizado /cloud p o ide ,
no que diz espei o a IaaS.
•PaaS:
É a capacidade dada ao consumido de pode implemen a e lança pa a
p odução aplicações c iadas pelo mesmo. É de no a que consumido apenas pode
u iliza linguagens de p og amação, li a ias, se iços e e amen as supo adas pelo
o necedo de cloud. Nes e modelo de se iço, o consumido não em con olo sob e
sis emas ope a i os, se ido es e a mazenamen o, como no IaaS. Con udo, pode e
con olo sob e algumas con igu ações do ambien e em que es á hospedada a aplicação
(Miyachi,2018, p.7).
•SaaS:
Ao consumido é dada a capacidade de u iliza aplicações que es ão em uncio-
namen o numa in aes u u a de cloud. O consumido acede a es as aplicações que
a a és do na egado web ou a a és de p og amas. Nes e con ex o, o consumido
ealiza apenas a ges ão de algumas con igu ações especí icas pa a o mesmo (Miyachi,
2018, p.7).
As p incipais di e enças en e modelos de se iço de em-se, essencialmen e, ao g au de
ges ão ei a que pelo u ilizado , que pelo o necedo de ecu sos, como se pode isualiza
na Figu a 11.
Figu a 11: Di isão de esponsabilidades nos modelos de se iço. Adap ada de Simo jay (2017).
O modelo IaaS segue o modelo de esponsabilidade pa ilhada, is o é, o consumido ge e
o so wa e e o cloud p o ide ge e o ha dwa e. O modelo PaaS pe mi e que o consumido se
3.2. Conco ência 32
oque na solução que es á a desen ol e , pois esponsabilidades como sis emas ope a i os
ou ins alação de biblio ecas não são do enca go des e. No modelo SaaS, o consumido
u iliza a solução de ou em e apenas con igu a alguns aspe os de uso pessoal e os dados
que são inse idos. Po exemplo, no O ice 365 é possí el con igu a o ipo de le a com que
se p e ende esc e e (con igu a ) e elabo a (inse i ) o ex o (dados).
Na Tabela 3é possí el isualiza alguns exemplos de cada um dos ipos de modelo de
se iço.
Tabela 3: Exemplos dos modelos de se iço
Modelo de Se iço Exemplos
IaaS
Windows Azu e Vi ual Machines, AWS EC2, Google Com-
pu e Engine
PaaS
Azu e Kube ne es Se ice, Azu e SQL Da abases, AWS
Lambda
SaaS D opbox, Mic oso O ice 365, Gmail
3.2 conco ência
Nes a secção são ap esen adas emp esas na mesma á ea de negócio da UN1Qnx. A in es i-
gação aqui ap esen adas oi ealizada com o in ui o de examina o que as ou as emp esas
o e ecem, p incipalmen e em e mos de apidez e qualidade do se iço.
3.2.1Au hen ic Vision
AAu hen ic Vision é uma emp esa aus íaca que o nece ecnologias de an i-con a ação e de
au en icação (Vison,2021). Ope a nos me cados de lub i ican es, ma cas e licenciamen o
de ecnologia, inhos e bebidas espi i uais, ag oquímicos, peças au omó eis, p odu os
indus iais e p odu os de saúde (Vision,2021a).
A o ma como a p o a de au en icidade unciona é bas an e semelhan e à da UN1Qnx. As
e ique a da Au hen ic Vision é compos a po duas componen es dis in as: um Quick Response
Code (QR Code) e uma componen e ge ada alea o imen e, cuja a p óp ia emp esa a i ma não
consegui duplica (Vision,2021c), que se aduz num holog ama de co es semelhan e ao da
Figu a 12 (como o encon ado nas bandas holog á icas das no as de eu o).
3.2. Conco ência 33
Figu a 12: E ique a holog á ica. Re i ada de Vision (2021c).
A alidação e e i icação da au en icidade de um p odu o é ealizada a a és de uma
aplicação pa a sma phone e segue dois passos simples:
• Cap u a uma imagem do QR Code;
•
Se o QR Code o álido são necessá ias cap u as do holog ama de á ios ângulos e
com boa luminosidade;
Após os cump i os passos lis ados an e io men e, a aplicação dá a sua epos a e indica se
o p odu o é con a ei o ou não, demo ando apenas segundos (Vision,2021b, p.10).
3.2.2Visua
AVisua é uma emp esa undada em 2012 e em a sua sede em Dublin na I landa. Não ope a
em nenhum me cado especí ico, mas a aplicabilidade do seu concei o é conside a elmen e
ampla. Disponibiliza se iços de alidação e au en icação de p odu os, mas não inclui
nenhuma componen e ísica (e.g., e ique a, selos, e c), azendo uso apenas de in eligência
a i icial (Visua,2021a).
O se iço é disponibilizado a a és de uma API e apenas é necessá io subme e imagens de
um p odu o. Mais a de, quando se p e ende e i ica a sua au en icidade, bas a cap u a
imagens do mesmo e uma espos a de a i ma i o/nega i o se á de ol ida consoan e a
simila idade com as imagens subme idas.
No que diz espei o a desempenho, decla am que o seu se iço é al amen e escalá el
(Visua,2021b), p eciso e imedia o (Visua,2021a).
3.2. Conco ência 34
3.2.3Zo ag
AZo ag é uma emp esa com p esença em á ios países ais como Es ados Unidos da
Amé ica, México, China e Índia. De odas as emp esas conco en es analisadas es a é a que
possuí o p odu o mais idên ico ao da UN1Qnx.
A sua e ique a é cons i uída po um código QR e po pa ículas 3D dis ibuídas alea o ia-
men e, al como na Figu a 13. Con udo, a semelhança com a UN1Qnx não se ica apenas
pela e ique a, mas ambém pelo sis ema de alidação, que é ei o a a és da cap u a de uma
imagem, u ilizando a aplicação da Zo ag.
Figu a 13: E ique a 3D. Re i ada de Zo ag (2021).
3.2.4Ce ilogo
ACe ilogo é uma emp esa undada em 2006 e o seu p odu o, à semelhança das es an es
emp esas, consis e numa e ique a que é colocada no p odu o.
A e ique a p oduzida po es a emp esa pode á se cons i uída po ês componen es
dis in as, que se aduzem em ês o mas de alida o p odu o. Essas componen es são um
código QR, um código numé ico denominado código CLG e uma componen e que pe mi e
alidação po NFC como se pode e na Figu a 14.
Figu a 14: E ique a da Ce ilogo. Re i ada de Ce ilogo (2021).
3.3. Seleção de Se iços de Cloud Compu ing 35
Nes e caso, is o que exis em múl iplas o mas de alida um p odu o, o p ocesso é
dis in o. Se a alidação o a a és de QR, em de se cap u ada uma o og a ia, se o pelo
código CLG, pode á se i ada uma imagem ou pode á se inse ido manualmen e e, po
úl imo, se a alidação o ei a po NFC, quem alida e á de e a aplicação ins alada num
disposi i o compa í el com a ecnologia NFC.
3.3 seleção de se iços de cloud compu ing
3.3.1Analy ic Hie a chy P ocess
OAnaly ic Hie a chy P ocess (AHP), usado como um mé odo de Mul iple C i e ia Decision
Analysis (MCDA), é bas an e conhecido e amplamen e usado (Whaiduzzaman e al.,2014,
p.459377), que em MCDA, que em planeamen o, alocação de ecu sos e esolução de
con li os (Saa y,1987, p.161).
O seu c iado de ine-o como "uma eo ia de medição ela i a de c i é ios in angí eis"(Saa y,
2014). T a a-se de uma medição ela i a, pois, um dos passos p incipais logo após de ini os
c i é ios é compa a pa -a-pa a p io idade en e os mesmos, o que esul a numa ma iz de
compa ação.
Sun e al. (2013) ealiza uma seleção de se iços médicos na nu em cen ada em p e e ên-
cias do u ilizado , o que demons a a e sa ilidade e u ilidade e compa ação de soluções
en e á ios pon os de is a. Fo am selecionados como seus c i é ios o desempenho, a
segu ança e o cus o. Des es ez uma subdi isão em subc i é ios mais especí icos, como se
pode obse a na Tabela 4.
3.3. Seleção de Se iços de Cloud Compu ing 36
Tabela 4: C i é ios usados po Sun. Adap ada de Sun e al. (2013).
C i é io Subc i é io Desc ição
Pe o mance Tempo de Respos a
Tempo medido en e en io do
pedido e eceção da espos a.
Th oughpu
Quan idade de pedidos
concluídos po unidade de
empo.
Segu ança Disponibilidade
Se o se iço exis e e es á dis-
poní el ins an aneamen e.
Con iabilidade G au de ce za do se iço.
Cus o Cus o
O p eço em que se inco e ao
u iliza o se iço.
Após a ealização de odos os cálculos, a solução escolhida oi ambém a que e a p e e ida
em e mos de con iabilidade, o que não é de es anha , is o que se a a de um se iço
médico.
Numa ou a in es igação, Rehman e al. (2012) le ou a cabo uma compa ação en e
máquinas i uais e u ilizou á ios mé odos. Iden i icou como c i é ios memó ia (GB), cus o
po ho a, CPU (CCU)
1
,IOP e memó ia (CCU). Os seus esul ados o am inconclusi os,
uma ez que mé odos di e en es iden i ica am máquinas di e en es como melho solução.
Não obs an e, apon ou TOPSIS,ELECTRE ePROMETHEE como melho es opções pa a
es e es udo. TOPSIS po se simples compu acionalmen e quando o núme o de opções é
ala gado e ELECTRE ePROMETHEE po se em melho es quando o núme o de se iços é
meno , mas a quan idade de c i é ios é as o (Rehman e al.,2012, p.251).
3.3.2Technique o O de o P e e ences by Simila i y o Ideal Solu ion
ATechnique o O de o P e e ences by Simila i y o Ideal Solu ion (TOPSIS) é um mé odo
de MCDA e manis es a p e e ência pela solução ideal (Whaiduzzaman e al.,2014, p.459378).
Foi p opos o em 1981 po Hwang e po Yoon e e e os seus úl imos desen ol imen os
em 1993 po Hwang, Lai e Liu. A ua en e edando semp e pela melho opção, endo como
me a a solução ideal (Tzeng, Gwo-Hshiung and Huang, Jih-Jeng,2011, p.69). Nos úl imos
abalhos que o am ei os é de inida como:
"The p oposed TOPSIS o MODM algo i hm is de eloped o sol ing mul iple
objec i e decision-making p oblems by conside ing wo e e ence poin s o he
1
Es a medida é um ag egado de á ios benchma ks de desempenho di e en es. Mais de alhes em
h p://blog.
cloudha mony.com/2010/05/wha -is-ecu-cpu-benchma king-in-cloud.h ml.
3.3. Seleção de Se iços de Cloud Compu ing 37
posi i e ideal solu ion and he nega i e ideal solu ion simul aneously. The basic
p inciple o comp omise o TOPSIS o MODM is ha he chosen solu ion should
be as close o he posi i e ideal solu ion as possible and as a away om he
nega i e ideal solu ion as possible."(Hwang e al.,1993, p.889)
Resumidamen e, o mé odo consis e em de ini a melho e pio soluções e um conjun o de
opções. De seguida, de en e odos as opções possí eis, é escolhida aquela que se encon a
mais p óxima da ó ima e mais a as ada da mais des an ajosa.
Em Lo e al. (2010) é u ilizado uma a ian e de TOPSIS denominada Fuzzy TOPSIS
e ambém o am idas em con a as opiniões de á ios consumido es. Es e mé odo em
como base c i é ios de escolha di usos ( uzzy), po exemplo, um se iço é quali icado pelos
consumido es numa escala de "Mui o pob e", "Pob e", "Mediano", "Bom"e "Mui o Bom"em
ez de uma escala numé ica. Es as opiniões são depois ans o madas em Fuzzy Numbe s e,
uma ez con e ida, a escala linguís ica numa escala numé ica, é aplicado o mé odo TOPSIS,
combinando as di e en es opiniões.
Exemplos mais p á icos da u ilização do mé odo Fuzzy TOPSIS são dados em Bo an e al.
(2009) e Cheng e al. (2011). Em Bo an e al. (2009) são selecionados cinco o necedo es de
peças au omó eis, com base em qua o c i é ios endo em con a a opinião de ês indi íduos.
Os c i é ios são:
• Qualidade do p odu o;
• P oximidade de elações;
• Rapidez da en ega;
• P eço.
E são ca ego izados segundo a escala o dinal mencionada an e io men e. Nes e exemplo, a
opinião de cada indi íduo ambém não é igual e em pesos dis in os na escolha da solução.
Em Cheng e al. (2011) selecionou-se a con igu ação de se iços de um esc i ó io com
base nos c i é ios "Luminosidade", "Tempe a u a"e "Humidade". Fo am iden i icados ês
se iços de iluminação, dois se iços de empe a u a e um de desumidi icação. Fo am
eunidas opiniões, segundo a mesma escala o dinal usada nos exemplos an e io es, de á ios
u ilizado es, cuja opinião em o mesmo peso.
4
DESENVOLVIMENTO
Nes e capí ulo, desc e e -se-á o desen ola do abalho p á ico, e e uado du an e a ealização
da p esen e disse ação.
4.1 explo ação de se iços cloud
O desen ol imen o da p esen e disse ação iniciou-se com a explo ação de ecnologias que
pudessem sa is aze as necessidades e obje i os impos os pela emp esa. Po an o, com
inalidade de a e igua quais as ecnologias mais ecen es na Mic oso Azu e que pode iam
se i essas necessidades, oi le ada a cabo uma in es igação. In es igação essa que esul ou
na descobe a das seguin es ecnologias:
•Azu e Machine Lea ning
•AKS
•Azu e Func ions
•Azu e Con aine Ins ances
•Azu e App Se ice
•Azu e Vi ual Machine Scale Se s
Numa p imei a ins ância, des as ecnologias, a que se e elou mais pe inen e o am os
Azu e Vi ual Machine Scale Se s.
Vi ual Machines Scale Se s pe mi em que um u ilizado c ie e aça a ges ão de conjun os
de máquinas i uais, sendo que o núme o de máquinas i uais pode á a ia consoan e a
demanda. Es a solução demons a-se a mais an ajosa, pois a solução a ual da emp esa já
se encon a numa MV. E, des e modo, os p ocessos de desen ol imen o da emp esa não
se iam al e ados.
Assim, endo em is a u iliza Vi ual Machine Scale Se s pa iu-se pa a os es es de
pe o mance.
38
4.2. Tes es de Pe o mance 39
4.2 es es de pe o mance
Uma ez escolhida uma possí el solução pa a a ança , o am planeados es es de pe o mance
que seguem a me odologia de inida na Subsecção 1.3.3.
4.2.1De inição do Sis ema
O obje i o do caso de es udo é compa a o desempenho de di e en es MV, que albe gam o
mesmo sis ema de alidação de e ique as. O sis ema é compos o pelo clien e, pelo canal e
pelo se ido . O se ido é compos o po uma máquina que albe ga o sis ema em ques ão.
A máquina onde es á a se execu ado o se iço é a componen e de es udo. O es udo se á
ei o de o ma a que o impac o de componen es ex e nas ao sis ema seja minimizado.
4.2.2Se iços
No se iço de alidação em ques ão, exis em dois ipos de pedido e dizem espei o a
um se iço: alidação de e ique as. Pa a ealiza uma alidação, é necessá io en ia ,
consecu i amen e, os dois ipos de pedido: um pedido do ipo Top e um do ipo Angle. Pa a
qualque um dos ipos de pedido en iado, os campos são os mesmos e apenas mudam ce as
con igu ações, pelo que o amanho do pedido não é conside ado impac an e no desempenho
do se iço.
4.2.3Mé icas
As mé icas selecionadas pa a a expe iência que i á se le ada a cabo se ão o empo po
pedido, h oughpu do sis ema e u ilização de ecu sos du an e a expe iência.
4.2.4Pa âme os
A cole a de pa âme os é uma pa e impo an e da me odologia de es es de desempenho,
pois, não só pe mi e ao analis a e i ica o impac o das ca ac e ís icas do sis ema, como
ambém es abelece que dados é que de e ão se ecolhidos. Os pa âme os eunidos são:
• Rapidez da ede de in e ne ;
• Rapidez do CPU local;
• Rapidez do CPU emo o;
•O e head do sis ema ope a i o ao lida com a ede
4.4. Colocação do se iço em Kube ne es 46
4.4.1P imei a A qui e u a
Na Figu a 19, ap esen a-se o diag ama da p imei a e mais simples de odas as a qui e u as
elabo adas. Es a a qui e u a consis e no se iço de alidação da UN1Qnx S.A. colocado num
docke con aine po pod, podendo um deploymen con e á ios pods. Es e deploymen é expos o
ao ex e io a a és de um se ice do ipo load balance . Já o núme o de pods é con olado
consoan e a pe cen agem de CPU u ilizado, sendo que es e aspe o é moni o izado pelo HPA.
Figu a 19: Diag ama da p imei a a qui e u a.
Con udo, após a u ilização des a p imei a a qui e u a o núme o de pedidos que esul a am
em e o, chegou aos 50%. Foi e i icada oda a ins alação e colocação do se iço de alidação
em docke e nenhum e o oi de e ado.
Após á ias e isões oi decidido que se a ia uso de Spec um-based Faul Localiza ion.
Es a écnica de es e consis e em conside a componen es ou condições e ealiza á ios
es es onde es as condições a iam. Os esul ados de em ge a uma ma iz semelhan e
à p esen e da Tabela 7, onde ambém se de e á gua da se o es e alhou ou não. Após
o egis o dos esul ados, pode -se-á p ocede ao cálculo dos coe icien es de Jacca d. Es e
coe icien e indica á qual a p obabilidade de cada uma das condições se a esponsá el pelo
e o con o me a g andeza do núme o, sendo quan o maio mais p obabilidade de aquela se
a causa do e o (Ab eu e al.,2007). O coe icien e é calculado da seguin e o ma:
4.4. Colocação do se iço em Kube ne es 47
J=M11
M01 +M10 +M11
Na qual as le as signi icam o seguin e:
•M11:Núme o de ezes em que a componen e es a a p esen e e o es e alhou;
•M01:Núme o de ezes em que a componen e não es a a p esen e e o es e alhou;
•M10:Núme o de ezes em que a componen e es a a p esen e e o es e não alhou.
Após as e isões ei as ao se iço, de ido ao ele ado núme o de e os, o am elabo adas
componen es pa a a ança com a Spec um-based Faul Localiza ion.
•Componen e 1(C.1): einício do se iço após o es e an e io ;
•Componen e 2:
imposição de limi es de ecu sos no ichei o de con igu ação do
deploymen kube ne es;
•Componen e 3:pedidos op eangle;
•Componen e 4:apenas pedidos op;
•Componen e 5:apenas pedidos angle;
•Componen e 6:se iços sepa ados pa a cada ipo de pedido.
Em seguida, elabo a am-se os es es dos quais esul ou a Tabela 7.
4.4. Colocação do se iço em Kube ne es 48
Tabela 7: Ma iz de semelhança de Jacca d, segundo os es es ealizados.
C. 1C. 2C. 3C. 4C. 5C. 6Fail
es e 1 1 1 1 0 0 0 1
es e 2 0 1 0 1 0 0 0
es e 3 0 1 0 0 1 0 1
es e 4 1 0 0 0 1 0 0
es e 5 1 1 0 0 1 0 0
es e 6 1 0 1 0 0 0 1
es e 7 1 0 0 1 0 0 0
es e 8 1 0 0 1 0 0 0
es e 9 1 0 0 0 1 0 0
es e 10 1 0 1 0 0 1 0
es e 11 1 0 1 0 0 0 1
es e 12 1 0 1 0 0 0 1
es e 13 1 0 1 0 0 1 0
es e 14 1 0 1 0 0 1 0
es e 15 1 1 1 0 0 1 0
Coe icien e de Jaca d 0.36 0.15 0.36 0 0.07 0 0
Disco endo sob e a Tabela 7, pode-se obse a que a causa mais p o á el de e o é ealiza
pedidos op eangle pa a um se iço único. Ado ou-se a u ilização de se iços dis in os pa a
cada ipo de pedido e daí su ge a segunda a qui e u a.
4.4.2Segunda A qui e u a
Da inadequação pa a a ende pedidos de ambos os ipos, nasce a segunda a qui e u a,
epsen ada na Figu a 20. É de no a que es a a qui e u a é bas an e semelhan e à p imei a,
com a simples di e ença de os pedidos se em encaminhados pa a se iços dedicados pa a
op eangle. Pa a al, ac escen ou-se um ing ess NGINX que ealiza essa iagem consoan e o
URL do pedido.
4.4. Colocação do se iço em Kube ne es 49
Figu a 20: Diag ama da segunda a qui e u a.
Con udo, após alguma u ilização des a a qui e u a, obse ou-se que a u ilização de HPA
baseados na u ilização de CPU não se ia a melho . Es a mé ica e elou-se inap a, uma ez
que, po decisão da emp esa, o se iço apenas p ocessa um pedido de cada ez, de ido à
g ande u ilização de ecu sos po p ocessamen o de um pedido. O que esul a ia em ní eis
de CPU cons an es, que consequen emen e não espole a iam nenhuma adição de ecu sos.
4.4. Colocação do se iço em Kube ne es 50
4.4.3Te cei a A qui e u a
Apesa das melho ias que a segunda a qui e u a ouxe, ainda ha iam dois p oblemas po
esol e que consis iam: a não pe sis ência dos pedidos, is o é, se um pedido alhasse o
mesmo não e a ei o no amen e e o usos inde ido da u ilização média de CPU como mé ica
de expansão e diminuição do se iço. Pa a o e ei o, desen ol eu-se uma e cei a a qui e u a,
que in oduziu um se ido desen ol ido em NodeJs e Exp ess a a ende os pedidos indos
do ex e io . Esse se ido ica ia esponsá el pela pe sis ência dos pedidos e do mesmo se
c ia iam o as que pe mi i iam ex ai mé icas mais adequadas, pa a dinamiza o se iço
como o núme o de pedidos Top eAngle.
OHPA, conside ado inadequado, con inua ia a se u ilizado, mas de uma o ma di e en e.
Des a ez, quando um de e minado pedido a ingisse o se ido NodeJs um con ado in e no
i ia se inc emen ado. De seguida, es as mé icas se iam ecolhidas pelo P ome heus e
no amen e ecolhidas pelo HPA, que aumen a iam ou diminuí am o núme o de pods
consoan e o alo de pedidos ei os nos úl imos minu os.
4.4. Colocação do se iço em Kube ne es 51
Figu a 21: Diag ama da e cei a a qui e u a.
4.4. Colocação do se iço em Kube ne es 52
No en an o, a a qui e u a ap esen ada na Figu a 21 deixou de se u ilizada, pois a emp esa
decidiu ado a uma es a égia que passa ia po u iliza pedidos assínc onos.
4.4.4Qua a A qui e u a
A qua a a qui e u a oi c iada, de ido ao ele ado empo de espos a a cada pedido, empo
esse que se de e io a ia aquando da chegada de múl iplos pedidos. Po an o, a emp esa
decidiu al e a a sua es a égia, enquan o que uma o imização do se iço de alidação
não é le ada a cabo. A es a égia passa o na a alidação de uma e ique a num p ocesso
assínc ono. Ou seja, an e io men e a es a a qui e u a um u ilizado ealiza um pedido e esse
pedido necessi a de ecebe uma espos a.
Na a qui e u a p esen e na Figu a 22 o clien e ealiza o pedido e ecebe uma espos a,
mas des a ez com a in o mação que esse mesmo pedido oi egis ado com sucesso pa a
pos e io p ocessamen o. O pedido é gua dado na ila co esponden e, con o me seja op ou
angle e pe manece nessa ila a é que o se iço de alidação o e i e da mesma. Es a mudança
de design pe mi e ambém que se simpli ique a a qui e u a e se elimine componen es, ais
como o ing ess ese ice, pois, des a ez, o se iço não ecebe pedidos, mas ai an es e i a
pedidos da ila.
4.4. Colocação do se iço em Kube ne es 53
Figu a 22: Diag ama da qua a a qui e u a.
Con udo, a eliminação de ing ess ese ices não oi a única mudança. Também se eliminou
oHPA, pois a u ilização de ilas pe mi iu que se u ilizasse ou os mé odos pa a muda
dinamicamen e o núme o de pods, nomeadamen e o núme o de pedidos em ila. Pa a al,
ez-se uso de KEDA.KEDA signi ica Kube ne es E en -d i en Au oscaling e, como o nome
indica, pe mi e que se aça escalonamen o au omá ico em Kube ne es. Es a componen e pode
se usada e em simul âneo com HPA e a é pe mi e que a uncionalidade seja es endida sem
in e e i com a já exis en e (KEDA,2021).
4.4. Colocação do se iço em Kube ne es 54
Vis o que o se iço se encon a ago a alojado em Kubene es, a isualização de imp essões
pa a o ec ã di icul a-se, pois es a é umas consequências da con aine ização, o que complica
odebug e a manu ençaõ do so wa e. A im de mi iga es e p oblema ez-se uso da s ack de
logging EFK , is o é, Elas icsea ch,Fluen d eKibana. O Fluen d é um cole o de dados que
pe mi e com que haja um camada de logging uni icada (Fluen d,2021) . Cada nó i á e
um agen e Fluen d e, po sua ez, cada agen e Fluen d i á en ia en ia os logs ecolhidos
pa a o Elas icsea ch. O Elas icsea ch ag upa os dados e disponibiliza e amen as de pesquisa
e análise sob e os mesmos (Elas icsea ch,2021). Po úl imo Kibana o nece uma in e ace
g á ica que pe mi e isualiza , pesquisa e analisa os dados ecolhidos (Kibana,2021).
De uma o ma esumida es as são as componen es da a qui e u a em igo :
1.queueangle: ila u ilizada pa a gua da pedidos do ipo angle;
2.queue op: ila u ilizada pa a gua da pedidos do ipo op;
3.Kibana: pe mi e isualiza os egis os cap u ados
4.Elas icsea ch: pe mi e analisa e pesquisa os egis os;
5.Fluen d: cap u a imp essões no ec ã ei as po aplicações den o do Kubene es;
6.KEDA:
moni o iza o amanho das ilas de o ma a con ola o escalonamen o de pods
do se iço de alidação;
7.Se iço de Validação Angle: alida pedidos do ipo angle;
8.Se iço de Validação Top: alida pedidos do ipo op;
Es u u a do código
O código ge ado oi o ganizado em duas di e o ias p incipais.
Obackends diz espei o à con igu ação da imagem docke , na qual es á o se iço de
alidação de e ique as.
No in as uc u e/kube ne es, encon a-se um conjun o de ichei os yaml que con êm oda a
con igu ação da in aes u u a kube ne es.
1backends........................ 1.
2in as uc u e/kube ne es....... 2.
Lis agem 4.1: Es u u a do eposi ó io
No diz espei o à pas a backends podemos e o seu con eúdo na lis agem a segui .
1heal hSe e .................... 1.
2con ig...................... 1.1
3con .js................. 1.2
4.4. Colocação do se iço em Kube ne es 55
4heal hSe e .js............. 1.3
5package-lock.json........... 1.4
6 alida eApp..................... 2.
7con ig...................... 2.1
8 app-con -angle.js...... 2.2
9 app-con - op.js........ 2.3
10 app-con .js............ 2.4
11 alida eApp.js.............. 2.5
12 package-lock.json........... 2.6
13 docke ile-angle................ 3.
14 docke ile- op.................. 4.
15 .docke igno e................... 5.
16 en ypoin .sh................... 6.
Lis agem 4.2: Es u u a da pas a backends
1.
Nes a di e o ia encon a-se o se ido pelo qual se pode a e igua o es ado de saúde
do p og ama.
1.1. Di e o ia onde se encon am ichei os de con igu ação do se ido .
1.2.
Fichei o de con igu ação que con ém á iá eis globais do p og ama. Exemplo:
nome de ichei os ela i os à saúde global do se iço.
1.3.
Fichei o ja asc ip onde se encon a o código que de ine o se ido de saúde do
se iço.
1.4. Fichei o onde se encon am de inidas as dependências do se ido .
2.
Di e o ia do se iço que alimen a o alidado com pedido de alidação caso exis am
pedidos em espe a na espe i a ila.
2.1. Di e o ia onde se encon am ichei os de con igu ação do se ido .
2.2.
Fichei o de con igu ação que con ém á iá eis globais da alida eApp pa a pedidos
do ipo Angle. A di e ença en e es e ichei o e o seguin e na lis agem é na a iá el
queuename. Nenhum des es ichei os é u ilizado em un ime. Con udo, em
build ime um des es ichei os subs i ui o ichei o " app-con .js", que é o u ilizado
pelo se iço em si em " alida eApp.js", consoan e se es eja a aze build de uma
imagem op ou angle.
2.3.
Fichei o de con igu ação que con ém á iá eis globais da alida eApp pa a pedidos
do ipo Top.
2.4.
Fichei o de con igu ação que con ém á iá eis globais da alida eApp. Es e ichei o
é o que é ealmen e u ilizado em un ime ( e 2.2.).
2.5. Fichei o ja asc ip onde se encon a o código que de ine o se iço node.
2.6. Fichei o onde se encon am de inidas as dependências do se ido .
BIBLIOGRAFIA
Babak Abbaso . Cloud Compu ing: S a e O The A Resea ch Issues. In 2014 IEEE 8 h
In e na ional Con e ence on Applica ion o In o ma ion and Communica ion Technologies (AICT),
pages 1–4. IEEE, oc 2014. ISBN 978-1-4799-4119-3. doi: 10.1109/ICAICT.2014.7035932.
URL h ps://ieeexplo e.ieee.o g/documen /7035932.
Rui Ab eu, Pe e Zoe eweij, and A jan J.C. an Gemund. On he accu acy o spec um-
based aul localiza ion. In Tes ing: Academic and Indus ial Con e ence P ac ice and Resea ch
Techniques - MUTATION (TAICPART-MUTATION 2007), pages 89–98,2007. doi: 10.1109/
TAIC.PART.2007.13.
Amazon. Wha is cloud compu ing, 2020. URL
h ps://aws.amazon.com/
wha -is-cloud-compu ing/?nc1=h_ls.
F ancisco And ade, José Ne es, Paulo No ais, José Machado, and An ónio Abelha. Legal
secu i y and c edibili y in agen based i ual en e p ises. In Luis M. Cama inha-Ma os,
Hamideh A sa manesh, and Angel O iz, edi o s, Collabo a i e Ne wo ks and Thei B eeding
En i onmen s, pages 503–512, Bos on, MA, 2005. Sp inge US. ISBN 978-0-387-29360-8.
F ancisco And ade, Paulo No ais, José Machado, and José Ne es. Con ac ing agen s:
legal pe sonali y and ep esen a ion. A i icial In elligence and Law,15(4):357–373, Dec
2007. ISSN 1572-8382. doi: 10.1007/s10506-007-9046-0. URL
h ps://doi.o g/10.1007/
s10506-007-9046-0.
Mic oso Azu e. Sé ies de máquinas i uais, 2020a. URL
h ps://azu e.mic oso .com/
p -p /p icing/de ails/ i ual-machines/se ies/.
Mic oso Azu e. O imiza os cus os com o azu e, 2020b. URL
h ps://azu e.mic oso .
com/p -p /o e iew/cos -op imiza ion/.
Alexand e Ba is a, B uno Bas o, and Moisés Soa es. Como cons ui a qui e u as co po a i as
escalá eis p epa adas pa a ai?, no 2020. URL h ps://bi .ly/3clmYOR.
And é B. Bondi. Cha ac e is ics o scalabili y and hei impac on pe o mance. In P oceedings
o he 2nd In e na ional Wo kshop on So wa e and Pe o mance, WOSP ’00, page 195–203,
New Yo k, NY, USA, 2000. Associa ion o Compu ing Machine y. ISBN 158113195X. doi:
10.1145/350391.350432. URL h ps://doi.o g/10.1145/350391.350432.
62
bibliog a ia 63
Fa ih Em e Bo an, Se kan Genç, Mus a a Ku , and Diya Akay. A mul i-c i e ia in ui ionis ic
uzzy g oup decision making o supplie selec ion wi h opsis me hod. Expe Sys ems
wi h Applica ions,36(8):11363 –11368,2009. ISSN 0957-4174. doi: h ps://doi.o g/
10.1016/j.eswa.2009.03.039. URL
h p://www.sciencedi ec .com/science/a icle/pii/
S0957417409002772.
Is an Ceb ian, Thiago Bo n, and Nuno Guedes. Como cons ui a qui e u as na i as com
kube ne es, se e less de ops?, dez 2020. URL h ps://bi .ly/3clmYOR.
Ce ilogo. T y he ce ilogo demo expe ience, 2021. URL h ps:// yme.ce ilogo.com/.
Ding-Yuan Cheng, Kuo-Ming Chao, Chi-Chun Lo, and Chen-Fang Tsai. A use cen ic se ice-
o ien ed modeling app oach. Wo ld Wide Web,14(4):431–459, Jul 2011. ISSN 1573-1413.
doi: 10.1007/s11280-011-0115-7. URL h ps://doi.o g/10.1007/s11280-011-0115-7.
Elas icsea ch. Elas icsea ch: The o icial dis ibu ed sea ch analy ics engine, 2021. URL
h ps://www.elas ic.co/elas icsea ch/.
Fluen d. Fluen d | open sou ce da a collec o | uni ied logging laye , 2021. URL
h ps:
//www. luen d.o g/.
Rakesh Ga g. Me hodology o esea ch I. Indian Jo nal o Anaes hesia,60(9):
640–645, sep 2016. ISSN 0019-5049. doi: 10.4103/0019-5049.190619. URL
h ps://www.ijaweb.o g/a icle.asp?issn=0019-5049;yea =2016; olume=60;issue=
9;spage=640;epage=645;aulas =Ga g.
Google. Wha is cloud compu ing ? google cloud, 2020. URL
h ps://cloud.google.com/
wha -is-cloud-compu ing.
Nikolas Roman He bs , Samuel Koune , and Ral Reussne . Elas ici y in cloud compu ing:
Wha i is, and wha i is no . In 10 h In e na ional Con e ence on Au onomic Compu ing
(ICAC 13), pages 23–27, San Jose, CA, June 2013. USENIX Associa ion. ISBN 978-1-
931971-02-7. URL
h ps://www.usenix.o g/con e ence/icac13/ echnical-sessions/
p esen a ion/he bs .
Alan R. He ne , Sal a o e T. Ma ch, Jinsoo Pa k, and Sudha Ram. Design Science
in In o ma ion Sys ems Resea ch. MIS Qua e ly,28(1):75–105, ma 2004. doi:
10.2307/25148625. URL
h p://www3.cis.gsu.edu/ aishna i/9220Sp07/Documen s/
He ne %20e %20al.%202004%20MISQ.pd .
He ne , Alan and Cha e jee, Sami . Design Science Resea ch in In o ma ion Sys ems.
2010. ISBN 978-1-4419-5653-8. URL
h ps://link.sp inge .com/chap e /10.1007/
978-1-4419-5653-8_2#ci eas.
bibliog a ia 64
Ching-Lai Hwang, Young-Jou Lai, and Ting-Yun Liu. A new app oach o mul iple objec i e
decision making. Compu e s Ope a ions Resea ch,20(8):889 –899,1993. ISSN 0305-0548.
doi: h ps://doi.o g/10.1016/0305-0548(93)90109-V. URL
h p://www.sciencedi ec .
com/science/a icle/pii/030505489390109V.
Jain, Raj. The A o Compu e Sys ems Pe o mance Analysis: Techniques o Expe imen al
Design, Measu emen , Simula ion, and Modeling. Wiley, 1991. ISBN 978-0-471-50336-1. URL
h ps://www.wiley.com/en-us/expo P oduc /pd /9780471503361.
KEDA. Keda | kube ne es e en -d i en au oscaling, 2021. URL h ps://keda.sh/.
Kibana. Kibana: Explo e, isualize, disco e da a | elas ic, 2021. URL
h ps://www.elas ic.
co/kibana/.
Miguel L. Bo e-Lo enzo, Yannis A. Dimi iadis, and Edua do Gómez-Sánchez. G id
Cha ac e is ics and Uses: A G id De ini ion. In G id Compu ing, pages 291–298.
Sp inge , Be lin, Heidelbe g, eb 2004. ISBN 978-3-540-24689-3. doi: h ps://doi.
o g/10.1007/978-3-540-24689-3_36. URL
h ps://link.sp inge .com/chap e /10.1007%
2F978-3-540-24689-3_36.
C. Lo, D. Chen, C. Tsai, and K. Chao. Se ice selec ion based on uzzy opsis me hod. In
2010 IEEE 24 h In e na ional Con e ence on Ad anced In o ma ion Ne wo king and Applica ions
Wo kshops, pages 367–372. IEEE, ap 2010. ISBN 978-1-4244-6702-0. doi: 10.1109/WAINA.
2010.117. URL h ps://ieeexplo e.ieee.o g/abs ac /documen /5480593.
Pe e Mell and Timo hy G ance. The NIST de ini ion o cloud compu ing: Recommenda ions
o he Na ional Ins i u e o S anda ds and Technology. In Public Cloud Compu ing: Secu i y
and P i acy Guidelines, pages 97–101. No a Science Publishe s, Inc., 2012. doi: h ps:
//doi.o g/10.6028/NIST.SP.800-145. URL
h ps://n lpubs.nis .go /nis pubs/Legacy/
SP/nis specialpublica ion800-145.pd .
Mic oso . Wha is cloud compu ing ? a beginne ’s guide mic oso azu e, 2020. URL
h ps://azu e.mic oso .com/en-us/o e iew/wha -is-cloud-compu ing/.
Ch is ine Miyachi. Wha is “Cloud”? I is ime o upda e he NIST de ini ion? IEEE Cloud
Compu ing,5(3):6–11, jun 2018. ISSN 2325-6095. doi: 10.1109/MCC.2018.032591611. URL
h ps://ieeexplo e.ieee.o g/documen /8383652.
Z. u. Rehman, O. K. Hussain, and F. K. Hussain. Iaas cloud selec ion using mcdm me hods.
In 2012 IEEE Nin h In e na ional Con e ence on e-Business Enginee ing, pages 246–251. IEEE,
eb 2012. ISBN 978-1-4673-2601-8. doi: 10.1109/ICEBE.2012.47. URL
h ps://ieeexplo e.
ieee.o g/abs ac /documen /6468246.
bibliog a ia 65
R.W. Saa y. The analy ic hie a chy p ocess—wha i is and how i is used. Ma he-
ma ical Modelling,9(3):161–176,1987. ISSN 0270-0255. doi: h ps://doi.o g/10.
1016/0270-0255(87)90473-8. URL
h p://www.sciencedi ec .com/science/a icle/
pii/0270025587904738.
Thomas L. Saa y. Analy ic Hei a chy P ocess. Ame ican Cance Socie y, 2014. ISBN
9781118445112. doi: h ps://doi.o g/10.1002/9781118445112.s a 05310. URL
h ps:
//onlinelib a y.wiley.com/doi/abs/10.1002/9781118445112.s a 05310.
Sales o ce. Who we a e - sales o ce emea, 2020. URL
h ps://www.sales o ce.com/eu/
company/abou -us/.
Fábio Sil a, Rica do Ma ins, Ma co Filipe Viei a Gomes, Alexand e Fe ei a da Sil a,
José Manuel Machado, Paulo No ais, and Cesa Analide. Cloud compu ing en i onmen s
o simula ion o adap able s anda dized wo k and elec onic wo k ins uc ions in indus y
4.0.2018.
F ank Simo jay. Sha ed esponsibili ies o cloud compu ing, ap 2017. URL h ps://que y.
p od.cms. .mic oso .com/cms/api/am/bina y/RE1KVsM.
Ma hew Smi h, Michael Engel, Thomas F iese, Be nd F eisleben, G ego y A. Koenig, and
William Yu cik. Secu i y issues in on-demand g id and clus e compu ing. In Six h
IEEE In e na ional Symposium on Clus e Compu ing and he G id (CCGRID’06), pages 14–
24. IEEE, may 2006. ISBN 0-7695-2585-7. doi: 10.1109/CCGRID.2006.1630919. URL
h ps://ieeexplo e.ieee.o g/documen /1630919.
M. Sun, T. Zang, X. Xu, and R. Wang. Consume -cen e ed cloud se ices selec ion using
ahp. In 2013 In e na ional Con e ence on Se ice Sciences (ICSS), pages 1–6. IEEE, may 2013.
ISBN 978-1-4673-6258-0. doi: 10.1109/ICSS.2013.26. URL
h ps://ieeexplo e.ieee.o g/
abs ac /documen /6519752.
Jayachande Su bi yala and Chunming Rong. Cloud Compu ing: His o y and O e iew. In
2019 IEEE Cloud Summi , pages 1–7. IEEE, aug 2019. ISBN 978-1-7281-3101-6. doi: 10.1109/
CloudSummi 47114.2019.00007. URL h ps://ieeexplo e.ieee.o g/documen /9045506.
Tzeng, Gwo-Hshiung and Huang, Jih-Jeng. Mul iple A ibu e Decision Making: Me hods
and Applica ions. Chapman and Hall/CRC, jul 2011. ISBN 9781439861578. URL
h ps://books.google.p /books?hl=p -PT&l =&id=_C7n1a 4 8IC&oi= nd&pg=PP1&dq=
Mul iple+A ibu e+Decision+Making:+Me hods+and+Applica ions&o s=5hhow045 N&
sig=CGXZMYj -cbIaF Ad3yxumXweh4& edi _esc=y# =onepage&q=Mul iple%20A ibu e%
20Decision%20Making%3A%20Me hods%20and%20Applica ions& = alse.
bibliog a ia 66
Au hen ic Vision. Ma ke s - au hen ic ison, 2021a. URL
h ps://www.au hen ic ision.
com/ma ke s/.
Au hen ic Vision. The oi o an i-coun e ei ing whi epape , 2021b.
URL
h ps://www.au hen ic ision.com/wp-con en /uploads/2021/01/
Whi epape -ROI-o -An i-Coun e ei ing_ inal-27.01.2021.pd .
Au hen ic Vision. Solu ions - au hen ic ison, 2021c. URL
h ps://www.au hen ic ision.
com/solu ions/.
Au hen ic Vison. Abou - au hen ic ison, 2021. URL
h ps://www.au hen ic ision.com/
abou /.
Visua. Coun e ei de ec ion powe ed by bes -in-class isual-ai, 2021a. URL
h ps:// isua.
com/coun e ei -de ec ion-powe ed-by- isual-ai/.
Visua. Visua - he isual-ai people, 2021b. URL
h ps:// isua.com/
isua- he- isual-ai-people/.
Md Whaiduzzaman, Abdullah Gani, No Bad ul Anua , Muhammad Shi az, Moham-
mad Nazmul Haque, and Is aa Tanzeena Haque. Cloud se ice selec ion using mul ic i-
e ia decision analysis. The Scien i ic Wo ld Jou nal,2014:459375–459385, Feb 2014. ISSN
2356-6140. doi: 10.1155/2014/459375. URL h ps://doi.o g/10.1155/2014/459375.
Zo ag. Zo ag - abou us, 2021. URL h ps://www.zo ag.com/Abou Us.
A
DEPENDÊNCIAS DO SERVIÇO DE VALIDAÇÃO
1absl-py==0.11.0
2al g aph==0.17
3as o ==0.7.1
4as oid==2.5.1
5cached-p ope y==1.5.2
6colo ama==0.4.4
7cssselec 2==0.3.0
8cycle ==0.10.0
9Cy hon==0.29.16
10 deco a o ==4.4.2
11 u u e==0.18.2
12 gas ==0.3.3
13 g pcio==1.35.0
14 h5py==2.10.0
15 ImageHash==4.0
16 imageio==2.9.0
17 impo lib-me ada a==3.4.0
18 iso ==5.7.0
19 Jinja2==2.10.1
20 Ke as==2.2.4
21 Ke as-Applica ions==1.0.8
22 Ke as-P ep ocessing==1.1.2
23 kiwisol e ==1.3.1
24 lazy-objec -p oxy==1.5.2
25 lxml==4.6.2
26 Ma kdown==3.3.3
27 Ma kupSa e==1.1.1
28 ma plo lib==3.0.3
29 mccabe==0.6.1
30 mock==4.0.3
31 ne wo kx==2.5
32 numpy==1.17.3
33 openc -py hon==4.1.2.30
34 pandas==0.24.2
35 pe ile==2019.4.18
67
68
36 Pillow==6.0.0
37 p o obu ==3.15.1
38 PyIns alle ==3.6
39 pylin ==2.7.2
40 pypa sing==2.4.7
41 py hon-da eu il==2.8.1
42 py z==2021.1
43 PyWa ele s==1.0.3
44 pywin32-c ypes==0.2.0
45 PyYAML==5.4.1
46 epo lab==3.5.42
47 sciki - uzzy==0.4.1
48 sciki -image==0.15.0
49 sciki -lea n==0.20.3
50 scipy==1.4.1
51 six==1.15.0
52 s glib==1.0.0
53 enso boa d==2.2.0
54 enso low==2.2.0
55 enso low-es ima o ==2.2.0
56 e mcolo ==1.1.0
57 inycss2==1.0.2
58 oml==0.10.2
59 o nado==6.0.2
60 qdm==4.32.2
61 yped-as ==1.4.2
62 yping-ex ensions==3.7.4.3
63 webencodings==0.5.1
64 We kzeug==1.0.1
65 w ap ==1.12.1
66 XlsxW i e ==1.1.8
67 zipp==3.4.0
Lis agem A.1: Dependências do Se iço de Validação.
B
FICHEIROS DE CONFIGURAÇÃO DO KUBERNETES
1apiVe sion:apps/ 1
2kind:Deploymen
3me ada a:
4namespace:de aul
5name: alida ion−se ice− op
6spec:
7se l ec o :
8ma chLabels:
9app: alida ion−se ice− op
10 empla e:
11 me ada a:
12 labels:
13 app: alida ion−se ice− op
14 spec:
15 a ini y:
16 nodeA ini y:
17 equi edDu ingSchedulingIgno edDu ingExecu ion:
18 nodeSelec o Te ms:
19 -ma chExp essions:
20 -key: ype
21 ope a o :In
22 alues:
23 - alida ion
24 e mina ionG acePe iodSeconds:60
25 con aine s:
26 -name: alida ion−se ice− op
27 image:un1qnxc . azu ec . io/ alida ion −se ice − op:la es
28 li ecycle:
69
70
29 p eS op:
30 exec:
31 command:
32 -sed −i ’/ un/ s/ ue/ alse/’ / app / alida eApp /
con ig / execu ion −con . json
33 imagePullPolicy:Always # I No P esen
34 esou ces:
35 eques s:
36 memo y:"2Gi" # Gi
37 cpu:"1300m"
38 limi s:
39 memo y:"3Gi"
40 cpu:"2000m"
41 po s:
42 -name:po − op
43 con aine Po :80
44 olumeMoun s:
45 -moun Pa h:/app/da a
46 name:images olume
47
48 s a upP obe:
49 h pGe :
50 pa h:/s a ed
51 po :po − op
52 ini ialDelaySeconds:90
53 ailu eTh eshold:100
54 pe iodSeconds:15
55 imeou Seconds:5
56
57 li enessP obe:
58 h pGe :
59 pa h:/heal h
60 po :po − op
61 ini ialDelaySeconds:600
62 pe iodSeconds:180
63 imeou Seconds:5
64 successTh eshold:1
65 ailu eTh eshold:2
71
66
67 olumes:
68 -name:images olume
69 azu eFile:
70 sec e Name:s o age −sec e
71 sha eName:image− olume/da a
72 eadOnly: alse
Lis agem B.1: Con igu ação do Deploymen Top.
1apiVe sion:apps/ 1
2kind:Deploymen
3me ada a:
4namespace:de aul
5name: alida ion −se ice −angle
6spec:
7se l ec o :
8ma chLabels:
9app: alida ion −se ice −angle
10 empla e:
11 me ada a:
12 labels:
13 app: alida ion −se ice −angle
14 spec:
15 a ini y:
16 nodeA ini y:
17 equi edDu ingSchedulingIgno edDu ingExecu ion:
18 nodeSelec o Te ms:
19 -ma chExp essions:
20 -key: ype
21 ope a o :In
22 alues:
23 - alida ion
24 e mina ionG acePe iodSeconds:60
25 con aine s:
26 -name: alida ion −se ice −angle
27 image:un1qnxc . azu ec . io/ alida ion −se ice −angle:la es
28 li ecycle:
29 p eS op:
30 exec:
D
SCRIPTS DE TESTE
1$ esou ceG oup = "..."
2$ mName = "..."
3
4# Gene al Pu pose GPU Op imized memo y Compu e Op imized
5$ msizes = @("S anda d_D4as_ 4","S anda d_NV4as_ 4","S anda d_E4as_ 4","S anda d_F4s_ 2")
6
7# S a Se e Va iables
8$execu ableName = "....exe"
9$s a Se e sSc ip = ". S a UN1QnxSe e s.ps1"
10 $po 1 = "8090"
11 $po 2 = "8091"
12
13 # Jme e Va iables
14 $exe = ’C: Use s Luis Desk op Disse acao Tes es apache-jme e -5.4 bin jme e .ba ’
15 $jmx ile = ’C: Use s Luis Desk op Disse acao Tes es jp@gc_Ul ima e_Th ead_G oup_10use s_p od.
jmx’
16 $ esul pa h = ’C: Use s Luis Desk op Disse acao Tes es Powe ShellSc ip s Tes es Resul ados ’
17
18 $beginning elic = 1
19 $ending eplic = 1
20 do {
21 $inpu begin alid = [in ]::T yPa se((Read-Hos ’De ( eplicas)?’), [ e ]$beginning elic)
22 $inpu end alid = [in ]::T yPa se((Read-Hos ’A e ( eplica)?’), [ e ]$ending eplic)
23 i ((-no $inpu begin alid) -o (-no $inpu end alid)) {
24 W i e-Hos "Nao o am inse idos in ei os..."
25 }
26 }while ((-no $inpu begin alid) -o (-no $inpu end alid))
27
28 Fo ($i=$beginning elic; $i -le $ending eplic; $i++) {
29
30 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Replica ’ $i
31
32 o each($ msize in $ msizes) {
33
34 W i e-Hos ’###########################################################################’
78
79
35 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> A p epa a pa a es a a maquina ’ $ mName ’
com o amanho ’ $ msize
36
37 # A ualiza amanho da maquina
38 while ($ ue) {
39 y {
40 $ m = Ge -AzVM -Resou ceG oupName $ esou ceG oup -VMName $ mName
41 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> A edimensiona a maquina...’
42 $ m.Ha dwa eP o ile.VmSize = $ msize
43 Upda e-AzVM -VM $ m -Resou ceG oupName $ esou ceG oup
44 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Maquina edimensionada.’
45 b eak
46 }
47 ca ch {
48 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> E o no edemensionamen o da maquina
.’
49 S a -Sleep -Seconds 10
50 }
51 }
52
53
54
55 # Liga maquina
56 while ($ ue) {
57 y {
58 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> A liga a maquina...’
59 S a -AzVM -Resou ceG oupName $ esou ceG oup -Name $ mName
60 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Maquina inicializada.’
61 b eak
62 }
63 ca ch {
64 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> E o a liga a maquina.’
65 S a -Sleep -Seconds 10
66 }
67 }
68
69
70 # Liga se ido es de alidacao
71 while ($ ue) {
72 y {
73 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> A liga se ido es de alidacao...’
74 In oke-AzVMRunCommand -Resou ceG oupName $ esou ceG oup -Name $ mName -CommandId
’RunPowe ShellSc ip ’ ‘
75 -Sc ip Pa h $s a Se e sSc ip -Pa ame e @{"a g1" = $po 1;"a g2" = $po 2
;"a g3"= $execu ableName}
76 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Vamos espe a um bocado...’
80
77 S a -Sleep -Seconds 900 # espe a 10 minu os que o se ido es es ejam ealmen e
ligados e a maquina epousada
78 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Se ido es ligados.’
79 b eak
80 }
81 ca ch {
82 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> E o a liga os se ido es.’
83 S a -Sleep -Seconds 10
84 }
85 }
86
87
88 # C ia con igu acoes iniciais pa a os es es
89 y {
90 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> A ealiza os benchma ks a maquina.’
91 $ba chDi ec o y = (Ge -Da e -Fo ma "dd-MM-yyyy")
92 $ esul Se = ’Replica’ +$i+’-’ + $ msize + ’-’ +(Ge -Da e -Fo ma "HH-mm-ss")
93 $ esul olde = $ esul pa h + $ba chDi ec o y + ’ ’ + $ esul Se + ’ ’
94 $ esul s ile = $ esul olde + $ esul Se + ’.cs ’
95 New-I em -Pa h $ esul pa h -Name $ba chDi ec o y -I emType "di ec o y" -Fo ce
96 New-I em -Pa h ($ esul pa h + $ba chDi ec o y) -Name $ esul Se -I emType "di ec o y
"-Fo ce
97 }
98 ca ch {
99 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> E o nos pedidos. A pa a m quina.’
100 S op-AzVM -Resou ceG oupName $ esou ceG oup -Name $ mName -Fo ce
101 }
102
103
104
105 # Inicia medicao do empo
106 $sw = [Diagnos ics.S opwa ch]::S a New()
107
108 # Inicia Tes es
109 $P ocessIn o = S a -P ocess -FilePa h "$exe" -A gumen Lis "-n - $jmx ile -l
$ esul s ile -e -o $ esul olde " -Wai -PassTh u
110
111 # Espe a que o es e e mine
112 I ($P ocessIn o.Exi Code -eq 0) {
113 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Tes e a maquina ’ $ msize ’ e minado’
114 }
115 Else {
116 # P og am encoun e ed an e o
117 W i e-Hos ’E o no es e’
118 }
119 $sw.S op()
120 $sw.Elapsed
81
121
122 # Pa a maquina
123 while ($ ue) {
124 y {
125 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> A pa a a maquina...’
126 S op-AzVM -Resou ceG oupName $ esou ceG oup -Name $ mName -Fo ce
127 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Maquina pa ada.’
128 b eak
129 }
130 ca ch {
131 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> E o na pa agem da maquina.’
132 S a -Sleep -Seconds 10
133 }
134 }
135
136 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Tes es na maquina ’ $ mName ’ com o amanho
’$ msize ’ e minados’
137 W i e-Hos ’###########################################################################’
138 }
139 }
140
141 W i e-Hos (Ge -Da e -Fo ma "HH-mm-ss")’> Tes es e minados’
142
143 S op-AzVM -Resou ceG oupName $ esou ceG oup -Name $ mName -Fo ce
Lis agem D.1: Tes a TodasMaquinasNVezes.ps1
1pa am(
2[s ing]$a g1,
3[s ing]$a g2,
4[s ing]$a g3
5)
6
7cd C: Use s un1qone Desk op un1qnx alida o
8
9S a -P ocess -Ve b unas -FilePa h "cmd.exe" -A gumen Lis "/C $a g3 $a g1"
10 S a -P ocess -Ve b unas -FilePa h "cmd.exe" -A gumen Lis "/C $a g3 $a g2"
Lis agem D.2: S a UN1QnxSe e s.ps1