Kod przedmiotu 07 72 5510 17
Liczba punktów ECTS 3
Nazwa przedmiotu w języku prowadzenia
Infrastruktury środowisk deweloperskich i produkcyjnych
Nazwa przedmiotu w języku polskim Infrastruktury środowisk deweloperskich i produkcyjnych
Nazwa przedmiotu w języku angielskim
Infrastructures of Development and Production Environments
Język prowadzenia zajęć polski
Poziom studiów studia pierwszego stopnia
Kierownik przedmiotu dr inż. Mateusz Smoliński
Realizatorzy przedmiotu dr inż. Michał Karbowańczyk, dr inż. Marcin Kwapisz, dr inż. Mateusz Smoliński
Formy zajęć i liczba godzin w semestrze
Wykład Ćwiczenia Laboratorium Projekt Seminarium Inne Suma godzin w semestrze
Godziny kontaktowe 15 30 0 45
Czy e-learning Nie Nie Nie Nie Nie Nie
Kryteria oceny (waga) 0,22 0,78 0,00
Cel przedmiotu
  1. Zapoznanie studenta z problemami występującymi w środowiskach deweloperskich i produkcyjnych
Efekty kształcenia
  1. Student rozróżnia środowiska produkcyjne od środowisk deweloperskich.
  2. Student konfiguruje rozwiazania zwiększające niezawodność przechowywania danych.
  3. Student buduje infrastrukturę do świadczenia usług wysokiej dostępności.
  4. Student stosuje rozwiazania usprawniające proces wytwarzania oprogramowania
  5. Student przedstawia standardy technologiczne umożliwiające separację lokaliazacji przetwarzania danych od przestrzeni składowania danych.
Metody weryfikacji efektów kształcenia
Efekt kształcenia 1 weryfikwany poprzez kolokwium wykładowe.
Efekt kształcenia 2 weryfikowany poprzez indywidualną weryfikację wiedzy i umiejętności bazującą na sprawdzaniu realizacji zadań laboratoryjnych
Efekt kształcenia 3 weryfikowany poprzez indywidualną weryfikację wiedzy i umiejętności bazującą na sprawdzaniu realizacji zadań laboratoryjnych
Efekt kształcenia 4 weryfikowany poprzez indywidualną weryfikację wiedzy i umiejętności bazującą na sprawdzaniu realizacji zadań laboratoryjnych
Efekt kształcenia 5 weryfikwany poprzez kolokwium wykładowe.

 
Wymagania wstępne
Umiejętność samodzielnej obsługi i konfiguracji oprogramowania w zakresie: obsługi graficznego interfejsu użytkownika, konstruowania poleceń z wykorzystaniem powłoki tekstowej, zarządzania oprogramowaniem i zasobami w systemach operacyjnych, posługiwania się przeglądarką internetową, podstaw konfiguracji komuniakcji w sieci komuterowej oraz wirtualizacji. Dodatkowo wymagana jest umiejętność programowania obiektowego.
Treści kształcenia z podziałem na formy
Treści wykładowe:
1. Mechanizmy zapewniające ochronę przechowywanych danych (lokalne i odległe przestrzenie składowania danych)
2. Infrastruktury usług wysokiej dostępności (klastry HA, FoS)
3. Zwiększanie wydajości oprogramowania (równoważenie obciązenia, monitorowanie)
4. Diagnostyka błędów, profilowanie i testowanie oprogramowania
5. Usprawnienia w procesie wytwarzania i utrzymania oprogramowania (automatyzacja, ciągłe wytwarzanie)

Zadania laboratoryjne są rozszerzeniem treści wykładowych i pozwalaja nabyć umiejętności praktyczne z wykorzystaniem współczesnego oprogramowania.
Literatura podstawowa
  1. Bryant D., Marín-Pérez A.: Ciągłe dostarczanie oprogramowania w języku Java. Najlepsze narzędzia i praktyki wdrażania kodu, Helion, 2019;
  2. Membrey P., Plugge E., Hows D.: Practical Load Balancing: Ride the Performance Tiger, Apress, 2012;
  3. Coulouris G., Dollimore J., Kindberg T., Blair G.: Distributed Systems: Concepts and Design, 5 wydanie, 2011;
  4. Somasundaram G., Shrivastava A.: Information Storage and Management: Storing, Managing, and Protecting Digital Information, Wiley, 2009;
  5. Tanenbaum A. S., Steen M.: Distributed systems: principles and paradigms, Pearson Prentice Hall, 2007;
  6. Beekhof A.: Pacemaker Clusters from Scrach, edition 5, 2012;
  7. Kopper K.: The Linux Enterprise Cluster, No Stach Press, 2005;
  8. Matotek D, Turnbull J., Lieverdink P.: Linux. Profesjonalne administrowanie systemem. Wydanie 2, Helion, 2018;
  9. Campbell L., Majors C.: Inżynieria niezawodnych baz danych. Projektowanie systemów odpornych na błędy, Helion, 2018;
  10. Sams P: Selenium. Automatyczne testowanie aplikacji, Helion, 2017;
  11. Gundecha U.: Selenium i testowanie aplikacji. Receptury. Wydanie 2, Helion, 2017;
  12. Pathania N.: Learning Continuous Integration with Jenkins, Packt Publishing, 2016;
  13. Smart J.: Java. Praktyczne narzędzia, Helion, 2009;
  14. Wolff E:: A Practical Guide to Continuous Delivery, Addison-Wesley, 2017;
  15. Rubinger A., Knutsen A.: Continuous Enterprise Development in Java, O'Reilly, 2014;
  16. Resman M.: CentOS High Availability, Packt Publishing, 2015;
  17. Vugt S.: Pro Linux High Availability Clustering, Apress, 2014;
  18. Syed A.: Practical Linux Infrastructure, Apress, 2014;
  19. Brendan G.: Wydajne systemy komputerowe. Przewodnik dla administratorów systemów lokalnych i w chmurze, Helion, 2014;
  20. Humble J., Farley D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Addison-Wesley, 2011;
Literatura uzupełniająca
  1. Edelman J., Lowe S., Oswalt M.: Programowalność i automatyzacja sieci. Poradnik inżyniera sieci następnej generacji, Helion, 2019;
  2. Tanenbaum A., Wetherall D.: Computer Networks, 5 wydanie, Prentice Hall, 2011;
  3. Binnie C.: Linux Server, Bezpieczeństwo i ochrona sieci, Helion, 2016;
  4. Hightower K., Burns B., Beda J.:Kubernetes. Tworzenie niezawodnych systemów rozproszonych, Helion, 2019;
  5. Serafin M.: Wirtualizacja w praktyce, Helion, 2011;
  6. Sobell M. G.: Fedora i Red Hat Enterprise Linux. Praktyczny przewodnik, 6 wydanie, Helion, 2012;
  7. Boronczyk T., Negus C.: CentOS Bible, Wiley, 2009;
  8. Hochstein L., Moser R.: Ansible w praktyce. Automatyzacja konfiguracji i proste instalowanie systemów. Wydanie 2, Helion, 2018;
Przeciętne obciążenie godzinowe studenta pracą własną
41
Uwagi
 
Aktualizacja 2020-04-17 11:18:28