scieee Open visual document viewer

Otimização na alocação de recursos de cloud computing num serviço de autenticação de produtos

Braga, Luís Tiago Machado

Abstract

A UN1Qnx, S.A., soluções de autenticidade ciber-físicas, é uma empresa sediada em Braga, que desenvolve e comercializa sistemas físicos, eletrónicos e cibernéticos de validação e autenticação de produtos, sendo o objetivo a proteção da marca e o combate à contrafação. Neste momento, a empresa possui um serviço de autenticação de produtos localizado numa máquina virtual na cloud, mais especificamente na Microsoft Azure. Contudo, a utilização deste serviço é intermitente e passa por períodos de inatividade. Porém, quando utilizado, cada execução do serviço é computacionalmente custosa, o que obriga à utilização de uma máquina virtual que tem em conta o caso de máxima utilização. Assim, nos intervalos entre utilizações os custos acumulam-se sem aproveitar os recursos alocados. Deste modo, esta tese passa por otimizar a utilização dos recursos na cloud, tendo em vista tirar proveito da escalabilidade e elasticidade das tecnologias de computação na nuvem, bem como melhorar a latência dos pedidos. A otimização dos recursos passa por comparar diferentes serviços de diferentes forne cedores e selecionar o que se apresenta como a melhor opção. A fim de realizar estas comparações, fez-se antes uma investigação baseada na metodologia Design Science Research. Primeiramente, explorou-se o ambiente da solução (computação na nuvem) e o ambiente do problema, isto é, qual a situação atual da empresa no que diz respeito ao funcionamento do serviço de validação e dos recursos afetos ao mesmo. Em segundo lugar, fez-se uma averiguação sobre o estado da arte das tecnologias usadas, das tecnologias que poderiam vir a ser usadas e de outras empresas da mesma área, sobre quais os seus produtos e o seu modo de funcionamento. Por último, investigaram-se métodos de seleção e comparação entre várias opções. Em terceiro lugar, realizou-se a parte mais trabalhosa e demorada: o desenvolvimento prático. Nesta fase realizaram-se testes de performance, a colocação do serviço num docker container e a utilização de kubernetes. Ainda nesta última parte, houve vária experimentação com diversas arquiteturas. Por fim, o sistema estabilizou numa arquitetura assíncrona, que fez reduzir os custos e, permitiu com que o serviço se adequasse melhor à quantidade de trabalho a processar.

Full text

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