Felhő alapú szoftverfejlesztés

A tantárgy angol neve: Cloud Based Software Development

Adatlap utolsó módosítása: 2019. augusztus 26.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Mérnökinformatikus szak,
Villamosmérnöki szak,
Szabadon választható tantárgy
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUAV24   2/0/0/f 2  
3. A tantárgyfelelős személy és tanszék Dr. Kővári Bence András,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Albert István

Mérnöktanár

Automatizálási és Alkalmazott Informatikai Tanszék

Dr. Kővári Bence András

Egyetemi docens

Automatizálási és Alkalmazott Informatikai Tanszék

5. A tantárgy az alábbi témakörök ismeretére épít Objektum orientált programozás, .NET és Java alapismeretek.
6. Előtanulmányi rend
Kötelező:
NEM ( TárgyEredmény( "BMEVIAUAV07" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUAV07", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:

Szoftverfejlesztés .NET platformra

 Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábbannem hallgatták a következő tárgyakat: Számítási felhő alapú szoftverfejlesztés (VIAUAV07 

7. A tantárgy célkitűzése

A tárgy célja a számítási felhőkre történő szoftverfejlesztés módszereinek és legjobb gyakorlatainak széleskörű bemutatása. A hallgatók megismerkednek a számítási felhők működésével, programozásának módszereivel. Mélységeiben tárgyalja a fejlesztés során felmerülő gyakori feladatok megoldásának elméleti lehetőségeit tervezési minták bemutatásával, kiegészítve platform-specifikus technikák részletes ismertetésével.


8. A tantárgy részletes tematikája

Hét

Előadás anyaga

1.

Bevezetés a számítási felhők világába. Üzleti igények és trendek. Megoldási szintek és alternatívák (SaaS, IaaS, PaaS). Adatközpontok főbb jellegzetességei.

2.

Tervezési minták a felhőben. Cloud-first szoftverek tervezési szempontjai. Multi-tenant, SaaS szolgáltatások jellegzetességei.

3.

Microsoft Azure platform bevezetés. Azure Resource Manager. Azure AD, előfizetések kapcsolata, előfizetések kezelése.

4.

Infrastruktúraszolgáltatások (IaaS), virtuális gépek, virtuális hálózatok. Skálázási lehetőségek és magas rendelkezésre állás biztosítása infrastruktúra szinten.

5.

Felhőbeli adattárolási megoldások áttekintése. Azure Storage: blob, table és queue storage. Hozzáférésszabályozás az adattárolók szintjén. Integrációs és adatfeldolgozási (stream és batch processing) szolgáltatások.

6.

Labor: bevezetés az Azure előfizetés és szolgáltatások kezelésébe, példa Azure Storage használatára.

7.

Relációs adatbázisok a felhőben: alapszolgáltatások, adatszinkronizáció, adatpartícionálás. NoSQL adattárolási lehetőségek a felhőben: dokumentum, kulcs-érték, ill. gráf alapú tárolók, valamint szövegindexelési megoldások.

8.

Labor: NoSQL adattárolási megoldások használata.

9.

Platformszolgáltatások (PaaS): mobil backend, webalkalmazás, API a felhőben. Kiegészítő szolgáltatások backend üzemeltetéshez: telepítés, monitorozás, nyomkövetés. Skálázási lehetőségek és megfontolások platform szinten. Serverless backend megoldások.

10.

Labor: backend fejlesztés Azure App Service használatával.

11.

Labor: mobil backend fejlesztés Azure Mobile Apps szolgáltatásra építve.

12.

Egyéb felhőszolgáltatások: Big Data, IoT és Machine Learning megoldások a felhőben.  

13.

Labor: serverless backend fejlesztése.

14.

Házi feladatok bemutatása


9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás (számítógép laborban)
10. Követelmények

 

A szorgalmi időszakban:

Nagy házi feladat készítése előre egyeztetett témában, felhő alapú megoldások felhasználásával.

 

A félév elismerését jelentő félév végi jegy megszerzésére akkor van lehetőség, ha a hallgató a házi feladatot megvalósító alkalmazás működését oktató előtt demonstrálta, valamint dokumentációval ellátva, forráskód mellékelésével, határidőre beadta.

 

A házi feladat értékelése: 1-5 érdemjegy félévközi jegyként.


 

11. Pótlási lehetőségek

A házi (otthoni) feladatot a szorgalmi időszak végéig be kell adni, ennek pótlása a pótlási időszakban lehetséges.


12. Konzultációs lehetőségek Igény szerint előadóval egyeztetve. 
13. Jegyzet, tankönyv, felhasználható irodalom

·         John Gilbert: Cloud Native Development Patterns and Best Practices: Practical architectural patterns for building modern, distributed cloud-native systems, Packt, 2018

·         Tom Laszewski et al.: Cloud Native Architectures: Design high-availability and cost-effective applications for the cloud, Packt, 2018

·         Thurupathan Vijayakumar: Practical Azure Application Development: A Step-by-Step Approach to Build Feature-Rich Cloud-Ready Solutions, Apress, 2017

·         Microsoft Azure Documentation https://docs.microsoft.com/en-us/azure/

·         Microsoft Learn – Introduction to Azure https://docs.microsoft.com/en-us/learn/azure/


14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

 

Kontakt óra28
Félévközi készülés órákra7
Felkészülés zárthelyire0
Házi feladat elkészítése25
Kijelölt írásos tananyag elsajátítása0
Vizsgafelkészülés0
Összesen60

 

15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Albert István

Mérnöktanár

Automatizálási és Alkalmazott Informatikai Tanszék

Kővári Bence

Egyetemi docens

Automatizálási és Alkalmazott Informatikai Tanszék

Tóth Tibor

Ügyvivő-szakértő mérnök

Automatizálási és Alkalmazott Informatikai Tanszék

Simon Gábor

Ügyvivő-szakértő mérnök

Automatizálási és Alkalmazott Informatikai Tanszék