Firebird felhőben (delphi)

Firebird felhőben (delphi)
2021-02-26T22:02:20+01:00
2021-03-09T09:13:27+01:00
2022-10-15T21:25:50+02:00
ordell10
Üdvözlök Mindenkit!

Úgy alakult, hogy egy már meglevő Delphis programot, ami Firebird adatbázist használ, át kellene helyezni felhőbe, hogy több helyről is elérjék könnyedén. Még sosem foglalkoztam ilyennel, tudnátok tanácsot, ötleteket adni, hogyan tudnám ezt a legkönnyebben kivitelezn? Melyik felhőt ajánljátok a firebird adatbáziskezelőhöz? 

Köszönöm a válaszokat!

Üdv 
Zoltán
Mutasd a teljes hozzászólást!
Ha vannak UDF-ek akkor Windows alapú VPS kell neked. Én nem szeretek publikus IP címre Windows-os gépet tenni, pláne RDP-t, ezzel azért legyén kellően óvatos.
Mutasd a teljes hozzászólást!

  • Szerintem ez nem programozási kérdés, vagy konkrétan egy elosztott rendszert szeretnél lefejleszteni saját magad? Erősen üzemeltetés-szagú a kérdésed.

    Gyorsan szeretnéd, vagy biztonságosan? Ki lehet tenni Firebird-öt publikus IP címre is (csak ne az alapértelmezett SYSDBA jelszót használd), bár ez szerintem erősen ellenjavallt. Én betenném VPN mögé, onnan már OK a dolog. Mindkettőt csináltam már, és mindkettő működik.

    Fontos még, hogy a programod legyen felkészítve arra, ha szakad a hálózati kapcsolat...
    Mutasd a teljes hozzászólást!
  • Köszi, érdekel a megoldásod. Az adatok gyakorlatilag dátumok és számok lennének titkosítás mellett egy statisztika számára, amit nem szükséges vpn mögé zárni. Arra lennék kíváncsi, hogy melyik felhő lenne alkalmas legjobban egy firebird adatbázisnsk, ha egyáltalán érdemes megemliteni ezt? Egy helyről lenne szükséges a statisztika lehívása. Melyik felhőbe hozzak létre accountot? A szakadás esetén valóban azt le kell programozni.
    Mutasd a teljes hozzászólást!
  • Gyakorlatilag mindegy. Én saját fizikai szervereken Docker konténerben futtatom ügyfeleknek is, gyorsan átpakolható másik gépre ha kellene. Erre egy pár dolláros VPS is elég szerintem, azt kell tudni milyen rendelkezésre állás szükséges. Jó, ha közel van (alacsony ping), vagy sok lekérdezésnél sokat kell várni.
    Mutasd a teljes hozzászólást!
  • A rendelkezésre állás nem szükséges másodpercre pontosan. Egy ellenőrző nézne rá mindig a statisztikákra és azt elemzi ki. Igazából a megvalósítást nem tudom, hogy fogjak neki. Van egy Delphi - FireBird-öt használó program. Az adatbázis felhőben lenne. Delphi oldalon maradhat pl. az IPX komponens paletta, ezt nem kellene lecserélni pl. azure stb komponensekre? Csak felmásolom felhőbe az FDB-t és a programból ip cím alapján hivatkozok rá és kész?

    Néztem a Dockert és a VPS cluodot is, amit említettél, egyelőre még ennek utána kell olvassak hogyan tudok oda bármit elhelyezni felmásolni, majd hivatkozni rá egy neten lévő gépről.
    Mutasd a teljes hozzászólást!
  • Delphi-hez nem értek. A szoftverek amiket használnak így simán TCP/IP alapon kapcsolódnak az adatbázis szerverhez. Ha ez nálad is adott (és így kell lennie) akkor nincs gond. A programnak kb. mindegy hogy hol fut az adatbázis szerver, IP alapon legyen elérhető neki.

    Csak felmásolom felhőbe az FDB-t és a programból ip cím alapján hivatkozok rá és kész?

    Nem. Kell egy Firebird is ami kezeli azt az állományt. A Firebird ez esetben nem a felhasználó / felhasználók gépein fut, hanem a "felhőben". Pont ez a lényeg.

    Ha egyikkel sincs tapasztalatod (szerver üzemeltetés és konténerizációs technológia) akkor lehet nem kellene élesben ilyenekkel játszani. A VPS-t pikk-pakk rommá törik ha megfelelő tűzfal nélkül indítod, a Docker nem bonyolult ugyan, de azért egy pl. napi biztonsági mentés stb. illene.
    Mutasd a teljes hozzászólást!
  • Igen, a felhőben van fb szerver az adatbázis mellett, de a kliens gépeken is kell, hogy fb kliens fusson, nem?

    Valóban, semmi tapasztalatom nincs ezzel kapcsolatban, a felhőben való telepítésről, beállításokról pedig végképp. Az sem nagyon világos, hogy mely ip alapján fogok tudni rátalálni az adatbázisra egy kliens neten lógó gépről.

    Első körben mondjuk a docker.com-on kéne egy account valamennyi dodóért cserébe, utána a firebird adatbázist feltelepítem (gondolom 2.5) és gyakorlatilag a kliensről a megfelelő ip-vel mennie is kéne, ezt akkor jól sejtem? :)
    Mutasd a teljes hozzászólást!
  • Most amatőr kérdés jön, docker desktopot kell telepítenem?
    Mutasd a teljes hozzászólást!
  • a kliens gépeken is kell, hogy fb kliens fusson, nem?

    Természetesen. De ez eddig is megvolt, ez max. pár DLL fájl.

     Valóban, semmi tapasztalatom nincs ezzel kapcsolatban, a felhőben való telepítésről, beállításokról pedig végképp. Az sem nagyon világos, hogy mely ip alapján fogok tudni rátalálni az adatbázisra egy kliens neten lógó gépről.

    Ezért nem javaslom hogy éles projekten gyakorolj. Amit én javasoltam, az csak egy lehetőség. Nem biztos hogy az a jó neked. Egy Docker konténerbe a Firebird Linux-os verzióját tudod csak tenni, lehet nem is kompatibilis vele a programod (pl. ha UDF-jeid vannak DLL formájában, azt oda nem tudod betenni). Ha simán bérelsz egy VPS-t, arra nem kell még egy izolációs réteg (Docker), simán mehet rá a natív Firebird csomag, engedélyezed a tűzfalán és kész. Nem szép, de működik. De ezzel a nyakadba vetted a VPS üzemeltetését is, annak minden problémájával együtt (sérülékenységek, patch-elés, tűzfalazás, monitoring, biztonsági mentés). Ez maga külön szakterület. Én csak a saját példámat hoztam, hogy sok apró szolgáltatást üzemeltetek ügyfeleknek, Firebird is van köztük így, és nekem a Docker bevált, mert portábilis maradt a cucc, és a hoszt gépre nem kell telepíteni semmit. Leállítom a konténert, kimásolom a fájlokat, bemásolom egy új szerveren, elindítom, módosítom a DNS rekordokat és minden megy tovább. Erre nincs is szükséged ha natívban simán feltelepíted a Firebird-öt egy VPS-re.

    Első körben mondjuk a docker.com-on kéne egy account valamennyi dodóért cserébe, utána a firebird adatbázist feltelepítem (gondolom 2.5) és gyakorlatilag a kliensről a megfelelő ip-vel mennie is kéne, ezt akkor jól sejtem?

    Nem használom a docker.com semmilyen szolgáltatását, így nem tudok nyilatkozni. Ha azt sem tudod milyen verziójú Firebird-re van szükséged, az régen rossz.

    Ui.: megnéztem. A docker.com repository-k tárolásához biztosít szolgáltatást (és build-eléshez), semmilyen virtuális szerver szolgáltatással nem foglalkoznak. Nem üzemeltetésre való. Javaslom olvass utána a koncepciónak amit javasoltam, akár kihagyva a Docker-t. Neked elég egy normális rendelkezésre állású, biztonsági mentésekkel ellátott VPS, hiszen másra nem fogod használni.
    Mutasd a teljes hozzászólást!
  • Nekem, van ilyen tapasztalatom. A programot amit írok sokan átrakták a "felhőbe". Semmi érdekes nincs benne amennyiben, terminal szerverekről beszélünk mint felhős megoldás. Tehát a telepített kliensek is ott futnak, és távoli asztallal használják a programot.

    A firebird/delphis programok felépítéséből bőbeszédű viselkedéséből fakadóan, fontos hogy a kliens és az adatbázis szerver közel legyenek egymáshoz, különben lassú lesz, leginkább a latency-vel van gond, illetve a csomag méretekkel.

    A másik, hogy 2.5 - ben a teljes beszélgetés lehallgatható titkosítatlan. 

    Végezetül:

    Az nem igazi kliens alkalmazás ami abból áll, hogy minden feldolgozás benne van a programban és az adatbázis szerver A szerver. De ez manapság még mindig így van, legacy kódok miatt.
    Mutasd a teljes hozzászólást!
  • Egy terminál szerveres környezet kialakítása alsó hangon félmillió forint, csak úgy jelzem... Windows Server Standard + User / Device CAL + RDS CAL. Egy távoli gépen futtatott Firebird + VPN havi pár ezer forintban megáll. Ha nem egy egybites programozó készítette az alkalmazást aki pl. ciklusba tesz SQL lekérdezéseket, azaz csak a szükséges mennyiségű adatbázis kommunikációt végzi, akkor nincs baj. Sajnos a tapasztalatom az, hogy több nagy nevű ügyviteli szoftver ilyen tekintetben rendkívül hanyagul van megoldva.
    Mutasd a teljes hozzászólást!
  • Ezért kell teljesen bérelni a megoldást akkor nem lesz ennyi a költség.
    A nagy nevű ügyviteli cégek valaha nem voltak annyira nagy nevűek, de mindent nem írnak újra nulláról, vannak ott még abból az időből is programok.
    Mutasd a teljes hozzászólást!
  • Ezért kell teljesen bérelni a megoldást akkor nem lesz ennyi a költség.

    OK. Akkor (havidíjak):

    - Windows Server Standard 2Core (8 core minimum vásárolandó): kb. 10eFt/hónap
    - Windows Remote Desktop Services SAL: kb. 3.000Ft / hónap / felhasználó
    - Plusz maga a VPS amire telepíted

    Kis szerencsével a Windows-os VPS mondjuk megáll 7-8000Ft-ban, ehhez kell még az RDS SAL felhasználónként. Minimum 10-12eFt/hó a legolcsóbb egy felhasználós környezet, plusz minden egyes felhasználóval emelkedik 1-1 SAL árával. Aztán szépen kinövöd a vasat is. :)

    A nagy nevű ügyviteli cégek valaha nem voltak annyira nagy nevűek, de mindent nem írnak újra nulláról, vannak ott még abból az időből is programok.

    Egyetértünk. De attól még a szoftver / kód trehány marad. Nem írom le melyik cég ügyviteli szoftvere jött hozzám két éve elemzésre. Egy riportnál amit az művelt Firebird-el, az durva volt... Lehet nem volt egyetlen egy értelmes ember náluk aki egy (vagy pár) komplex SQL lekérdezéssel megoldotta volna, de ez csak őket minősíti. Annyi lekérdezést csinált hogy még gigabites hálózaton, SSD-k mellett is percekre lebénította az adatbázis szervert... Ezt VPN-en át kb. felejtsd el, sosem fut le. Távoli asztallal amit javasolsz még OK, de egy jó (hibrid) rendszer nem olcsó.

    Nem érzem azt hogy jelen témában ilyen megoldások kellenének.
    Mutasd a teljes hozzászólást!
  • Elnézést a késésért, köszönöm a válaszokat!

    Igen, néztem a Docker Desktopot, ez Linuxos felületet, nem lesz jó, ahogy írod, eleve UDF-eket is használ az adatbázisban a firebird. Csak azért írtam, hogy nem tudom hányas Firebird, mert ügyfeleknek sem egyforma, ahogy az Oracle projektek sem azok, van, aki még a Ora9-essel működik, páran meg már Ora19-et használ, ez ugyanígy van a FireBird projekteknél is, de a 2.5-nek vinnie kell a régieket is, nem tudok kompatibilitási problémákról.

    Ezek szerint elég lenne egy VPS-t bérelni.
    Mutasd a teljes hozzászólást!
  • Köszönöm a választ!

    Ez az RDP-s megoldás egyszerűbbnek tűnik, mi is használunk így programokat, vagy Delphit, de az nem felhőben van. Elkezdek utánanézni, mert egyelőre homály vagyok. Lehet, hogy odáig jutok, hogy egy ezzel foglalkozó céget megbízok vele.
    Mutasd a teljes hozzászólást!
  • Ha vannak UDF-ek akkor Windows alapú VPS kell neked. Én nem szeretek publikus IP címre Windows-os gépet tenni, pláne RDP-t, ezzel azért legyén kellően óvatos.
    Mutasd a teljes hozzászólást!
  • Távoli asztali szolgáltatások (terminál szerver) igénye esetén ez nem lesz olcsó mulatság. Nem elég a felhasználó / eszköz CAL, hanem RDS CAL-okat is kell vásárolni. Bérelni is lehet (SPLA), azzal havidíjasan megúszod. Ezzel igazából csak annyit csinálsz, hogy az alkalmazást egy másik gépre teszed, amit egy időben akár több fiókkal is, RDP-n éred el. Ez már nem az amiről indult a társalgás. Ahhoz hogy egy távoli adatbázist el tudj érni elég egy Windows-os VPS, rajta a Firebird (az UDF-ekkel), opcionálisan VPN mögé téve a biztonság kedvéért.

    Olvasom még amit írsz: nem egyféle verziójú Firebird van? Akkor vagy többet futtatsz más-más porton, vagy külön virtuális gépet az ügyfeleknek. RDS esetén ez drága lesz...
    Mutasd a teljes hozzászólást!
  • Szerintem pedig itt kellene szemlélet váltáson gondolkozni, és ha csak datum+szamok mennek FEL, akkor en osszedobnak egy db-t es hozza valami egyszeru api-t, és azon keresztül irnám. Statisztika meg mehet egy online felületen. lehet, hogy eszerubb lenne, és gyorsabb, mint szerver verzio, és olcsobb is szerintem. Es igy kinyilnak a lehetosegek is, pl live alert...
    Mutasd a teljes hozzászólást!
  • Tudom, nem az volt a kérdés, hogy hogyan kellene átírni az egészet, de megfontolásra javaslom az MSSQL/Azure kombinációt. Nem komoly munka átteni Firebird-ről MSQL-re, az Azure alapszintű csomag fillérekért elviszi biztonságosan, egyszerű és állandó hozzáféréssel. Volt sok Firebird-ös dolgom, mindent áttettem, nem bántam meg.
    Mutasd a teljes hozzászólást!
  • Köszönöm a válaszokat! Ezen is elgondolkodom, mivel az Azure komponenspaletta miatt nekem is ajánlották már közben ezt a fajta megoldást. Egyelőre egy rendszergazda ismerősöm kértem meg, ő fog bérelni minimális virtualizációs oprendszert alá. Tudom ez nem a legolcsóbb és legjobb megoldás, de most idő hiányában ez lesz, kipróbálom a vps-t és az azure komponenseket is a későbbiekben.

    Köszönöm mindenkinek a hozzászólásait! Ha elakadnék valamiben, akkor teszek fel további kérdéseket! :)
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd