Geri Dön

Uygulama yazılımları için konteyner tabanlı uygulama havuzlarının geliştirilmesi

Development of container-based application pools for application programs

  1. Tez No: 706182
  2. Yazar: AHMET ÖZCAN
  3. Danışmanlar: DOÇ. DR. ATİLLA ERGÜZEN
  4. Tez Türü: Doktora
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2022
  8. Dil: Türkçe
  9. Üniversite: Kırıkkale Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 128

Özet

Günümüzde internet herkes tarafından ulaşılabilir ve yaygın hale gelmiştir. Hızlı internetin yaygınlaşması ile eğitim kurumları da dönüşüm sürecine girmiş ve bazı eğitim içeriklerini çevrimiçi sunmaya başlamıştır. Önceleri alternatif bir öğretim modeli olarak internet üzerinden sunulan uzaktan öğretim sistemi, Covid19 salgınının yaşandığı günümüzde bir zorunluluk haline gelmiştir. Salgın döneminde tüm eğitim kurumları sınıf içi eğitimlerini uzaktan eğitim modeline dönüştürmüştür. Teknolojik eğitimlerde olduğu gibi mühendislik eğitimi müfredatında teorik ve uygulamalı eğitimler bulunmaktadır. Dersliklerde verilen teorik eğitimler laboratuvarlarda yapılan uygulamalarla pekiştirilmekte ve öğrencilerin deneyim kazanması sağlanmaktadır. Pandemi döneminde uzaktan eğitime katılmak zorunda kalan öğrenciler uygulamalı eğitimlerden uzak kalmaktadır. Uzaktan öğretim modelinde öğrenciler teorik dersleri sanal sınıflarda, uygulamalı laboratuvar eğitimlerini de sanal laboratuvarlarda yapılabilmektedir. Yazılım mühendisliği için oluşturulan sanallaştırma tabanlı laboratuvarlar uzun yıllardır kullanılmaktadır. Sanallaştırma teknolojisi, fiziksel bir sunucuya ait kaynakların mantıksal olarak paylaştırılması esasına dayanır. Bu teknolojide her sanal makine için bir sunucu örneği kopyalama zorunluluğu bulunmaktadır. Sunucu örnekleri, gerçek bir makine gibi eksiksiz bir işletim sistemi ve kütüphanelerle birlikte mantıksal olarak kendilerine ayrılan donanım kaynaklarını tüketmektedir. Sanal makine çalışmakta olduğu sürece kendisine ayrılan kaynaklar başka bir sanal makine tarafından kullanılamaz. Bu durum sanallaştırma yapısını kullanan tüm kurumlar için önemli bir problemdir. Başta bulut hizmet sağlayıcıları olmak üzere tüm teknoloji şirketleri bu soruna çözüm için yenilikçi ve ekonomik yöntemler aramaktadır. Son yıllarda geliştirilen konteyner teknolojisi bu sorunun çözümü olarak görülmektedir. Konteyner teknolojisi, aynı işletim sistemi çekirdeğini kullanan birbirinden yalıtılmış uygulamalar olarak ifade edilebilir. Bir yazılım işletim sistemi tarafından çalıştırıldığında sistem kaynaklarının bir bölümünü kullanmaktadır, bu yazılım işletim sisteminin kullandığı bölümü ile birlikte bir paket haline getirildiğinde konteyner olarak tanımlanmaktadır. Bu sayede her yazılım ihtiyaç duyduğu kadar bir büyüklük ile paketlenecektir. Bu pakete konteyner adı verilmektedir. Bu teknolojide her uygulamanın kendine özel bağımlılıkları, kütüphaneleri ve dosyaları mevcuttur. Aynı fiziksel makinede birbirinden izole birçok uygulamayı, hatta aynı uygulamanın farklı sürümlerini çok düşük sistem kaynaklarıyla çalıştırabilmek mümkündür. Özetle; Bir yazılımın çalıştırılabilşmesi için, içerisinde yüklü bir işletim sistemi olan bir bilgisayara ihtiyaç vardır. Bu işlem aslında oldukça maliyetlidir, konteyner teknolojisi sayesinde özellikle işletimin sisteminin kendisine yetecek kadar olan özellikleri ve sınırlı sistem kaynakları kullanılarak maliyet çok düşürülmektedir. Bu çalışmada, uzaktan öğretim sistemi için konteyner tabanlı sanallaştırma alternatifi bir platform oluşturulmuştur. Yazılım geliştirme eğitimlerinde kullanılmak üzere konteyner haline getirilmiş yazılım geliştirme ortamlarının bu platform üzerinden uzaktan eğitim öğrencilerinin kullanımına sunulması amaçlanmıştır. .Net Core 5.0 altyapısıyla çoklu platform uyumluluğu sağlanarak, MGD katmanlı modeliyle geliştirilen platform Docker konteynerlerini kullanmaktadır. Çalışmada test amaçlı yaygın kullanılan yazılım dillerini destekleyen ve eklentileriyle yetenekleri artırılabilen Visual Studio Code yazılım geliştirme editörü konteyneri kullanılmıştır. Dünyada büyük bir pandemi yaşanmaktadır. Pandemi döneminde öğrenciler okullardan uzak kalarak uzaktan eğitim faaliyetlerine katılmaktadır. Çalışma Uzaktan eğitim gören öğrenciler ve yazılım geliştirme laboratuvarına ihtiyaç duyan öğrenciler için önemlidir. Oluşturulacak benzeri laboratuvarlar pandemi döneminde öğrencilere büyük kolaylık sağlayacaktır.

Özet (Çeviri)

Today, the Internet is accessible and widely used by everyone. With the spread of high-speed Internet, educational institutions have also made the change and started to offer some educational content online. Distance education, which used to be offered over the Internet as an alternative model of instruction, has now become a necessity in light of the Covid19 epidemic. During the epidemic, all educational institutions converted their classroom training to a distance learning model. As in technical education, there is theoretical and applied training in engineering education. Theoretical training in classrooms is reinforced by practice in laboratories, and students gain experience. Students who are required to attend distance learning during the pandemic period stay away from applied training. In the distance learning model, students can take theoretical classes in virtual classrooms and hands-on lab exercises in virtual labs. Virtualization-based labs created for software engineering have been used for many years. Virtualization technology is based on logical allocation of resources belonging to a physical server. In this technology, there is an obligation to copy one server instance for each virtual machine. Like a real computer, the server instances consume the hardware resources logically allocated to them, as well as a complete operating system and libraries. As long as the virtual machine is running, the resources allocated to it cannot be used by another virtual machine. This is an important problem for all institutions that use a virtualization structure. All technology companies, especially cloud service providers, are looking for innovative and economical methods to solve this problem. Container technology, developed in recent years, is seen as a solution to this problem. Container technology can be expressed as applications that are isolated from each other and use the same operating system kernel. When a software is executed by the operating system, it uses some of the system resources. This software is defined as a container if it is packaged with the part of the operating system that it uses. In this way, any software is packaged with as much size as it needs. This package is called a container. In this technology, each application has its own dependencies, libraries and files. It is possible to run many isolated applications, even different versions of the same application, on the same physical machine with very low system resources. To summarize: In order for software to run, a computer with an operating system installed on it is required. This process is actually quite expensive. However, thanks to container technology, the costs are significantly reduced, especially by using the functions that are sufficient for the operating system itself and the limited system resources. In this study, an alternative virtualization platform based on containers was created for the distance learning system. Containerized software development environments for use in software development training are to be made available to distance learning students through this platform. The platform, developed with the MVC layered model, uses Docker containers to provide cross-platform compatibility with the .Net Core 5.0 infrastructure. The study used the Visual Studio Code software development editor container, which supports common software languages for testing purposes and whose capabilities can be extended through plug-ins. There is a major pandemic in the world. During the pandemic period, students stay away from schools and participate in distance learning activities. The work is important for distance learning students and students who need a software development lab. Similar labs to be established will be of great benefit to students during the pandemic period.

Benzer Tezler

  1. Sunucu sanallaştırma ve uygulama sanallaştırma teknolojileri performans karşılaştırması

    Server virtualization and applicationvirtualization technologies performancecomparision

    ALİ DOĞRU

    Yüksek Lisans

    Türkçe

    Türkçe

    2019

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMaltepe Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. EMİN MURAT ESİN

  2. Sunucusuz yazılım mimarisiyle coğrafi bilgi sistemi tasarımı ve uygulaması

    Design and application of serverless architectures in geographic information system

    METE ERCAN PAKDİL

    Doktora

    Türkçe

    Türkçe

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilişim Uygulamaları Ana Bilim Dalı

    PROF. DR. RAHMİ NURHAN ÇELİK

  3. Increasing firm's efficiency with machine learning algorithms: An application in the logistics industry

    Makine öğrenmesi algoritmalarıyla işletmelerin verimliliğinin artırılması: Lojistik sektöründe bir uygulama

    EGEMEN ÇEKİÇ

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

    İşletmeMarmara Üniversitesi

    İşletme (İngilizce) Ana Bilim Dalı

    PROF. DR. BERİL DURMUŞ

  4. Liman hizmetlerinde fiyatlandırma: Türkiye için ampirik bir uygulama

    Pricing of port services: an empirical application for Turkey

    KAZIM YENİ

    Doktora

    Türkçe

    Türkçe

    2017

    DenizcilikDokuz Eylül Üniversitesi

    Denizcilik İşletmeleri Yönetimi Ana Bilim Dalı

    DOÇ. DR. SONER ESMER

  5. Modelling and simulation of diesel ship propulsion and ship towing at sea for the prediction of the total ship resistance

    Gemi direncinin tahmini için dıesel motor tahrikli bir geminin diğer bir gemiyi çekerken modellenmesi ve simülasyonu

    KAMAL KHARROUBI

    Doktora

    İngilizce

    İngilizce

    2021

    Denizcilikİstanbul Teknik Üniversitesi

    Gemi İnşaatı ve Gemi Makineleri Mühendisliği Ana Bilim Dalı

    PROF. DR. OĞUZ SALİM SÖĞÜT