Cumhuriyet Üniversitesi Yazılım Mühendisliği Dersi

Slides:



Advertisements
Benzer bir sunumlar
Sistem Analizi ve Planlama
Advertisements

Flash Player ©, sistemin sorunsuz çalışması için gerekli bir programdır. Sayfaları daha sağlıklı takip edebilmek için bilgisayarınızda bu programın 8.0.
Amaçlar  Verinin üretildiği yerden ve üretildiği anda elektronik ortamdan alınması  İnsan emeği ve hataların en aza indirilmesi  Birbirine bağlı süreçlerde.
 Ofis dışından erişim  Kurulum gerekmez  Internet Explorer, Mozilla FireFox, Google Chrome, Safari üzerinden çalışma  Sade ve basit arayüz Web Avantajları.
Dijital Dünyada Yaşamak
Bilgi Teknolojisinin Temel Kavramları
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
Bilkent Üniversitesi Bölüm Müfredatları Yerine Ders Alma Kuralları -
Bilgi Teknolojisinin Temel Kavramları
Yazılım Mühendisliği Bölüm - 7 Yazılım Doğrulama ve Geçerleme
E-İşletme Açısından Veri Tabanı, Veri Ambarı ve Örnekleri
Projenin Yürütülmesi ve KAPANIŞ
Bölüm 1: Introductions (Tanıtım,Tanım)
Proje Dosyanızda Yer Alacak Belgeler
SİVİL TOPLUM KURULUŞLARINDA ETKİLİ YÖNETİM
Hazırlayan: Yrd. Doç. Dr. Mete ÇELİK
Bingöl Kamu Hastaneleri Birliği
Bora GÜRSEL CBÜ BAUM Proje Yöneticisi
Yazılım Test Süreci. Yazılım test süreci Test Hazırlık Adımında Neler Yapılmalıdır? Test edilecek yazılıma ait analiz ve teknik tasarım aşamaları ile.
BİLGİSAYAR AĞLARINA GİRİŞ
İŞLETİM SİSTEMLERİ EYLÜL 2012.
1.  Bazı durumlarda, birden fazla işlem bir bütünün parçasıdır. Bu işlemlerden biri bile gerçekleşmese bütün işlemler anlamsız kalabilir  Bu türden.
MART 2013 İŞLETİM SİSTEMLERİ.
BİLGİSAYAR AĞLARI.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Doğrulama ve Geçerlilik.
Sistem ve Ağ Yönetiminde Parola Yönetim Zorlukları
Bilgisayar Ağları Emre ÜNSAL Dokuz Eylül Üniversitesi
Hazırlayan:Emin BORANDAĞ. 4. BÖLÜM: Yazılımları Teknik İnceleme.
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
ERP Projelendirme Süreci
TCP/IP – DHCP Nedir?.
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
TRAFİK SORUNU Çözüm.
, Denizli Akademik Bilişim 2006 YAZILIM GELİŞTİRME SÜRECİNDE OTOMATİK KOD ÜRETİCİLER Çağdaş Can BİRANT Kökten Ulaş BİRANT Prof. Dr. Alp KUT.
Grup üyeleri: Selen ERGÜ Galip Kaya Nazgül BARPİEVA
BULUT BİLİŞİM İKRAM DARA BİLEM
YAZILIM.
YAZILIM.
Şahin BAYZAN Kocaeli Üniversitesi Teknik Eğitim Fakültesi
AÇIK KAYNAK İŞLETİM SİSTEMİ
Örgütsel bilgi kullanımı
Web Tasarım Nedir? Web tasarımı, bir ürünü ya da hizmeti veya bir bireyin reklam ve tanıtımını yapmak üzere veyahutsa toplumu eğitici ve öğretici çalışmalarla.
Sistem Analizi Sistem Analisti
Temel Bilgi Teknolojilerinin Kullanımı Öğr.Gör. Abdullah ŞENER.
Akıllı İstemcileri Geliştirmek ve Dağıtmak
Bilgisayar Yazılımları ? ? ? ?
Kurumsal Ağlarda Uzak ve Merkezi İşlem Birimlerinin Sanallaştırılması: Bir Uygulama Emrah ÇOLAK, SGK Aydın ÇETİN, Gazi Üniversitesi ŞUBAT 2016.
Sistem Yaklaşımı.
 Projeler üç nedenle sona erdirilirler. 1. Proje amaçlarına ulaşılmış ve başarılı olarak tamamlanmıştır. 2. Projenin durdurulması gerekmektedir. 3. Proje.
DİSASTER CENTER FELAKET MERKEZİ. Felaket Kurtarma (Disaster Recovery) Her kurum için, vermekte olduğu hizmeti herhangi bir nedenden dolayı veremez duruma.
PARDUS İŞLETİM SİSTEMİ. PARDUS  Pardus adı : Anadolu parsı adlı kediğillerden gelmektedir.
Bilgisayar Mühendisliğindeki Yeri
ÇEVİK (Agile) SÜREÇLER Değişen gereksinimler, teknik riskler gibi önceden belirlenemeyen durumlara ve yazılım ürününü etkileyebilecek her tür değişikliğe.
Sistem Analizi ve Tasarımı
Sıfırdan Linux İşletim Sistemi Oluşturma. Şimdiki Linux Dağıtımları. ● Genel amaçlar için tasarlanmıştır. ● En düşük donanım için derlenmiştir. ● Tüm.
E-YEDEKLEMELİ SAKLAMA. E-Yedeklemeli Saklama E-Faturalarınız ve e-arşiv faturalarınız EDM e-fatura sistemine kaydolmanız ile beraber sistem üzerinden.
Revo Unınstaller Pro Nedir ? Ne işe yarar ? Nasıl Kullanılır ?
DİSASTER CENTER FELAKET MERKEZİ Fatma tekin no:
BİLGİSAYAR NEDİR?.
MUHASEBE YEDEKLEME.
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
YAZILIM.
Sinir Hücresi McCulloch-Pitts x1 w1 x2 w2 v y wm xm wm+1 1 '
LDAP ( LİGHTWEİGHT DİRECTORY ACCESS PROTOCOL )
ERP Projesinin Aşamaları İzmir. ERP Projesinin Aşamaları SatışSatış - Başlangıç – Kurulum – Analiz – Plan – Uyarlama – Eğitim – Geliştirme.

Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
NİŞANTAŞI ÜNİVERSİTESİ
Kütüphan-e Türkiye Projesi BİT Yol Haritası
Sunum transkripti:

Cumhuriyet Üniversitesi Yazılım Mühendisliği Dersi Bölüm 8 Dağıtım - Bakım Halil ARSLAN Abdulkadir ŞEKER

Bölümün hedefleri Bir dağıtım planına ne yazmalısınız? Neden bir rollback planına ihtiyacınız var? Kesim (cutover) stratejileri Ortak dağıtım görevleri Yaygın dağıtım hataları

Dağıtım (Deployment) Tanım Dağıtım, bitmiş uygulamayı kullanıcılara verme ve onların beğenisine sunma işlemidir. Teoride basit bir işlem gibi görünse de, test aşamasında çok başarılı çalışan bir uygulama canlıya çıkıldığında tamamıyla çuvallayabilir. (Kullanıcılarda güçlü PC ler, hızlı yazıcılar olmadığını öğrenilecektir.) Dağıtım terimine ek olarak, anlamları benzer olan; gerçekleme (implementation), yükleme (installation), piyasaya sürme (release/launch) terimleri de kullanılmaktadır. Implementation : Kodlama. (Implementation of user validation module.) Installation : Kurma (call an electrician or a plumber to install something.) Deployment : Daha dinamik bir olay. (deployment of troops into a field of battle) Release/Launch: Uygulamayı veya sürümlerini canlıya çıkarmak. Alfa  Beta  Release (versiyon) eylemin kendisi deployment

Deployment Scope / Plan Dağıtım aşamasında, dağıtım kapsamı ve planı olmalıdır. Kapsam (scope): Kullanıcı sayısı, işlediği veri miktarı, uygulama büyüklüğü, etkilendiği/etkilediği harici sistemler, ... Büyük dağıtımlarda hata ihtimali de daha fazla olacaktır. Bu sebeple küçük dağıtımlar daha pürüzsüz olabilir. Kendinize yazdığınız bir uygulamadaki pürüz sadece sizi etkilerken, bir OS yeni versiyonunda oluşabilecek bir problem milyonlarca kullanıcıyı etkileyecektir. Dağıtım planı yapmadan önce kapsam kesinlikle belirlenmelidir. Plan : Yapılacak işlerin takip edileceği bir adım/iş listesi oluşturulmalıdır. (Ayrıntılı olarak) Her adım için, başarısızlık durumlarında gidilecek yollar belirlenmelidir. Acil durumlar için B planları, yedekleme planları eklenmelidir. Yedekleme planı yoksa dağıtımı durdurmak gerekebilir.

Cutover (Sistem Geçişi / Canlı Geçiş) Kullanıcıları yeni uygulamaya taşıma süreci. Bazı uygulamalar için sadece yeni sürümü internete koyup kullanıcıların yüklemesi beklenir. Bazı projelerde ise, kullanıcılara yeni versiyon için mail ile bildirimler yapılır veya kullanıcılara yeni versiyon yerinde yüklenir. Bazı sistemlerde yeni sisteme taşınırken, bir takım kurulumlar ve düzenlemeler yapmak gerekebilir. (OS yükseltme, veri tip dönüştürme, vs. ) Kurulum esnasında kullanıcılar için işlerini yapamayacakları zamanı minimize etmek gerekir. Bunun için aşağıdaki adımlar önemlidir Yerinde Dağıtım (Staged Deployment) Kademeli Dağıtım (Gradual Cutover) Incremental Deployment Parallel Testing

Cutover (Sistem Geçişi) Yerinde Dağıtım(Staged Deployment) Tüm kurulumlar için özel alanlarda yapılan çalışmalardır. Sistem yönetim ekibi ürün kurulumlarını yerinde yapar. Kademeli Dağıtım (Gradual Cutover) Bazıları yeni versiyona geçerken, bazı kullanıcılar var olan sistem ile devam ederler. Herşeyden emin olduktan sonra tüm kullanıcılar geçirilir. Avantaj ters giden durumlardan min. kullanıcıyı etkilemek. Dejavantaj ise iki grubu yönetmek için extra çaba harcanmasıdır. Geçici kurallar ile kullanıcılar yönetilir.

Cutover (Sistem Geçişi) Artırımlı Dağıtım (Incremental Deployment) Kademeli olarak yeni sistemin özellikleri kullanıcılara eklenir. Önce bir tool kullanıcıya verilir, sonra sorun yoksa bir sonraki tool a geçilir. Bu çözüm monolitik uygulamalarda kullanılamaz. Yeni bir hava trafiği kontrol sistemi kurulumu için, önce kalkışı uygula, test et, havadaki uçakların yakıtı bitmeden önce inişi planla  Parallel Testing: Hataları azaltmak için paralel çalışmak gerekebilir. Yeterince kullanıcı varsa, yeni sistemi eskisiyle paralel olarak kullandırabilirsiniz. Örn. Muhasebe programı iki versiyonuda yüklenir. Eski veriler ve fonksiyonlarla yeni versiyon karşılaştırılarak geçiş yapılır.

Dağıtım Görevleri Başarılı bir dağıtım için yapılması gereken görevler uygulamaya özgüdür. FileZilla yeni sürümü için sadece yükleme yapmak yeterli, ancak bir müşteri destek merkezi oluşturuyorsanız, yapacak çok iş vardır. Büyük çaplı dağıtımlar için aşağıdaki görevlerin üstesinden gelinmelidir. Fiziksel Çevre (ofis, masa, sandalye, vs.) Donanım (ağ kabloları, routerlar, yazıcılar, vs.) Dökümantasyon (eğitim materyalleri, kullanıcı kılavuzu, genel komut tanımları, vs) Eğitim (kullanıcıların eğitilmesi, key user veya eğitmenler tarafından) Veritabanı (sunucu, DBMS, vs.) 3. parti yazılımlar (web servis, satın alma sistemleri, yazdırma/tarama araçları, vs) Asıl geliştirilen uygulama. (izleme (log) ve test araçları iyi yazılmış olmalı.)

Dağıtım Hataları Başarılı bir dağıtım : 1-plan / 2-hata tahmini / 3-sorunların üstesinden gelme Ancak bazen kurtarılamayacak hatalar ortaya çıkabilir. Bunlardan bazıları; Herşeyin çalışacağını varsayma: Rollback planı yapmama: Rollback için extra çaba gerekir, fakat hayat kurtarır. Yetersiz zaman verme: Beklenmeyen durumlar için fazladan zaman tanımak. Geri dönüşe yeterli zaman bırakılmalıdır Birden fazla güncellemeyi bir kerede yükleme Kararlı olmayan bileşenlerle çalışma Özellikle open-source 3. parti ürünlerin kararsız versiyonları Dönüşü olmayan bir erken noktayı belirleme

NELER ÖĞRENDİK ? Dağıtım kapsamı, her plan için olası problemleri tahmin etmeyi sağlar. Dağıtım planı, dağıtım için gereken adımları, işlerin yanlış gidebileceği olası durumları içermelidir. Dağıtım tıkandığında değişiklikleri geri alma (rollback) opsiyonu olmalıdır. Roll-back zor olsa da, geri dönüşü olmayan bir noktada tıkanmak çok daha acı verici olacaktır. Kesme stratejileri: staged dağıtım, kademeli kesme ve artırımlı dağıtım Dağıtım görevleri Dağıtım hataları