Publicação
Probabilidade de sistemas de informação entre nuvens
| Resumo: | A ausência de Application Programming Interfaces (APIs) comuns aos mesmos serviços de diferentes fornecedores na Nuvem (Cloud) [78], limita a portabilidade das aplicações nesta plataforma, impedindo o aproveitamento de condições de exploração mais favoráveis que outro fornecedor venha a oferecer. Este problema ´e conhecido pelo nome de vendor lock-in [81, 62, 94]. Propostas como o JClouds [7] ou o mOSAIC [81] ajudam a criar aplicações agnósticas ao fornecedor, contudo não oferecem uma API única que abstraia as especificidades deste, pois requerem a seleção e configuração de componentes de código consoante o fornecedor escolhido, e introduzem código-morto (i.e., que nunca é executado) na aplicação dado o suporte a vários fornecedores por um mesmo componente. Neste trabalho ´e proposto um SDK (Software Development Kit) que permite abstrair três serviços comuns em duas nuvens populares: a Amazon Web Services [6] e a Google Cloud Platform [47]. Este SDK, designado por Nomad1, apresenta duas vantagens. Em primeiro lugar, o programador usa uma única API independentemente da nuvem escolhida, não sendo portanto preciso alterar a aplicação para suportar um novo fornecedor (entre os suportados), evitando-se igualmente o esforço e os erros inerentes a tal processo. Em segundo lugar, apenas o código-fonte estritamente necessário é incluído na aplicação, reduzindo o tamanho e aumentando a clareza desta, facilitando a sua testabilidade e facilidade de manutenção. O Nomad SDK foi criado no contexto do desenvolvimento duma aplicação empresarial para a S21sec, tendo sido determinante no estabelecimento da total portabilidade desta aplicação entre as nuvens indicadas. Este SDK abstrai os serviços de armazenamento de ficheiros, bases de dados SQL e máquinas virtuais, oferecendo meios, para o desenvolvimento e instalação de sistemas de informação na Nuvem. |
|---|---|
| Autores principais: | Mojoodi, Sasha André Fonseca |
| Assunto: | Nuvem Vendor lock-in Portabilidade Abstração Software agnóstico à nuvem Teses de mestrado - 2016 |
| Ano: | 2016 |
| País: | Portugal |
| Tipo de documento: | dissertação de mestrado |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade de Lisboa |
| Idioma: | português |
| Origem: | Repositório da Universidade de Lisboa |
| Resumo: | A ausência de Application Programming Interfaces (APIs) comuns aos mesmos serviços de diferentes fornecedores na Nuvem (Cloud) [78], limita a portabilidade das aplicações nesta plataforma, impedindo o aproveitamento de condições de exploração mais favoráveis que outro fornecedor venha a oferecer. Este problema ´e conhecido pelo nome de vendor lock-in [81, 62, 94]. Propostas como o JClouds [7] ou o mOSAIC [81] ajudam a criar aplicações agnósticas ao fornecedor, contudo não oferecem uma API única que abstraia as especificidades deste, pois requerem a seleção e configuração de componentes de código consoante o fornecedor escolhido, e introduzem código-morto (i.e., que nunca é executado) na aplicação dado o suporte a vários fornecedores por um mesmo componente. Neste trabalho ´e proposto um SDK (Software Development Kit) que permite abstrair três serviços comuns em duas nuvens populares: a Amazon Web Services [6] e a Google Cloud Platform [47]. Este SDK, designado por Nomad1, apresenta duas vantagens. Em primeiro lugar, o programador usa uma única API independentemente da nuvem escolhida, não sendo portanto preciso alterar a aplicação para suportar um novo fornecedor (entre os suportados), evitando-se igualmente o esforço e os erros inerentes a tal processo. Em segundo lugar, apenas o código-fonte estritamente necessário é incluído na aplicação, reduzindo o tamanho e aumentando a clareza desta, facilitando a sua testabilidade e facilidade de manutenção. O Nomad SDK foi criado no contexto do desenvolvimento duma aplicação empresarial para a S21sec, tendo sido determinante no estabelecimento da total portabilidade desta aplicação entre as nuvens indicadas. Este SDK abstrai os serviços de armazenamento de ficheiros, bases de dados SQL e máquinas virtuais, oferecendo meios, para o desenvolvimento e instalação de sistemas de informação na Nuvem. |
|---|