Technológia
A fejlesztés során igyekszünk a mindig legmodernebb technológiát választani. De folyamatosan figyelve arra, hogy a technológia mögött valamilyen nagyobb cég álljon, hogy a választott megoldás hosszútávon támogatva legyen. Nem egy „divathullámra” akarunk felülni, hanem a stabilan növekvő, fejlődő technológiákat alkalmazni
Technológia

A prodHost rendszere egy olyan online, valós idejű, felhő alapú megoldás, amely mesterséges intelligenciával és intuitív felülettel segíti a rendszert használó vállalkozásokat. A fejlesztés során igyekszünk a mindig legmodernebb technológiát választani. De folyamatosan figyelve arra, hogy a technológia mögött valamilyen nagyobb cég álljon, hogy a választott megoldás hosszútávon támogatva legyen. Nem egy „divathullámra” akarunk felülni, hanem a stabilan növekvő, fejlődő technológiákat alkalmazni.

A korábbi tapasztalataink során is, viszonylag kevés erőforrásból állítottunk elő olyat termékeket, amelyeknek a nagy cégek termékeivel kellet felvenniük a versenyt. Így számos olyan tapasztaltunk és alkalmazott módszer van, mellyel a fejlesztés ütemét lehet gyorsítani, vagy annak elvárt minőségét biztosítani. Ezek a módszerek jó része a prodHost fejlesztése során is alkalmazásra kerülnek.

A c# programozási nyelv

A rendszer legtöbb része a Microsoft által fejlesztett c# programnyelven fog elkészülni, melynek előnyei:

  • Barátságos: A C# egyszerűre és könnyen használhatóra van tervezve.
  • Skálázhatóság: Kicsi és óriás feladatokra egyaránt alkalmas.
  • Könnyű karbantarthatóság: Szigorú típusosság, könnyű hibakezelés és felderítés.
  • Platformfüggetlen: Telefon, egyedi hardware eszköz, Linux, asztali gép vagy felhőben futó szerver.
  • Gyors: Statikusan típusos, így a fordító számos optimalizálást képes végrehajtani a fordítás közben.
  • Széles támogatottság: 4. legnagyobb StackOverflow közösség, Nyílt forráskódú fejlesztés.
  • Jövőkép: Folyamatosan fejlesztett, a közösség és a Microsoft által.

https://mashable.com/2018/03/17/coding-course-class-bootcamp/?europe=true#IvS4jEeltGqk

Microservice technológia

A Microservice technológia egy alkalmazás fejlesztési metodológia, melyben az alkalmazás kisebb, egymástól függetlenül telepíthető szolgáltatásokból épül fel. Ennek a megközelítésnek számos előnye van a fejlesztő és DevOps teamek számára és teljes mértékben ki tudja szolgálni egy cég agilis fejlesztési stratégiáját. Netflix, Amazon, eBay, Twitter, PayPal és más technológiai csillagok is a Microservice technológiát alkalmazzák. Melynek számos hasznos előnye van:

  • Független komponensek: Mindegyik szerviz önállóan lehet telepíteni, fejleszteni, indítani
  • Üzletközpontú tagoltság: Egy szerviz jellemzően egy üzleti feladatot lát el
  • Egyszerű kommunikáció
  • Decentralizáltság
  • Hibatűrőség
  • Tovább fejleszthető

https://microservices.io/

https://smartbear.com/learn/api-design/what-are-microservices/

NoSql adatbázisok

Következő generációs adatbázisok használata, a hatékony és gyors adat tárolás érdekében. Amelyeket a prodHost használ: MongoDB, Microsoft Cosmos DB, Neo4J. Ezekre az adatbázisokra jellemző:

  • Nem relációs adatbázisok
  • Elosztott architektúra
  • Horizontális skálázhatósás
  • Feladat orientáltság

Ezek az adatbázisok a feladat orientáltságuk révén összehasonlíthatatlanul gyorsabbak az egyes feladatok végrehajtásában, mint a hagyományos adatbázisok. Ilyen feladatok lehetnek az óriás méretű fileok tárolása és keresése (például videó fájlok esetén), gráf szerkezetek tárolása és adatkeresés (készlet beépülés), százmilliós mennyiségű adatrekordok kezelése (IoT).

http://nosql-database.org/

Modern fejlesztési irányelvek

A prodHost a rendszer fejlesztése során a modern és élvonalbeli technológiai cégeknél már bizonyított metodológiákat és módszereket alkalmaz a fejlesztés során. Ezek részben technológiai, részben pedig csapat szervezési irányelvek.

  • Code Codex: Az alapelvek egy kódexben kerülnek összefoglalásra, melyet be kell tartani mindenkinek.
  • Scrum módszertan: Agilis, Rugalmas, 2 hetes sprintekre bontott fejlesztési szakaszok.
  • Unit Teszt: Minden egyes modul és funkcióhoz kötelezően tartozik teszt, ami automatikusan fut.
  • Code Coverage: Egy modul vagy funkció minden sorát 100%-osan fednie kell a teszteknek.
  • Code Revison: Kulcs területek esetében a forráskód változásokat egy másik fejlesztő átnézi.
  • QA: Unit tesztek futtatása, integrációs teszteszek futtatása, end-to-end tesztek futtatása.
  • Continous Integration: A teljes minőségbiztosítási folyamat automatikusan és folyamatosan fut a háttérben.
  • Continius Delivery: Minden kéthetes ciklus végén automatikus és folyamatos kiszállítás az éles rendszerbe
  • DevOps team a Scrum team része.

https://medium.com/jorgeacetozi/continuous-integration-vs-continuous-delivery-vs-continuous-deployment-d5839a85a959

https://en.wikipedia.org/wiki/Scrum_(software_development)

Microsoft Azure felhő

Az Azure a Microsoft felhő platformja, ahol minden szolgáltatás egy helyen van, emellett az Azure kifejezetten üzleti célú felhasználásra van tervezve, nagy fokú skálázhatósággal és terhelhetőséggel. Azure szolgálatatások, melyek a prodHost számára érdekesek:

  • Számítási kapacitások
  • Weblapok és Web alkalmazás interfészek üzemeltetése
  • Adattárolás: file alapon, adatbázisban, adattó-ban
  • Analitikák: Üzleti és forgalmi analitikák
  • Virtuális hálózatok
  • Hibrid integráció: Azon ügyfelek számára, akik felhős és on-premise szolgáltatást várnak el
  • IoT támogatás
  • Magas fokú biztoság és azonosítás
  • Mesterséges intelligencia támogatás: Arcfelismerés, beszéd, helyesírás, chatbot, stb…
  • Széleskorú fejlesztői és minőségbiztosítási támogatások
  • Mobile támogatás, és kényelmes portál felület
  • Menedzsment: Árak, szolgálgatások, számlák áttekinthetősége kezelése

https://searchcloudcomputing.techtarget.com/definition/Windows-Azure

Biztonság

A biztonság alapkövetelmény az Azure-nál. Többrétegű biztonság érhető el a fizikai adatközpontokra, az infrastruktúrára és az üzemeltetésre is kiterjedően, és emellett kiberbiztonsági szakértők végeznek folyamatos monitorozást az Ön üzleti objektumainak és adatainak védelme érdekében.

https://www.youtube.com/watch?v=YskZ3WcK2jM

A fenyegetések megelőzése, észlelése és elhárítása érdekében a Azure Security Center gyűjti és dolgozza fel a biztonsággal kapcsolatos adatokat, beleértve a konfigurációs információkat, a metaadatokat, az eseménynaplókat és egyebeket. A Microsoft szigorú megfelelőségi és biztonsági szabályokat követ, a kódolástól kezdve egészen a szolgáltatások üzemeltetéséig.

Adatforrások

Az Azure Security Center az alábbi forrásokból kapott adatok elemzésével biztosítja a biztonsági állapot áttekinthetőségét, azonosítja a biztonsági réseket, javításokat javasolj, valamint észleli az aktív fenyegetéseket:

  • Azure Services: az adott erőforrás-szolgáltatóval kommunikálva üzembe helyezett Azure-szolgáltatások konfigurációjával kapcsolatos információkat használja.
  • Hálózati forgalom: a hálózati forgalom metaadataiból vett mintát használja a Microsoft infrastruktúrájából, például a forrás és a cél IP-címét és portját, a csomagméretet és a hálózati protokollt.
  • Partnermegoldások: Az integrált partnermegoldásoktól, például tűzfalaktól és kártevőirtó megoldásoktól érkező biztonsági riasztásokat használja.
  • A Virtual Machines és a kiszolgálók: konfigurációs adatokat és információkat használ a biztonsági eseményekről, például a Windows-események és-naplók, az IIS-naplók és a virtuális gépek syslog-üzeneteiről. Ezenkívül a riasztások létrejöttekor az Azure Security Center pillanatfelvételt készíthet az érintett virtuálisgép-lemezről, és kinyerheti belőle a riasztással kapcsolatos gépösszetevőket (például a beállításjegyzék-fájlt vizsgálati célokra).
Adatvédelem

Az adatok elkülönítése: az adatok logikailag elkülönítve vannak tárolva a szolgáltatás egyes összetevőiben. Az összes adat szervezet szerint van megcímkézve. Ez a címkézés megmarad az adatok teljes életciklusa alatt, és a szolgáltatás minden rétegében érvényes.

  • Adatokhoz való hozzáférés: a biztonsági javaslatok biztosításához és az esetleges biztonsági fenyegetések kivizsgálásához a Microsoft munkatársai hozzáférhetnek az Azure-szolgáltatások által összegyűjtött vagy elemzett információkhoz, beleértve a folyamat-létrehozási eseményeket, a VM-lemezek pillanatképeit és összetevőit, amelyek véletlenül magukban foglalhatják a virtuális gépekről származó ügyféladatokat vagy személyes adatokat. Betartjuk a Microsoft Online Services és az adatvédelmi nyilatkozat feltételeit, amelyek szerint a Microsoft nem használja fel az ügyféladatokat, és nem veszi igénybe azokat hirdetési vagy hasonló kereskedelmi célokra. Az ügyféladatokat szükség esetén csak arra használjuk, hogy biztosítsuk Önnek az Azure-szolgáltatásokat, beleértve a szolgáltatások nyújtásának megfelelő célokat is. Minden, az ügyféladatokhoz fűződő jog az Ön tulajdonában marad.
  • Az adatok felhasználása: a Microsoft a különböző bérlőknél észlelt mintákat és fenyegetésre vonatkozó intelligenciát használ a megelőzési és észlelési funkcióihoz, és ezt az adatvédelmi nyilatkozatában ismertetett adatvédelmi kötelezettségeinek megfelelően teszi.