Obchodní partneři Nákupa prodej Skladová evidence
Majetek a leasing Účetnictví Personalistika
a mzdy
Editor's Notes
#6 Bohužel nebo naštěstí jsme si nevystačili s jedním zákazníkem a začali jsme provozovat více aplikačních serverů a SQL serverů. Sice virtualizovaně, ale i tak nám to způsobovalo problémy.
Narazili jsme na několik problémů:
- mnoho uživatelů a hodně z nich je pasivních. To jsou uživatelé, kteří systém právě teď nepoužívají, ale aplikační server jim musí běžet. Máme mnoho testovacích uživatelů a ti to zkouší a nepoužívají denně.
- nutnost schvalovat testovací licence – jinak nám někdo vytvoří stovky nebo tisíce nových instalací a zahltí nás.
- škálovatelnost a robustnost – do jednoho serveru narveme desítky GB RAM. Když nasadíme záložní servery, všechno spotřebujeme několikrát.
Rozhodli jsme se, že musíme změnit architekturu aplikace.
#7 Klienti mají tři problémy:
- bude to fungovat?
- je to bezpečné?
- kolik to stojí
Konkurentem pro nás nejsou terminálové služby (stojí cca 1000,- Kč za uživatele měsíčně), ale to, že si data nechají na svém notebooku. Konkurencí je také vlastní VPS server za pár stovek korun měsíčně. Naštěstí normálně fungující firma si to nemůže dovolit riskovat.
Aktuálně přibližně 30% uživatelů používá přístup přes internet. Tak 25% přímo cloud. Zbytek si to hostuje na vlastních serverech.
Klienti se bojí dávat data k cizí firmě. Někdy jim to brání i legislativa – např. Zbrojní firmy či veřejně obchodovatelné firmy.
V některých zemích existuje třeba zákon (myslím, že Slovensko), který zakazuje export personálních dat do zahraničí. Když ale server běží v zahraničí, tento zákon porušujete.
Příkladem toho, že uživatelé o to mají zájem jsou různé online fakturace. To už je skoro jako slevomaty. I my jsme spustili službu Účtujte s Podnikatel.cz, která je postavená na FlexiBee a přináší zjednodušenou fakturaci i se základní verzí zdarma.
#9 lineární vs logaritmická složitost
lineární na disku (ten je levný)
lineární na počet současných požadavků (každý trvá 5 vteřin).
logaritmická na počet instalací, počet klientů
cloud má nedostatek aktuálního výkonu, ale hodně výkonu celkem
- optimalizace pro odloženou realizaci
- selhání je standard - klientské aplikace s tím musí počítat
- OBRÁZEK: průměr za 5 minut vs průměr za 5 vteřin
#10
- Oddělená autorizace od informací o uživatelých (login server)
- jak řešit DDoS
- bezpečnost disků
- interní šifrování v clusteru
- hacknutí je významnější
◦ SSL a podvrhnutí certifikátu
▪ ukradené CA, tajné služby
▪ DNSSec je řešení v kombinaci s DANE (TLSA)
#11 hacknout se to vyplatí
účetnictví vaší mámy se nevyplatí
hacknout google se vyplatí
bude válka tajných služeb
vydělám nebo se proslavím
#13 Nejvěší slabinou cloudového přístupu je autorizace uživatele.
Banka vs účetnictví - lidem na tom nezáleží.
Někdy ani majitelům firem.
Lze nastavit kvalitu hesel.
Chce to sebekázeň a heslo mít kvalitní.
Neměla by být jeho sdílená znalost.
Uvažovali jsme nad posílání SMS apod.
Zvolili jsme stejnou technologii, kterou používá google - OTP.
Je to standard.
- Google Authenticator
- TOTP c200 - cena cca 200 Kč bez DPH
Použití OTP je dobrovolné a lze je nastavit i pouze pro klíčové lidi (např. mzdová účetní)
#16 ◦ vývoz dat
◦ národní zájem
◦ ISO 27000 - Program
#17 • vysoká dostupnost
◦ Osvoboďte svá data
◦ Cloud nemá 100%
◦ Výpadek amazonu - skynet
◦ Chce to mít více zón
#18 • zaměstanci poskytovatele
◦ vlastní zaměstnanci
◦ cizí zaměstnanci
◦ 90% krádeží je zaměstnanci
◦ zákazníci nedůvěřují svým IT
◦ Kradou i zákazníci
◦ Anonymizace dat
#20 • šifrování všude
◦ přenosy
◦ interní autorizace
◦ verzovací systém a klíčová data, puppet
◦ šifrování disků - nevíte komu se dostanou do ruky
HeartBleed
#21 Uvažovali jsme zda nepoužít nějakou platformu. Bohužel zatím žádná z nich nepodporuje PostreSQL. A současně běží daleko. Naše specializovaná aplikace je citlivá na latenci (provádí mnoho volání). Proto je i irsko příliš daleko.
Museli jsme proto zatím aplikaci provozovat jen na vlastní infrastruktuře.
Na tomto obrázku je vidět, že máme vždy tři repliky (jedna z nich je master) pro databázové úložiště. Těch databázových úložišť je více. Každé úložiště je v RAIDu. Takže od každých dat máme 6 kopií. A to nepočítám zálohy. Každý megabajt máme cca desetkrát.
Dále máme více aplikačních serverů. Každý z nich se může napojit na libovolné databázové úložiště dle firmy. Před tím jsou postaveny dva loadbalancery, které rozhazují zátěž na aplikační servery a sledují jejich životnost. Je zde maximální snaha, aby vždy stejný klient šel stejnou cestou. Tím můžeme cachovat některá data.
První věc a nejzásadnější byla úprava aplikace tak, aby mohlo na jednom serveru běžet více klientů. Znamená to načtení dat o firmě při prvním požadavku a jen její krátké cachování. Nemůžeme si tedy moc věcí přednačítat a musíme tomu podvolit vývoj. Prostě si nemůže aplikační server nahrát pár megabajtů dat a ty pak držet dlouho.
Museli jsme také upravit všechny části tak, aby byly maximálně bezstavové. Přepsali jsme třeba ochranu proti CSRF a je kompletně bezstavová – používá cookie.
#22 Jedině REST API
Bez toho to nejde.
Připravit již hotové integrace (u nás autorizace na google, kontakty na google, ...)
#23 Protože naše aplikace podporuje přístup přes internet, začali jsme ji provozovat na našich serverech. Prostě nám běží aplikační a SQL server a klient se připojuje.
Vytvořili jsme tedy aplikaci, která má desktopového klienta, aplikační server a SQL server. S tímto aplikačním serverem umí komunikovat přes internet. Používá k tomu interní protokol.
#24 Klienti mají cloud rádi. Nebojte se jim jej nabízet.
Mají jen tři obavy:
- aby to fungovalo. Pro nás je problém s
- bezpečnost – cesta do afriky
cena – ve skutečnosti je cena trápí nejvíce.
Petr: Lze zaúčtovat "341 daň z příjmu" proti "336 závazky ze sociálního a zdravotního pojištění"?