6 research outputs found
Application for managing container-based software development environments
Abstract. Virtualizing the software development process can enhance efficiency through unified, remotely managed environments. Docker containers, a popular technology in software development, are widely used for application testing and deployment. This thesis examines the use of containers as cloud-based development environments.
This study explores the history and implementation of container-based virtualization before presenting containers as a novel cloud-based software development environment. Virtual containers, like virtual machines, have been extensively used in software development for code testing but not as development environments. Containers are also prevalent in the final stages of software production, specifically in the distribution and deployment of completed applications.
In the practical part of the thesis, an application is implemented to improve the usability of a container-based development environment, addressing challenges in adopting new work environments. The work was conducted for a private company, and multiple experts provided input.
The management application enhanced the container-based development environment’s efficiency by improving user rights management, virtual container management, and user interface. Additionally, the new management tools reduced training time for new employees by 50%, facilitating their integration into the organization. Container-based development environments with efficient management tools provide a secure, efficient, and unified platform for large-scale software development. Virtual containers also hold potential for future improvements in energy-saving strategies and organizational work method harmonization and integration.Sovellus konttipohjaisten ohjelmistonkehitysympäristöjen hallintaan. Tiivistelmä. Ohjelmistokehitysprosessin virtualisointi voi parantaa tehokkuutta yhtenäisten, etähallittujen ympäristöjen avulla. Ohjelmistonkehityksessä suosittu ohjelmistonkehitysteknologia, Docker-kontteja käytetään laajalti sovellusten testaamisessa ja käyttöönotossa. Tässä opinnäytetyössä tarkastellaan konttien käyttöä pilvipohjaisina kehitysympäristöinä.
Tämä tutkimus tutkii konttipohjaisen virtualisoinnin historiaa ja toteutusta, jonka jälkeen esitellään konttien käyttöä uudenlaisena pilvipohjaisena ohjelmistokehitysympäristönä. Virtuaalisia kontteja, kuten virtuaalikoneita, on käytetty laajasti ohjelmistokehityksessä kooditestauksessa, mutta ei kehitysympäristöinä. Kontit ovat myös yleisiä ohjelmistotuotannon loppuvaiheissa, erityisesti valmiiden sovellusten jakelussa ja käyttöönotossa.
Opinnäytetyön käytännön osassa toteutetaan konttipohjaisen kehitysympäristön käytettävyyttä parantava sovellus, joka vastaa uusien työympäristöjen käyttöönoton haasteisiin. Työ suoritettiin yksityiselle yritykselle, ja sen suunnitteluun osallistui useita asiantuntijoita.
Hallintasovellus lisäsi konttipohjaisen kehitysympäristön tehokkuutta parantamalla käyttäjäoikeuksien hallintaa, virtuaalisen kontin hallintaa ja käyttöliittymää. Lisäksi uudet hallintatyökalut lyhensivät uusien työntekijöiden koulutusaikaa 50%, mikä helpotti heidän integroitumistaan organisaatioon. Säiliöpohjaiset kehitysympäristöt varustettuina tehokkailla hallintatyökaluilla tarjoavat turvallisen, tehokkaan ja yhtenäisen alustan laajamittaiseen ohjelmistokehitykseen. Virtuaalisissa konteissa on myös potentiaalia tulevaisuuden parannuksiin energiansäästöstrategioissa ja organisaation työmenetelmien harmonisoinnissa ja integroinnissa
Docker Swarmin soveltaminen reunalaskennan ohjelmistojen hallinnoinnissa
Reunalaskennan tarkoituksena on siirtää tiedonkäsittelyä lähemmäs tiedon lähdettä, sillä keskitettyjen palvelinten laskentakyky ei riitä tulevaisuudessa kaiken tiedon samanaikaiseen analysointiin. Esineiden internet on yksi reunalaskennan käyttötapauksista. Reunalaskennan järjestelmät ovat melko monimutkaisia ja vaativat yhä enemmän ketterien DevOps-käytäntöjen soveltamista. Näiden käytäntöjen toteuttamiseen on löydettävä sopivia teknologioita.
Ensimmäiseksi tutkimuskysymykseksi asetettiin: Millaisia teknisiä ratkaisuja reunalaskennan sovellusten toimittamiseen on sovellettu? Tähän vastattiin tarkastelemalla teollisuuden, eli pilvipalveluntarjoajien ratkaisuja. Teknisistä ratkaisuista paljastui, että reunalaskennan sovellusten toimittamisen välineenä käytetään joko kontteja tai pakattuja hakemistoja. Reunan ja palvelimen väliseen kommunikointiin hyödynnettiin kevyitä tietoliikenneprotokollia tai VPN-yhteyttä. Kirjallisuuskatsauksessa konttiklusterit todettiin mahdolliseksi hallinnoinnin välineeksi reunalaskennassa.
Ensimmäisen tutkimuskysymyksen tuloksista johdettiin toinen tutkimuskysymys: Voiko Docker Swarmia hyödyntää reunalaskennan sovellusten operoinnissa? Kysymykseen vastattiin empiirisellä tapaustutkimuksella. Keskitetty reunalaskennan sovellusten toimittamisen prosessi rakennettiin Docker Swarm -konttiklusteriohjelmistoa, pilvipalvelimia ja Raspberry Pi -korttitietokoneita hyödyntäen. Toimittamisen lisäksi huomioitiin ohjelmistojen suorituksenaikainen valvonta, edellisen ohjelmistoversion palautus, klusterin laitteiden ryhmittäminen, fyysisten lisälaitteiden liittäminen ja erilaisten suoritinarkkitehtuurien mahdollisuus. Tulokset osoittivat, että Docker Swarmia voidaan hyödyntää sellaisenaan reunalaskennan ohjelmistojen hallinnointiin. Docker Swarm soveltuu toimittamiseen, valvontaan, edellisen version palauttamiseen ja ryhmittämiseen. Lisäksi sen avulla voi luoda samaa ohjelmistoa suorittavia klustereita, jotka koostuvat arkkitehtuuriltaan erilaisista suorittimista. Docker Swarm osoittautui kuitenkin sopimattomaksi reunalaitteeseen kytkettyjen lisälaitteiden ohjaamiseen.
Teollisuuden tarjoamien reunalaskennan ratkaisujen runsas määrä osoitti laajaa kiinnostusta konttien käytännön soveltamiseen. Tämän tutkimuksen perusteella erityisesti konttiklusterit osoittautuivat lupaavaksi teknologiaksi reunalaskennan sovellusten hallinnointiin. Lisänäytön saamiseksi on tarpeen tehdä laajempia empiirisiä jatkotutkimuksia samankaltaisia puitteita käyttäen
A Black-box Approach for Containerized Microservice Monitoring in Fog Computing
The goal of the Internet of Things (IoT) is to convert the physical world into a smart space in which physical objects, called things, are equipped with computing and communication capabilities. Those things can connect with anything, anyone at any time, any space via any network or service. The predominant Internet of Things (IoT) system model today is cloud centric. This model introduces latencies into the application execution, as data travels first upstream for processing and secondly the results, i.e., control commands, travel downstream to the devices. In contrast with the cloud-model, the cloud-fog-based model pushes computing capability to the edge of the network, which is closer to the data sources. This enables lower latency and a faster response time. The end-device can directly receive the service from the fog node instead of sending all the data to the central cloud server. In addition, with the application of microservice containerization technology, fog nodes can quickly set up various environments for heterogeneous services.
Compared with cloud computing, fog computing needs to consider users’ mobility and geographic location. The application scenarios that fog computing is more dynamic and flexible. Therefore, fog computing requires real-time data monitoring and service management. In this thesis, we will explore how to deploy fog computing resources, what data is needed in the deployment process, and how to implement data monitoring
Real-Time QoS Monitoring and Anomaly Detection on Microservice-based Applications in Cloud-Edge Infrastructure
Ph. D. Thesis.Microservices have emerged as a new approach for developing and deploying cloud
applications that require higher levels of agility, scale, and reliability. A microservicebased
cloud application architecture advocates decomposition of monolithic application
components into independent software components called \microservices". As the
independent microservices can be developed, deployed, and updated independently of
each other, it leads to complex run-time performance monitoring and management
challenges. The deployment environment for microservices in multi-cloud environments
is very complex as there are numerous components running in heterogeneous
environments (VM/container) and communicating frequently with each other using
REST-based/REST-less APIs. In some cases, multiple components can also be executed
inside a VM/container making any failure or anomaly detection very complicated.
It is necessary to monitor the performance variation of all the service components
to detect any reason for failure.
Microservice and container architecture allows to design loose-coupled services and run
them in a lightweight runtime environment for more e cient scaling. Thus, containerbased
microservice deployment is now the standard model for hosting cloud applications
across industries. Despite the strongest scalability characteristic of this model
which opens the doors for further optimizations in both application structure and
performance, such characteristic adds an additional level of complexity to monitoring
application performance. Performance monitoring system can lead to severe application
outages if it is not able to successfully and quickly detecting failures and localizing
their causes. Machine learning-based techniques have been applied to detect anomalies
in microservice-based cloud-based applications. The existing research works used
di erent tracking algorithms to search the root cause if anomaly observed behaviour.
However, linking the observed failures of an application with their root causes by the
use of these techniques is still an open research problem.
Osmotic computing is a new IoT application programming paradigm that's driven
by the signi cant increase in resource capacity/capability at the network edge, along
with support for data transfer protocols that enable such resources to interact more
seamlessly with cloud-based services. Much of the di culty in Quality of Service (QoS)
and performance monitoring of IoT applications in an osmotic computing environment
is due to the massive scale and heterogeneity (IoT + edge + cloud) of computing
environments.
To handle monitoring and anomaly detection of microservices in cloud and edge datacenters,
this thesis presents multilateral research towards monitoring and anomaly
detection on microservice-based applications performance in cloud-edge infrastructure.
The key contributions of this thesis are as following:
• It introduces a novel system, Multi-microservices Multi-virtualization Multicloud
monitoring (M3 ) that provides a holistic approach to monitor the performance
of microservice-based application stacks deployed across multiple cloud
data centers.
• A framework forMonitoring, Anomaly Detection and Localization System (MADLS)
which utilizes a simpli ed approach that depends on commonly available metrics
o ering a simpli ed deployment environment for the developer.
• Developing a uni ed monitoring model for cloud-edge that provides an IoT application
administrator with detailed QoS information related to microservices
deployed across cloud and edge datacenters.Royal Embassy of Saudi Arabia Cultural
Bureau in London, government of Saudi Arabi