• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 32
  • 23
  • 6
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 76
  • 76
  • 24
  • 24
  • 23
  • 14
  • 14
  • 14
  • 13
  • 13
  • 13
  • 12
  • 11
  • 9
  • 9
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
51

Uma metodologia para caracterização de aplicações em ambientes de computação nas nuvens. / A methodology of application characterization in cloud computing environment.

Denis Ryoji Ogura 04 October 2011 (has links)
Computação nas nuvens e um novo termo criado para expressar uma tendência tecnológica recente que virtualiza o data center. Esse conceito busca um melhor aproveitamento dos recursos computacionais e dos aplicativos corporativos, virtualizados por meio de programas de virtualização de sistema operacional (SO), plataformas, infraestruturas, softwares, entre outros. Essa virtualização ocorre por intermédio de maquinas virtuais (MV) para executar aplicativos nesse ambiente virtualizado. Contudo, uma MV pode ser configurada de tal forma que seu desempenho poderá ter um atraso no processamento por conta de gargalo(s) em algum hardware alocado. A fim de maximizar a alocação do hardware na criação da MV, foi desenvolvido um método de caracterização de aplicações para a coleta de dados de desempenho e busca da melhor configuração de MV. A partir desse estudo, pode-se identificar pelo workload a classificação do tipo de aplicação e apresentar o ambiente mais adequado, um recomendado e não recomendado. Dessa forma, a tendência de se obter um desempenho satisfatório nos ambientes virtualizados pode ser descoberta pela caracterização dos programas, o que possibilita avaliar o comportamento de cada cenário e identificar situações importantes para seu bom funcionamento. Para provar essa linha de raciocínio, foram executados programas mono e multiprocessador em ambientes de monitores de maquinas virtuais. Os resultados obtidos foram satisfatórios e estão de acordo com cada característica de aplicação conhecida previamente. Porem, podem ocorrer situações de exceção nesse método, principalmente quando o monitor de maquinas virtuais, e submetido a processamentos intensos. Com isso, a aplicação pode ter um atraso no processamento por conta do gargalo de processamento no monitor de maquinas virtuais, o que modifica o ambiente ideal dessa aplicação. Portanto, este estudo apresenta um método para identificar a configuração ideal para a execução de um aplicativo. / Cloud computing represents a new age, raised to express a new technology trending that virtualizes the data center. This concept advanced to make a better use of the computational resources and corporate application, virtualizing through the programs of operating systems virtualization, platform, infrastructure, software, etc. This virtualization occurs through the virtual machine (VM) to execute virtualized applications in this environment. However, a VM may be configured in such a way that the performance delays on processing, due to overhead or other hardware allocation itself. In order to maximize the hardware allocation on MV creation, it was developed a methodology of application characterization to collect performance data and achieve the best VM configuration. After this study, based on workload metric, it is possible to identify the classification of the application type and present the best configuration, the recommended environment and the not recommended. This way, the trend to achieve a satisfactory performance in virtualized environment may be discovered through the program characterization, which possibly evaluate the behavior of each scenario and identify important conditions for its proper operation. In order to prove this argument, mono and multi core applications under monitors of virtual machines were executed. The collected results were satisfactory and are aligned with each previously known application characteristic. However, it may occur exceptions in this method, mainly when the monitor of the virtual machine monitor is submitted with high volume of processing.
52

The Provision of Non-Strictness, Higher Kinded Types and Higher Ranked Types on an Object Oriented Virtual Machine

Hunt, Oliver January 2007 (has links)
We discuss the development of a number of algorithms and techniques to allow object oriented virtual machines to support many of the features needed by functional and other higher level languages. These features include non-strict evaluation, partial function application, higher ranked and higher kinded types. To test the mechanisms that we have developed we have also produced a compiler to allow the functional language Haskell to be compiled to a native executable for the Common Language Runtime. This has allowed us to demonstrate that the techniques we have developed are practically viable.
53

FLEXVAPS: UM SISTEMA DE GERENCIAMENTO DE VIRTUAL APPLIANCES PARA MÁQUINAS VIRTUAIS HETEROGÊNEAS / FLEXVAPS: A VIRTUAL APPLIANCE MANAGEMENT SYSTEM FOR HETEROGENEOUS VIRTUAL MACHINES

Kreutz, Diego Luis 23 October 2009 (has links)
Conselho Nacional de Desenvolvimento Científico e Tecnológico / Virtual appliance is a new concept derived from the virtual machine monitors world. It is considered a data package that can be electronically distributed. Today, there area free and commercial virtual appliance repositories available on the market. These data packages are mostly composed by pre-configured and pre-optimized operating systems and applications joined to solve a specific computing problem. The growing virtual machine monitor market has lead to a wide virtual appliance variety available to end users. This diversity naturally results in heterogeneous virtual machines, ie, instances of virtual appliances that run on different virtual machine monitors. Thus, this work has as main goal propose and prototype a virtual appliance management solution for heterogeneous virtual machines, something less explored until now. The aim is to provide end users the ability of managing different environments, using virtual appliances, such as computer labs, clusters, networks and other kinds of computing environments. Virtual appliance creation and maintenance is more practical and effective for both system administrators and end users. Moreover, the sharing of different virtual appliances avoids the waste of time and disk space, as usually occurs with traditional approaches. In this work it is proposed, prototyped and evaluated a system for managing virtual appliances for heterogeneous virtual machines. This system has proved to be feasible for using VAP repositories to manage networked machines and systems, simplifying the work of end users and system administrators. / Com o desenvolvimento e a proliferação dos monitores de máquinas virtuais, surgiu um novo conceito, uma nova tendência na área de virtualização de sistemas: virtual appliance. Este, segundo a origem da definição, é um pacote de dados que pode ser distribuído eletronicamente. Hoje, existem repositórios livres e comerciais de virtual appliances no mercado. Esses pacotes são constituídos por um sistema operacional e aplicativos configurados e otimizados para resolver um determinado problema computacional. Há uma grande variedade de virtual appliances, para os mais diversos monitores de máquinas virtuais, disponíveis aos usuários finais. Essa diversidade leva a máquinas virtuais heterogêneas, ou seja, instâncias de virtual appliances que são executadas sobre diferentes monitores de máquinas virtuais. Sendo assim, o objeto deste trabalho é desenvolver uma solução para o gerenciamento de virtual appliances para máquinas virtuais heterogêneas, algo ainda pouco explorado. O objetivo é proporcionar aos usuários finais a possibilidade de gerenciar ambientes diversos, como laboratórios de informática, aglomerados de computadores, redes de computadores e ambientes de pesquisa e produção em geral, utilizando-se da diversidade, flexibilidade e disponibilidade dos virtual appliances. Criar e manter esses pacotes de dados é algo mais prático e eficaz, tanto para administradores de sistemas, quanto para usuários finais. Ademais, compartilhar os diferentes virtual appliances evita desperdícios de tempo e espaço, como costuma ocorrer com abordagens tradicionais. Neste trabalho é proposto, prototipado e avaliado um sistema de gerenciamento de virtual appliances para máquinas virtuais heterogêneas. Este sistema demonstrou-se viável para o gerenciamento de repositórios de VAPs em parques de máquinas, simplificando o trabalho dos usuários finais e dos administradores de sistemas.
54

FLEXLAB : Middleware de virtualização de hardware para gerenciamento centralizado de computadores em rede /

Cruz, Daniel Igarashi. January 2008 (has links)
Orientador: Marcos Antônio Cavenaghi / Banca: Renata Spolon Lobato / Banca: Ronaldo Lara Gonçalves / Resumo: O gerenciamento de um conglomerado de computadores em rede é uma atividade potencialmente complexa devido à natureza heterogênea destes equipamentos. Estas redes podem apresentar computadores com diferentes configurações em sua camada de software básico e aplicativos em função das diferenças de configuração de hardware em cada nó da rede. Neste cenário, cada computador torna-se uma entidade gerenciada individualmente, exigindo uma atividade manual de configuração da imagem de sistema ou com automatização limitada à camada de aplicativos. Tecnologias que oferecem gestão centralizada, como arquiteturas thin-client ou terminal de serviços, penalizam o desempenho das estações e oferecem capacidade reduzida para atender um número crescente de usuários uma vez que todo o processamento dos aplicativos dos clientes é executado em um único nó da rede. Outras arquiteturas para gerenciamento centralizado que atuam em camada de software são ineficazes em oferecer uma administração baseada em uma imagem única de configuração dado o forte acoplamento entre as camadas de software e hardware. Compreendendo as deficiências dos modelos tradicionais de gerenciamento centralizado de computadores, o objetivo deste trabalho é o desenvolvimento do FlexLab, mecanismo de gerenciamento de computadores através de Imagem de Sistema Única baseado em um middleware de virtualização distribuída. Por meio do middleware de virtualização do FlexLab, os computadores em rede de um ambiente são capazes de realizar o processo de boot remoto a partir de uma Imagem de Sistema Única desenvolvida sobre um hardware virtualizado. Esta imagem é hospedada e acessada a partir de um servidor central da rede, padronizando assim as configurações de software básico e aplicativos mesmo em um cenário de computadores com configuração heterogênea de hardware, simplificando... (Resumo completo, clicar acesso eletrônico abaixo) / Abstract: Computer network management is a potentially complex task due to the heterogeneous nature of the hardware configuration of these machines. These networks may offer computers with different configuration in their basic software layer due to the configuration differences in their hardware layer and thus, in this scenario, each computer becomes an individual managed entity in the computer network and then requiring an individual and manually operated configuration procedure or automated maintenance restricted to application layer. Thin-client or terminal services do offer architectures for centralized management, however these architectures impose performance penalties for client execution and offer reduced scalability support in order to serve a growing number of users since all application processing is hosted and consume processing power of a single network node: the server. In the other hand, architectures for centralized management based on applications running over software layer are inefficient in offer computer management based on a single configuration image due to the tight coupling between software and hardware layers. Understanding the drawbacks of the theses centralized computer management solutions, the aim of this project is to develop the FlexLab, centralized computer management architecture through a Single System Image based on a distributed virtualization middleware. Through FlexLab virtualization middleware, the computers of a network environment are able to remote boot from a Single System Image targeting the virtual machine hardware. This Single System Image is hosted at a central network server and thus, standardizing basic software and applications configurations for networks with heterogeneous computer hardware configuration which simplifies computer management since all computers may be managed through a Single System Image. The experiments have shown that... (Complete abstract click electronic access below) / Mestre
55

FLEXLAB: Middleware de virtualização de hardware para gerenciamento centralizado de computadores em rede

Cruz, Daniel Igarashi [UNESP] 24 July 2008 (has links) (PDF)
Made available in DSpace on 2014-06-11T19:29:40Z (GMT). No. of bitstreams: 0 Previous issue date: 2008-07-24Bitstream added on 2014-06-13T18:39:30Z : No. of bitstreams: 1 cruz_di_me_sjrp.pdf: 2160735 bytes, checksum: 8010a7f3347625f0df8a2602dcebd330 (MD5) / O gerenciamento de um conglomerado de computadores em rede é uma atividade potencialmente complexa devido à natureza heterogênea destes equipamentos. Estas redes podem apresentar computadores com diferentes configurações em sua camada de software básico e aplicativos em função das diferenças de configuração de hardware em cada nó da rede. Neste cenário, cada computador torna-se uma entidade gerenciada individualmente, exigindo uma atividade manual de configuração da imagem de sistema ou com automatização limitada à camada de aplicativos. Tecnologias que oferecem gestão centralizada, como arquiteturas thin-client ou terminal de serviços, penalizam o desempenho das estações e oferecem capacidade reduzida para atender um número crescente de usuários uma vez que todo o processamento dos aplicativos dos clientes é executado em um único nó da rede. Outras arquiteturas para gerenciamento centralizado que atuam em camada de software são ineficazes em oferecer uma administração baseada em uma imagem única de configuração dado o forte acoplamento entre as camadas de software e hardware. Compreendendo as deficiências dos modelos tradicionais de gerenciamento centralizado de computadores, o objetivo deste trabalho é o desenvolvimento do FlexLab, mecanismo de gerenciamento de computadores através de Imagem de Sistema Única baseado em um middleware de virtualização distribuída. Por meio do middleware de virtualização do FlexLab, os computadores em rede de um ambiente são capazes de realizar o processo de boot remoto a partir de uma Imagem de Sistema Única desenvolvida sobre um hardware virtualizado. Esta imagem é hospedada e acessada a partir de um servidor central da rede, padronizando assim as configurações de software básico e aplicativos mesmo em um cenário de computadores com configuração heterogênea de hardware, simplificando... / Computer network management is a potentially complex task due to the heterogeneous nature of the hardware configuration of these machines. These networks may offer computers with different configuration in their basic software layer due to the configuration differences in their hardware layer and thus, in this scenario, each computer becomes an individual managed entity in the computer network and then requiring an individual and manually operated configuration procedure or automated maintenance restricted to application layer. Thin-client or terminal services do offer architectures for centralized management, however these architectures impose performance penalties for client execution and offer reduced scalability support in order to serve a growing number of users since all application processing is hosted and consume processing power of a single network node: the server. In the other hand, architectures for centralized management based on applications running over software layer are inefficient in offer computer management based on a single configuration image due to the tight coupling between software and hardware layers. Understanding the drawbacks of the theses centralized computer management solutions, the aim of this project is to develop the FlexLab, centralized computer management architecture through a Single System Image based on a distributed virtualization middleware. Through FlexLab virtualization middleware, the computers of a network environment are able to remote boot from a Single System Image targeting the virtual machine hardware. This Single System Image is hosted at a central network server and thus, standardizing basic software and applications configurations for networks with heterogeneous computer hardware configuration which simplifies computer management since all computers may be managed through a Single System Image. The experiments have shown that... (Complete abstract click electronic access below)
56

UM MODELO DE DETECÇÃO DE INTRUSÃO PARA AMBIENTES DE COMPUTAÇÃO EM NUVEM / A MODEL OF INTRUSION DETECTION FOR ENVIRONMENTS OF CLOUD COMPUTING

ARAÚJO, Josenilson Dias 28 June 2013 (has links)
Made available in DSpace on 2016-08-17T14:53:24Z (GMT). No. of bitstreams: 1 Dissertacao Josenilson.pdf: 3842701 bytes, checksum: 33761f8b37e7f3c354f33c31fcb658cf (MD5) Previous issue date: 2013-06-28 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / The elasticity and large consumption of computational resources are becoming attractive for intruders to exploit the cloud vulnerabilities to launch attacks or have access of private and privileged data of cloud users. In order to effectively protect the cloud and its users, the IDS must have the capability to quickly scale up and down the quantity of sensors according to the resources provisioned, besides of isolating the access to the system levels and infrastructure. The protection against internal cloud threats must be planned because of the non-adequate threatening identification system in most protection systems. For this, the proposed solution uses virtual machines features as fast recovery, start, stop, migration to other hosts and cross-platform execution in IDS based VM, to monitor the internal environment of the cloud virtual machines by inserting data capture sensors at the local network of the VM users, this way, it can detect suspicious user behaviors. / A elasticidade e abundante disponibilidade de recursos computacionais são atrativos para intrusos explorarem vulnerabilidades da nuvem, podendo assim lançar ataques contra usuários legítimos para terem acesso a dados privados e privilegiados. Para proteger efetivamente os usuários da nuvem, um Sistema de Detecção de Intrusão ou IDS deve ter a capacidade de expandir-se, aumentado ou diminuindo rapidamente a quantidade de sensores, de acordo com o provisionamento de recursos, além de isolar o acesso aos níveis de sistema e infraestrutura. A proteção contra ameaças internas na nuvem deve ser planejada, pois a maioria dos sistemas de proteção não identifica adequadamente ameaças internas ao sistema. Para isso, a solução proposta utiliza as características de máquinas virtuais como rápida inicialização, rápida recuperação, parada, migração entre diferentes hosts e execução em múltiplas plataformas na construção de um IDS que visa monitorar o ambiente interno de máquinas virtuais da nuvem, inserindo sensores de captura de dados na rede local das VMs dos usuários, podendo assim detectar comportamentos suspeitos dos usuários.
57

Elasticity in IaaS Cloud, Preserving Performance SLAs

Dhingra, Mohit January 2014 (has links) (PDF)
Infrastructure-as-a-Service(IaaS), one of the service models of cloud computing, provides resources in the form of Virtual Machines(VMs). Many applications hosted on the IaaS cloud have time varying workloads. These kind of applications benefit from the on-demand provision ing characteristic of cloud platforms. Applications with time varying workloads demand time varying resources in IaaS, which requires elastic resource provisioning in IaaS, such that their performance is intact. In current IaaS cloud systems, VMs are static in nature as their configurations do not change once they are instantiated. Therefore, fluctuation in resource demand is handled in two ways: allocating more VMs to the application(horizontal scaling) or migrating the application to another VM with a different configuration (vertical scaling). This forces the customers to characterize their workloads at a coarse grained level which potentially leads to under-utilized VM resources or under performing application. Furthermore, the current IaaS architecture does not provide performance guarantees to applications, because of two major factors: 1)Performance metrics of the application are not used for resource allocation mechanisms by the IaaS, 2) Current resource allocation mechanisms do not consider virtualization overheads, can significantly impact the application’s performance, especially for I/O workloads. In this work, we develop an Elastic Resource Framework for IaaS, which provides flexible resource provisioning mechanism and at the same time preserves performance of applications specified by the Service Level Agreement(SLA). For identification of workloads which needs elastic resource allocation, variability has been defined as a metric and is associated with the definition of elasticity of a resource allocation system. We introduce new components Forecasting Engine based on a Cost Model and Resource manager in Open Nebula IaaS cloud, which compute a n optimal resource requirement for the next scheduling cycle based on prediction. Scheduler takes this as an input and enables fine grained resource allocation by dynamically adjusting the size of the VM. Since the prediction may not always be entirely correct, there might be under-allocation or over-allocation of resources based on forecast errors. The design of the cost model accounts for both over-allocation of resources and SLA violations caused by under-allocation of resources. Also, proper resource allocation requires consideration of the virtualization overhead, which is not captured by current monitoring frameworks. We modify existing monitoring frameworks to monitor virtualization over head and provide fine-grained monitoring information in the Virtual Machine Monitor (VMM) as well as VMs. In our approach, the performance of the application is preserved by 1)binding the application level performance SLA store source allocation, and 2) accounting for virtualization over-head while allocating resources. The proposed framework is implemented using the forecasting strategies like Seasonal Auto Regressive and Moving Average model (Seasonal ARIMA), and Gaussian Process model. However, this framework is generic enough to use any other forecasting strategy as well. It is applied to the real workloads, namely web server and mail server workloads, obtained through Supercomputer Education and Research Centre, Indian Institute of Science. The results show that significant reduction in the resource requirements can be obtained while preserving the performance of application by restricting the SLA violations. We further show that more intelligent scaling decisions can be taken using the monitoring information derived by the modification in monitoring framework.
58

Design of IP Multimedia Subsystem for Educational Purposes

Rudholm, Mikael January 2015 (has links)
Internet Protocol multimedia subsystem (IMS) is an architecture for services such as voice over Internet Protocol (VoIP) in IP based communication systems. IMS is standardized by the 3GPP standardization forum, and was first released in 2002. Since then IMS has not had the wide adoption by operators as first anticipated. As 3G already supported voice and video, the operators could not justify the expense of IMS. The current emergence of the fourth generation mobile communication system named Long Term Evolution (LTE) has, however, increased the need for knowledge of IMS and of creating services for it. LTE networks are IP only networks that provide low latency. In order to use LTE for making phone calls, VoIP technologies are needed. IMS is the architecture intended to be used for Voice over LTE (VoLTE). The need for tools for education within IMS was seen in 2006 by Enea Experts in Linköping, Sweden. The author of this thesis designed an IMS for educational purposes, but the project was never fully completed. This thesis will reexamine the design decisions previously made by the author. The requirements stated by the customer remain: that an IMS with basic signaling and logging should be easy to install, maintain, and evolve at a low cost. A literature study of IMS and VoLTE is presented to contribute with knowledge in these areas. The previous design and implementation made by the author is presented and analyzed. The third-party software that the previous implementation was based on is reexamined. Existing open source components are analyzed in order to identify how they can be used to solve the problem and to identify what remains to be developed in order to fulfill the requirements. New design suggestions, presented in today´s context, are proposed and verified using analytical reasoning and experiments. The outcome of the final work is new verified design decisions for the customer to use when implementing a new IMS for educational purposes. The thesis should also provide useful insights which instructors and students can use to teach and learn more about IMS. / Internet Protocol multimedia subsystem (IMS) är en arkitektur för tjänster, som IP-telefoni (Voice over Internet Protocol, VoIP), i IP baserade kommunikationssystem. IMS standardi¬seras av standardiseringsforumet 3GPP och första utgåvan släpptes år 2002. IMS fick dock inte det breda genomslag bland operatörer som förväntats. Eftersom 3G redan hade stöd för tal och video kunde operatörerna inte se skäl till ytterligare utgifter för IMS. Den fjärde generationens mobila kommunikationssystem, Long Term Evolution (LTE) är helt IP-baserat och ger lägre fördröjningar i nätet. För att kunna ringa telefonsamtal via LTE krävs VoIP-teknik. IMS är en arkitektur avsedd för att användas för Voice over LTE (VoLTE). Den nuvarande utvecklingen av LTE har därför ökat behovet av kunskap om IMS och av utveckling av IMS-tjänster. Enea Experts i Linköping insåg behovet av verktyg för utbildning inom IMS år 2006. Författaren av det här examensarbetet designade därför ett IMS för utbildningssyfte. Projektet slutfördes dock aldrig. Syftet med examensarbetet är att ompröva de tidigare designbesluten. Kundens krav kvarstår: att ett IMS med grundläggande signalering och loggning bör vara enkelt att installera, enkelt att underhålla och möjligt att utveckla till en låg kostnad. Arbetet innehåller en litteraturstudie av IMS och VoLTE för att ge en inblick i dessa områden. Den tidigare designen och implementationen presenteras och analyseras. Tredjeparts mjukvara, som den tidigare implementationen baserades på, omprövas. Befintliga programvaror med öppen källkod analyseras i syfte att kartlägga hur de kan användas för att lösa uppgiften, samt att identifiera vad som återstår att utveckla för att uppfylla kraven. Nya beslut kring design presenteras och besluten verifieras med experiment och analytiskt resonemang. Resultatet av detta examensarbete innefattar nya verifierade beslut kring design som kunden kan använda vid utveckling av ett nytt IMS för utbildningssyfte. Arbetet erbjuder också värdefulla insikter som instruktörer och elever kan använda för att undervisa samt för att lära sig mer om IMS.
59

Improving Software Deployment and Maintenance : Case study: Container vs. Virtual Machine / Förbättring av utplacering och underhåll av mjukvara : Fallstudie: Containers vs. Virtuella maskiner

Falkman, Oscar, Thorén, Moa January 2018 (has links)
Setting up one's software environment and ensuring that all dependencies and settings are the same across the board when deploying an application, can nowadays be a time consuming and frustrating experience. To solve this, the industry has come up with an alternative deployment environment called software containers, or simply containers. These are supposed to help with eliminating the current troubles with virtual machines to create a more streamlined deployment experience.The aim of this study was to compare this deployment technique, containers, against the currently most popular method, virtual machines. This was done using a case study where an already developed application was migrated to a container and deployed online using a cloud provider’s services. Then the application could be deployed via the same cloud service but onto a virtual machine directly, enabling a comparison of the two techniques. During these processes, information was gathered concerning the usability of the two environments. To gain a broader perspective regarding the usability, an interview was conducted as well. Resulting in more well-founded conclusions. The conclusion is that containers are more efficient regarding the use of resources. This could improve the service provided to the customers by improving the quality of the service through more reliable uptimes and speed of service. However, containers also grant more freedom and transfers most of the responsibility over to the developers. This is not always a benefit in larger companies, where regulations must be followed, where a certain level of control over development processes is necessary and where quality control is very important. Further research could be done to see whether containers can be adapted to another company’s current environment. Moreover, how different cloud provider’s services differ. / Att sätta upp och konfigurera sin utvecklingsmiljö, samt att försäkra sig om att alla beroenden och inställningar är lika överallt när man distribuerar en applikation, kan numera vara en tidskrävande och frustrerande process. För att förbättra detta, har industrin utvecklat en alternativ distributionsmiljö som man kallar “software containers” eller helt enkelt “containers”. Dessa är ämnade att eliminera de nuvarande problemen med virtuella maskiner och skapa en mer strömlinjeformad distributionsupplevlese. Målet med denna studie var att jämföra denna nya distributionsteknik, containrar, med den mest använda tekniken i dagsläget, virtuella maskiner. Detta genomfördes med hjälp av en fallstudie, där en redan färdigutvecklad applikation migrerades till en container, och sedan distribuerades publikt genom en molnbaserad tjänst. Applikationen kunde sedan distribueras via samma molnbaserade tjänst men på en virtuell maskin istället, vilket möjliggjorde en jämförelse av de båda teknikerna. Under denna process, samlades även information in kring användbarheten av de båda teknikerna. För att få ett mer nyanserat perspektiv vad gäller användbarheten, så hölls även en intervju, vilket resulterade i något mer välgrundade slutsatser. Slutsatsen som nåddes var att containrar är mer effektiva resursmässigt. Detta kan förbättra den tjänst som erbjuds kunder genom att förbättra kvalitén på tjänsten genom pålitliga upp-tider och hastigheten av tjänsten. Däremot innebär en kontainerlösning att mer frihet, och därmed även mer ansvar, förflyttas till utvecklarna. Detta är inte alltid en fördel i större företag, där regler och begränsningar måste följas, en viss kontroll över utvecklingsprocesser är nödvändig och där det ofta är mycket viktigt med strikta kvalitetskontroller. Vidare forskning kan utföras för att undersöka huruvida containers kan anpassas till ett företags nuvarande utvecklingsmiljö. Olika molntjänster för distribuering av applikationer, samt skillnaderna mellan dessa, är också ett område där vidare undersökning kan bedrivas.
60

Improving Software Development Environment : Docker vs Virtual Machines

Erlandsson, Rickard, Hedrén, Eric January 2017 (has links)
The choice of development environment can be crucial when it comes to developing a software. Few researches exist on comparing development environments. Docker is a relatively new software for handling and setting up container-environments. In this research, the possibility of using Docker as a software development environment is being investigated and compared against virtual machines as a development environment. The purpose of this research is to examine how the choice of development environment affect the development process. The work was qualitative, with an inductive and a deductive approach. It included a case study with two phases. One in which virtual machines and one in which Docker were used to implement a development environment. Observations were made after each implementation. The data from each implementation were then compared and evaluated against each other. The results from the comparisons and the evaluation clearly shows that the choice of development environment can influence the process of developing software. Different development environments affect the development process differently, both good and bad. With Docker, it’s possible to run more environments at once than when using virtual machines. Also, Docker stores the environments in a clever way that results in the environments taking up less space on the secondary storage compared to virtual machine environments. This is due to that Docker uses a layer system when it comes to containers and their components. When using Docker, no Graphical User Interface (GUI) to install and manage applications inside a container is provided, this can be a drawback since some developers may need a GUI to work. The lack of a GUI makes it harder to get an Integrated Development Environment (IDE) to work properly with a container to for example debug code. / Valet av utvecklingsmiljö kan vara avgörande vid utveckling av mjukvara. Få undersökningar finns idag angående jämförelser mellan utvecklingsmiljöer. Docker är en relativt ny mjukvara för att sätta upp samt hantera container- miljöer. I denna undersökning, kommer möjligheten att använda Docker som utvecklingsmiljö att undersökas och jämföras mot virtuella maskiner som utvecklingsmiljö. Syftet med undersökningen är att se hur valet av utvecklingsmiljö påverkar utvecklingsprocessen av en mjukvara. Arbetet bedrevs på ett kvalitativt sätt, med både ett induktivt samt ett deduktivt tillvägagångssätt. Det inkluderade även en fältstudie med två faser. En där virtuella maskiner och en där Docker användes till att implementera en utvecklingsmiljö. Observationer utfördes efter varje implementation. Data från varje implementation jämfördes och evaluerades mot varandra. Resultaten från jämförelserna och evalueringen visar att valet av utvecklingsmiljö har inflytande på processen av utveckling av mjukvara. Olika utvecklingsmiljöer påverkar utvecklingsprocessen olika, både på bra och dåliga sätt. Med Docker är det möjligt att köra fler miljöer samtidigt än vad som är möjligt vid användande av virtuella maskiner. Docker lagrar även miljöerna på ett smart sätt, som gör att de tar upp mindre plats på den sekundära lagringen jämfört med virtuella maskiner. Detta är på grund av att Docker använder sig av ett lager-system när det gäller containrar och deras komponenter. När Docker används, tillhandhålls inget Graphical User Interface (GUI) för att installera eller hanterar applikationer inuti en container, detta kan vara en nackdel då vissa utvecklare kan behöva ett GUI för att arbeta. Avsaknaden av ett GUI gör det svårare att få en Integrated Development Environment (IDE) att fungera ordentligt med en container för att till exempel avlusa kod.

Page generated in 0.0341 seconds