Knjigovodstveni programi u oblaku

Prednosti i izazovi programa za knjigovodstvo u oblaku

S obzirom da je tematika poslovnih aplikacija i “cloud computing-a”” u poslednje vreme jako aktuelna, odlučio sam da i ja iznesem svoja razmišljanja na temu uloge oblaka i knjigovodstvenih programa.

Šta je to “oblak” i što se toliko priča o njemu u poslednje vreme?

Velika većina programa za knjigovodstvo danas su tradicionalne desktop aplikacije čiji se domen integracije u većini slučajeva ostvaruje u okviru lokalne mreže kompanije uz povremene izlete širenjem te lokalne mreže između podružnica putem VPN povezivanja. Osnovni problem (u kontekstu ovog posta) sa ovim tipom programa je u tome što ne postoji jednostavan način povezivanja korisnika koji su van lokalne mreže i u tome da je set podataka centralizovan na jednom mestu, a znate i sami onaj štos u vezi važnosti backup-a podataka

Korisnici se dele na dva tipa: oni koji su izgubili podatke
i oni koji će tek izgubiti podatke.

Prvenstveno kao reakcija proizvođača programa na teškoće u instaliranju i ažuriranju desktop programa klijenata, ali delimično i u želji da se ova dva navedena problema otklone nastali su web programi za knjigovodstvo kod kojih je su program za knjigovodstvo i baza podataka na udaljenom serveru proizvođača knjigovodstvenog programa kojima se pristupa putem internet pretraživača kao što je na primer Firefox ili putem internet prebacivanja na kompjuter proizvođača knjigovodstvenih programa na kome se onda izvršava program. Kao jedna od osnovnih prednosti ovog rešenja po korisnike često se navodi to da o aplikaciji i podacima brinu profesionalci koji vrše redovno održavanje rezervnih kopija podataka, staraju se o problemima itd.

Programi u oblaku su dalji korak u “profesionalizaciji” web knjigovodstvenih programa. Logika ovde je da proizvođači knjigovodstvenih programa su eksperti u svom domenu knjigovodstvenih programa, ali nisu eksperti u domenu održavanja optimalnog stanja web resursa, mrežnoj infrastrukturi, nemaju dovoljno resursa da održe optimalno i efikasno funkcionisanje sistema kada veći broj korisnika u isto vreme kreće da koristi program itd. Iz tog razloga proizvođači knjigovodstvenih programa odustaju od  imanja sopstvenih internet servera, sopstvenih baza podataka itd u korist iznajmljivanja internet mrežnih resursa firmi specijalizovanih za to.

Ti internet mrežni resursi koji se rentiraju po potrebi se popularno nazivaju oblakom.

Prednost knjigovodstvenih programa koji se koriste oblakom je dakle da se:

  • o mrežnoj internet infrastrukturi  brinu firme specijalizovane za to (Microsoft, Amazon, Google itd)
  • o knjigovodstvenom programu na toj infrastrukturi se brinu firme koje ih prave
  • korisnika zanima samo kako da koristi program bez ikakvih instalacija itd.

Oblak i knjigovodstveni programi

Na žalost, po mom ličnom mišljenju, ova idilična slika nije sasvim primenjiva u oblasti poslovnih programa, prvenstveno usled problema koje  web knjigovodstveni programi imaju, a koji se ukratko svode na to da web knjigovodstveni programi ne iskorišćavaju maksimalno potencijale korisničkog kompjutera i limitiraju time korisničku produktivnost kao i na to da je meni postojanja internet veze kao preduslova za funkcionisanje poslovne aplikacije neprihvatljiv uslov za knjigovodstvene programe.

Kao rešenje tih nedostataka ja sam odabrao arhitekturu “S+S” knjigovodstvenih programa u kome se klasičan knjigovodstveni program povezuje se bazom podataka i setom internet servisa. Suština distribuiranog knjigovodstvenog programa je u tome da se u radu korisnik uvek koristi lokalno prisutnom bazom dok program preuzima na sebe slanje i preuzimanje novih podataka sa servera u oblaku. Pored baze u oblaku, koriste se i procesorski resursi u oblaku za stvari poput integracije sa B2B portalima dobavljača itd.

Ovakav koncept je na tržištu knjigovodstvenih proizvoda relativno jedinstven tako da svaki put kad ga prezentujem nekom dobijem more pitanja od kojih se neki ponavljaju, a s obzirom da njihovi odgovori određuju moje poglede na temu ovog članka knjigovodstveni programi u oblaku rekoh da ih pribeležim

Piši Milijana ‘vako…

Najčešće postavljena pitanja u vezi programa z knjigovodstvo u oblaku

  • Šta kad nema interneta?
    Program funkcioniše normalno u meri koja garantuje nesmetan rad do uspostavljanja internet veze. Onog momenta kada internet veza se uspostavi program sam pokupi sve promene kreirane lokalno i pošalje ih serveru u oblaku bez ikakve potrebe za korisničkom intervencijom – potpuno automatizovano.
  • Šta ako instaliram program na novom računaru (kući, druga prodavnica itd)?
    Program automatski-bez intervencije korisnika nakon instalacije pošalje na taj novi kompjuter ažurnu kopiju podataka tako da ste u roku od par minuta od instalacije programa potpuno spremni za rad.
  • Da li to znači da sa podacima moje firme mogu da pristupim od kuće, sa laptopa  i da vidim u realnom vremenu promene kako se dešavaju u preduzeću?
    Apsolutno.
  • Šta ako unosim podatke na više različitih mesta (kući, prodavnica1, prodavnica2)?
    Program automatski-bez intervencije korisnika sve podatke šalje na server gde se oni slažu u bazi u oblaku. Kompletiran set podataka se zatim šalje svim stanicama tako da svi imaju sve podatke.
  • Da li to znači da sa podacima mojih nekoliko maloprodajnih objekata mogu da radim od kuće? Npr. ako unesem kući kalkulaciju, odradim nivelaciju i slično za prodavnicu 1, to će se automatski pojaviti u kompjuteru prodavnice 1?
    Upravo tako.
  • Da li moj knjigovođa može da radi sa mojim podacima iz svoje kancelarije?
    Da li moj knjigovođa može da radi sa mojim podacima bez pristupa mojoj lokalnoj mreži (VPN itd)?
    Naravno da može. Knjigovođa se poveže sa centralnom bazom na internetu, odradi svoj posao i onda taj set novih podataka se sa internet servera pošalje na bazu koja se nalazi na računaru korisnika (isto kao br. 3)
  • Da li moj knjigovođa može da radi sa mojim podacima istovremeno dok ja radim svoj posao?
    Da li moj knjigovođa može da radi sa mojim podacima dok je meni ugašen računar?
    Naravno da može. Knjigovođa radi sa njegovom lokalnom bazom, korisnik sa njegovom lokalnom bazom potpuno nezavisno, a sinhronizacioni kod njihove promene šalje i prima sa internet servera.
  • Šta ako se baza na mom lokalnom kompjuteru obriše (disk se pokvari, obrišem je greškom itd)?
    Apsolutno ništa. Program će prepoznati da nema podataka i sa internet servera će skinuti ažurni set podataka tako da za par minuta baza je ponovo tu – potpuno automatski bez intervencije korisnika.
  • Šta je sa backupom podataka baze na internetu?
    Program koristi SQL Azure internet bazu podataka koja se sama po sebi kopira u dva geografski odvojena centra: jedan je u Irskoj drugi je u Holandiji. Sem toga, oblak svakog dana radi odvojenu backup baze u Table storage skladište na oblaku koji se takođe replicira lokalno na server moje firme..
  • Šta ako se baza u oblaku ipak obriše/uništi/pokvari, a nema ni rezervnih kopija?
    To je potpuno nemoguće, ali čisto priče radi – neka bude. Ako bi se to desilo, nema problema opet jer svako od korisnika ima jednu ili više lokalnih baza sa kojima radi. Prazna baza na oblaku bi pozvala stanice da pošalju podatke sa lokalnih stanica i na taj način bi sama sebe regenerisala za manje od sat vremena.

  • Da li neko može da prisluškuje i krade moje podatke dok ih šaljem na server u oblaku?
    Prisluškivač je onemogućen time što se sva komunikacija sa serverom u oblaku obavlja preko sigurnosnog šifrovanog SSL kanala (istu zaštitu koriste naprimer eBanking portali itd)
  • Da li neko može da skine sa internet servera moje podatke?
    Da li neko može na server da pošalje pod mojim imenom lažne/pogrešne podatke?
    Ukratko – ne. Svaki rad na sistemu zahteva da se korisnik prijavi i time dobija sigurnosni kod – token koji zatim šalje sa svakim paketom kao sredstvo identifikacije pošiljaoca. Dodatne provere poput IP adrese pošiljaoca itd su takođe uključene. Ovo su samo provere o kojima mogu javno da pišem – ima ih još par dodatnih koji garantuju poverljivost podataka.
  • A šta ako ipak neko nekako uspe da skine podatke sa internet oblaka?
    To je potpuno nemoguće, ali čisto priče radi – neka bude.
    Svi podaci tipa partnera, artikala, brojeva računa itd u bazi se nalaze šifrovani tako da i kad bi neko teorijski došao do podataka ništa u njima ne bi bilo čitljivo sem gomile brojki bez ikakvih ličnih podataka u njima.
    Slična vrsta zaštite je implementirana i u lokalnoj bazi.
  • Da li neki drugi korisnik može da dešifruje moje podatke?
    Ne. Svaki korisnik programa ima posebnu šifru koja se koristi za šifrovanje njegovih podataka.
  • Šta ako korisnik izgubi/zaboravi šifru?
    Tokom instalacije programa korisnik se pita da li želi da se kopija njegove šifre sačuva bezbedno na oblaku (dodatno šifrirana i zaštićena). U slučaju da se korisnik složi sa tim, kopija šifre postoji i njemu se šalje nakon striktne provere identiteta. U slučaju da se korisnik ne složi sa tim da moja firma u oblaku čuva kopiju šifrantskog ključa, on je jedini koji ga ima te u slučaju da ga izgubi nema mu pomoći – čak ni ja ne mogu da mu dekodiram podatke. Sam program će kao preporučen način će biti da se kopija ključa čuva u oblaku.
  • Šta je sa mojim podacima ako odlučim da ne budem više korisnik programa?
    Prvo, korisnik u svakom momentu ima potpuni set podataka na svom lokalnom kompjuteru tako da mu podaci u oblaku uopšte nisu potrebni. I pored toga, korisniku se svi podaci čuvaju besplatno na serveru neograničeno vreme tako da uvek može da ih skine u stanju u kome su zamrznuti kad god poželi bez zahteva da bude aktivan korisnik. Naravno, ako korisnik eksplicitno zahteva da se njegovi podaci obrišu iz oblaka, to je takođe moguće.
  • Da li je moguće ne koristiti sinhronizaciju sa oblakom?
    U cilju pojednostavljenja korisničkog iskustva i poslovanja moje firme – ne. Ono što je bitno naglasiti ovde da iako je sinhronizacija sa oblakom neophodan uslov, ona se obavlja potpuno nevidljivo za korisnika, može se obavljati povremeno (jednom dnevno, nedeljno itd) na bilo kojoj internet vezi (dial up, wifi, adsl) tako da obavezujući atribut ovog zahteva ne bi trebao da ima bilo kakve negativne posledice po korisničko iskustvo.
  • Da li se moji podaci svih poslovnih godina nalaze u jednoj bazi na oblaku?
    Korisnici sa osnovnom korisničkom licencom sve podatke jedne godine fizički drže u istoj bazi.
    Razlog za to je da je najmanja baza na SQL Azure oblaku veličine 1 Gb i košta 10 evra mesečno njen zakup, što uz trenutno percipiranu mesečnu cenu  zakupa programa od 25 evra je očigledno preveliko opterećenje imati zasebne baze po godini. Ako bi korisnik insistirao na zasebnoj bazi po godini, to bi dodalo po 10 evra na cenu mesečnog zakupa za svaku poslovnu godinu. Po meni je to čisto bacanje para, ali je moguće. Sve ovo se naravno odnosi na to kako su podaci fizički uskladišteni u oblaku. To apsolutno nema nikakvog uticaja na rad programa gde su podaci različitih godina pojavno potpuno razdvojeni. Drugim rečima korisnik ima utisak u radu kao da su zasebne baze.
    Takođe je u planu je da korisnik, nezavisno od toga kako su podaci u oblaku uskladišteni, sam odabere kako želi da ih ima podešene u lokalu – zasebna baza po godini ili ne.
  • Da li se samo moji podaci nalaze u bazi na oblaku?
    Koliko god ja voleo Microsoft, ne volim ih toliko da im poklonim polovinu mesečne pretplate mojih korisnika tako da su podaci više korisnika sa osnovnom licencom uskladišteni fizički u istoj bazi podataka. Logika ovde je da prosečan set podataka po poslovnoj godini je reda veličine 50 Mb, te je korišćenje baze od 1 Gb za skladištenje samo tih podataka bacanje 950 Mb prostora. Tehnika pakovanja podataka više firmi u istu bazu podataka se zove sharding ili horizontalno particionisanje , a u slučaju SQL Azure database se implementira putem korišćenja SQL federacija. Tehnikalije na stranu, ono što je suštinski bitno naglasiti ovde je da iako su podaci više firmi uskladišteni fizički u jednoj bazi u oblaku to nema apsolutno nikakvog uticaja na performanse, sigurnost i pojavne aspekte funkcionisanja programa korisnika. Naravno da i ovde postoji opcija “+10 evra mesečno” ako korisnik želi da ima svoju sopstvenu bazu.
  • Da li mi je potreban administrator mreža da podesim i/ili održavam oblak rešenje?
    Ne. Samo običan kompjuter sa internet vezom preko koga se skine instalacija programa,a program posle sve sam podesi i održava.
  • Da li i korisnici unutar lokalne mreže (npr. komercijala i magacin) razmenjuju podatke putem oblaka?
    Ne. Program podržava da se korisnici unutar lokalne mreže razmenjuju podatke putem servera u toj lokalnoj mreži, a taj zajednički server sve te promene zbirno i nezavisno od korisnika sinhronizuje sa serverom na oblaku.

Bilo je tu još pitanja, ali mislim da je i ovo verovatno već previše za članak, tako da ovde prekidam listu, a ako treba nastavićemo kroz komentare ovog članka ili putem maila.

S glavom u oblacima,
Vaš Nikola Malović

Real-user monitoring for Accessibility, Performance, Security, SEO & Errors (SiteLint)