Strapi – avatud lähtekoodiga headless sisuhaldus

Kui me räägime sisuhaldussüsteemidest, siis on veebis kindlaks liidriks olnud WordPress. Uute tuulte ja tehnoloogiatega on popid juba ka märksõnad nagu nodejs ja headless. Käesolevaga tutvustame võimalust kasutada Zone virtuaalserveri keskkonnas üht juhtivat headless-sisuhaldus süsteemi nimega Strapi.

Strapi on väga arendajasõbralik ning täielikult kohandatav kliendi vajadustele lähtuvalt. Kui rakendus on lugejale võõras, siis saab rakendusega tutvuda Strapi koduleheküljel ning täpsemalt lugedes selle dokumentatsiooni.

Mõneminutilise lühiülevaate saab ka järgnevast videost:

Serveri eelseadistamine

Strapi jookseb kenasti Zone veebimajutuse esimeses paketis. Kui server on olemas, siis tuleks enne rakenduse paigaldamist käia läbi mõned sammud:

1. Seadista SSH ligipääs.

Strapi paigaldamiseks peab olema seadistatud SSH ligipääs. SSH ühenduse loomise kohta saab täpsemalt lugeda Zone kasutajatoe veebilehelt artiklist SSH ühenduse loomine.

2. Lisa MySQL kasutaja ja andmebaas.

Kuigi Strapi oskab kasutada ka SQLite andmebaasi, oleks siiski targem lisada MySQL/MariaDB andmebaas, et tagada varukoopiad ning rakenduse töökindlus. Andmebaasi lisamise kohta saad lugeda Zone kasutajatoe veebilehelt artiklist MySQL/MariaDB andmebaasi kasutajakontod.

NB! Säilita andmebaaside andmed turvaliselt kuni rakenduse paigaldamiseni, kuna neid läheb seadistamisel vaja.

3. Määra veebiserveri mod_proxy port.

Lisa alamdomeen navigeerides Minu Zones Virtuaalserverid  – VeebiserverAlamdomeenid . Vajuta nuppu Lisa alamdomeen ning pärast lisamist seadista Rakenduse port, kuhu suunata sisenevad päringud (mod_proxy) väljale väärtus 1337. Vastavalt nimeserveri kirjete levikule, võiks alamdomeen tööle hakata peagi. Näidises lõime alamdomeeni api.miljonivaade.eu

Edaspidi õpetuses kasutatud virtXXXX tuleks asendada SSH kasutajanimega ning dataXX esimese kataloogiga, mida näeb käsuga pwd .

Paigalda ning seadista Strapi

Strapi paigaldamiseks tuleb luua SSH ühendus serverisse.

Järgmiseks käivitame juurkataloogis (näiteks /dataXX/virtXXX) käsu:

npx create-strapi-app@latest minu-projekt

Kinnituseks tuleb veel sisestada y ning vajutada klahvi Enter . Järgnevaks küsitakse seadistamise versiooni, selleks tuleks valida Custom (manual settings) . Vastasel juhul küll paigaldatakse töötav rakendus, aga ei seadistata MySQL/MariaDB andmebaasi. Pärast valikud küsitakse andmebaaside ja mõne muu seadistuse andmeid. Andmebaasi kohapeal tuleks valida mysql ning järgnevate küsimustega sisestada varasemalt loodud andmebaaside andmed. Välja võiks näha see umbes järgmine:

? Choose your installation type Custom (manual settings)
? Choose your default database client mysql
? Database name: dXXXXX_strapi
? Host:  dXXXXX.mysql.zonevs.eu
? Port: 3306
? Username: dXXXXX_strapi
? Password: *************************
? Enable SSL connection: Yes

Creating a project with custom database options.
Creating a new Strapi application at /dataXX/virtXXXXX/minu-projekt.
Creating files.

Seejärel läheb veidi aega, et seadistusviisard paigaldaks vajalikud pakid ja sõltuvused. Kui see on viimaks tehtud, peaks olema väljund umbes järgmine:

Dependencies installed successfully.

Your application was created at /dataXX/virtXXXXX/minu-projekt.

...

Järgmiseks mine loodud rakenduse kataloogi

cd minu-projekt

ning seadista rakenduse URL

nano config/server.js

Faili tuleb lisada varem loodud alamdomeen. Lõplik fail võiks välja näha umbes selline:

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  url: 'https://api.miljonivaade.eu',
  app: {  
    keys: env.array('APP_KEYS'),
  },
});

Selleks, et vastav seadistus ka tööle hakkaks, tuleb rakendus uuesti buildida käsuga

npm run build

Selles seisus on rakendus juba seadistatud ning seda on võimalik käivitada mitmel viisil. Näiteks:

# Tavaline käivitus
npx strapi start

# Arendusversioonina käivitus
npx strapi develop

Et rakendust lõplikult kasutama hakata, tuleb minna aadressile

https://api.miljonivaade.eu/admin ning lisada administraator-kasutaja.

Seadista Pm2 tagamaks rakenduse tööshoid

Selleks, et rakendus tööle jääks ka pärast ootamatut kokkujooksmist või serveri taaskäivitust, tuleb seadistada Minu Zone’s pm2. Kui rakendus hetkel jookseb, siis tuleks see praegu kinni panna (konsoolis vajutada näiteks ctrl + c ).

1. Loo pm2 ökosüsteemi fail

Loome minu-projekt kausta faili strapi.config.js . Sisuga

module.exports = {
    apps: [{
        name: "strapi",
        script: "npm",
        args: "start",
        cwd: process.env.HOME + "/minu-projekt",
        max_memory_restart : "256M",
        env: {
            NODE_ENV: "production"
        }
    }] 
}

2. Seadista pm2 rakendus Minu Zones

Mine Minu Zones VirtuaalserveridVeebiserverPM2 protsessid (Node.js) ning vajuta nuppu Lisa uus rakendus

Täita tuleks väljad:

VäliKirjeldus
nimistrapi
skript või PM2 .JSONmy-project/strapi.config.js

Maksimaalset mälukasutust määrama ei pea, kuna see on juba seadistatud ökosüsteemi failis. Pärast salvestamist peaks mõne minuti jooksul rakendus tööle hakkama. Kinnituseks aitavad konsoolis mõned pm2 käsud.

Käsu väljundis peaks olema info, et Strapi on running statuses

pm2 list

Kui rakendus mõne minuti jooksul tööle pole hakanud, siis vealogisid näeb käsuga

pm2 logs

Kokkuvõtteks

Strapi on headless CMS. See tähendab, et lahendatud on vaid andmestruktuuride API pool. Kasutajale nähtav visuaalne veebileht tuleb eraldi arendada. Kasutajaliideste arendamiseks on tänapäeval lõputult valikuid. Vue.js, React, Angular, Svelte ning palju muud. Seepärast paigaldasimegi strapi alamdomeenile api.miljonivaade.eu , et näiteks peadomeenile miljonivaade.eu loodud veebileht saaks html ja javascripti faile üle Apache veebiserveri kuvada.

Kui oled jänni jäänud mõne kaasaegse raamistiku töölepanekuga Zone serveris ning sooviksid vastavale rakendusele samasugust õpetust, siis võid sooviavalduse saata info@zone.ee või liitudes meie slack.zone.eu kanaliga. Zone on oma arenduses keskendunud modernsete tehnoloogiate toele ning teeme kõik, et tänapäevased arendusmeetodi ning rakendused meie serverites probleemidevabalt jookseksid.

“Zone taltsutab püütonit” ehk oluline teave Pythoni kasutajatele

1. novembril kaob Zone platvormist võimalus kasutada programmeerimiskeele Python VANU versioone. Alles jääb tugi värskeimale Pythoni versioonile. Muutuse põhjuseks on Pythoni keeruline ühilduvuspoliitika ning vanematest versioonidest tulenev risk meie serveriplatvormi stabiilsusele ja turvalisusele. Python on maailma üks polulaarseimaid programmeerimiskeeli, mistõttu selle toe päriselt kaotamist me ei kaalu.

Kurioossel kombel viib see meid varasemast selgemini ühele joonele Pythoni disainifilosoofiaga milleks on: “asjade tegemiseks peaks olema üks – ja soovitavalt ainult üks – ilmne viis”.

Silly Python

Zone virtuaalserveri ja nutika pilve-privaatserveri klientide enamus ootab teenuselt eelkõige toimivat klassikalist LAMP (Linux + Apache + MySQL + PHP) tarkvarakomplekti. Nii oli see 20 aastat tagasi ja nii on see ka praegu. Alati pole aga sellest piisanud ning seetõttu oleme aja jooksul lisanud platvormi uusi tarkvaratükke, mida ka LAMP rakendused kasutada soovivad. Lisamise tingimuseks on piisav kasutajate hulk ja mõistliku uuendamise võimalus.

Nii on näiteks platvormi lisandunud:

* Redis (hoiame viimast stabiilset versiooni)

* Node.js (hoiame viimast LTS versiooni)

Valdava osa ajast on meie platvormis olemas olnud ka programmeerimiskeel Python. Kuna tegemist on maailma populaarseima programeerimiskeelega, siis teisiti ei saakski ja Pythonit kasutab ka Zone ise.

Populaarsus tingib ka klientide huvi, kuid Pythoni ühilduvuspoliitika ning olemus teevad selle toetamise Zone platvormis väga keeruliseks. Sellist tuge, nagu näiteks PHP-le, me pakkuda ei saa ning me ei soovita Zone virtuaalserveris jooksutada suuri Pythoni rakendusi. Ad-hoc, analüüsi jms mitte kriitiliste rakenduste käivitamiseks on Python aga sobiv.

Korduvate küsimuste ning segaduste vältimiseks proovime võtta järgnevalt kokku selle, mida Zone pakkuda saab ja ei saa.

Mida me lubada SAAME:

* Kuigi mitte alati kõige viimast, siis mõistlikult värsket Pythoni versiooni süsteemis (hetkel on selleks versiooniks 3.8). Paralleelselt mitut versiooni hoiame süsteemis ainult üleminekuajal.

* Mooduleid virtuaalkeskkondade loomiseks (pip jms). Virtuaalkeskkonnad on ka ainuõige viis Zone platvormis Pythoni rakenduste kasutamiseks.

* Mysqlclient moodulit MySQL/MariaDB andmebaasidega suhtlemiseks.

Mida me pakkuda EI SAA:

* Paralleelselt erinevaid Pythoni versioone.

Nimelt vajab Python tööks tihti palju rohkemaid mooduleid, kui nt PHP, kuid arendajate soovimatus stabiilset API-t, sõltuvusi jms hoida teeb paralleelselt mitme Pythoni versiooni platvormis hoidmise äärmiselt keeruliseks. Paralleelselt mitut versiooni hoiame süsteemis ainult üleminekuajal, et anda sellega klientidele võimalus virtuaalkeskkonnad uuemale versioonile üle viia.

* Võimalust mooduleid kompileerida.

Zone platvorm on oma olemuselt “rolling distro” ja iga uuendus võib muuta või eemaldada teeke, mille vastu Pythoni moodulid ennast linkida võivad.

* Tuge Pythoni rakendustele, nende migreerimiseks uuemale Pythoni versioonile jne.

Ajaloolistel põhjustel on hetkel platvormis isegi kolm Pythoni versiooni – 2.7, 3.6 ja 3.8. Tugi versioonile 2.7 on juba lõppenud ning versiooni 3.6 tugi lõppeb selle aastaga ning nüüd on aeg need vananenud versioonid platvormist eemaldada.

Pane nüüd tähele: alates 1. novembrist tehtavad uuendused eemaldavad meie platvormist Pythoni versioonid 2.7 ja 3.6, misjärel jääb alles ainult versioon 3.8!

Palume selle aja jooksul oma virtuaalkeskkonnad ja skriptid kindlasti versioonile 3.8 üle viia.

Täiustame veebiserverite logimist

Järgnev postitus on suunatud klientidele ning neid esindavatele tehnilistele võluritele, kes veebiserverite logisid aktiivselt jälgivad ning analüüsivad.

Nimelt on Zone parandamas oma veebimajutuse logide vormistuse ja säilitamise korda ning 27. septembrist plaanime sellele üle minna kogu oma ZoneOS platvormi ulatuses. See hõlmab muuhulgas ka kõiki meie Virtuaalserveri teenuseid.

Aga haarakem härjal sarvist. Täna on meie veebiserveri logides kirjed vormistatud selliselt:

example.com 1.2.3.4 - - [08/Mar/2021:13:58:23 +0000] "GET / HTTP/1.0" 200 3390 "https://example.com/referer" "ApacheBench/2.3" (064FD630-5.001)

Koosneb see logirida järgmisest infost:

  1. veebileht, millele päring tehti
  2. IP aadress, millelt päring tehti
  3. esimene “-” on pärand ajaloo hämarustest, mil veebiserver sai ’identd’ teenuse kaudu pärija arvutist teada päringu teinud külastaja nime, tänapäeval pole see võimalik ja see väli on alati tühi
  4. teine “-” kuvatakse päringust puuduva kasutajanime asemel, HTTP Basic Authentication kasutamisel seisab siin kasutajanimi
  5. päringu kuupäev ja kellaaeg
  6. päringu sisu (antud juhul siis teostati vanamoelisele HTTP/1.0 standardile vastav GET päring veebilehe juurkataloogi pihta)
  7. päringu vastuse kood, 200 tähendab OK
  8. päringu vastuse suurus
  9. lehekülg, mis viitas päritud lehele (kui see info pandi brauseri poolt kaasa)
  10. veebilehitseja, mis päringu teostas, meie näite puhul kasutati selleks ApacheBench nimelist käsureautiliiti
  11. Zone poolt arendatava ja kasutatava PHP-ZFPM mooduli poolt päringule antud identifikaator, mis võimaldab meil probleeme lahendada

Uus logikirje vorm näeb välja selline:

example.com 2021-03-08T13:58:23.209048Z 1.2.3.4 12345 - - "GET / HTTP/1.0" 200 3390 "https://example.com/referer" "ApacheBench/2.3" 1621846 (064FD630-5.001)

Tähele tasub panna järgmist:

* päringu aeg on kolinud rea 5. positsioonilt 2. positsioonile
* päringu aeg antakse nüüd edasi mikrosekundites (RFC3339 standardile vastavalt), sest meie veebiserverid on nii kiired, et sekund on päringute analüüsimiseks liiga pikk ajaühik 🙂
* päringu aja ümbert on eemaldatud nurksulud, et seda oleks lihtsam töödelda
* päringu aeg on nüüd kahe stringi asemel üks string, mis teeb selle samuti lihtsamini töödeldavaks
* lisaks päringu lähteaadressile (3. positsioon) logitakse nüüd 4. positsioonil ka lähteport, et NAT teenuse taha sattunud kasutajate probleemide lahendamine oleks lihtsam
* ühtlasi leiab eelviimaselt positsioonilt info selle kohta, kaua (seinakella järgi) läks veebiserveril aega päringule vastamiseks, taas mikrosekundites

Logide säilitamise korras on samuti toimumas muutused, mis puudutavad peamiselt veebiserveri ja PHP logifailide nimesid ja on osaliselt juba jõustunud:

* kui seni sisaldas logifaili nimekiri järjekorranumbrit (apache.ssl.access.log.1.gz), siis nüüd sisaldab see kuupäeva (apache.ssl.access.log.2021-09-16.gz)
* kui samal kuupäeval tekib mitu arhiivifaili, siis pannakse igale järgnevale failile kuupäeva taha järjekorranumber, alustades 1-st.

Muutus failinimedes aitab meil klientidele kokku hoida varukoopiate ruumi, kuna see vähendab varukoopia tegemisel muutunuks loetavate failide hulka.

Kardetavasti on isegi meie blogi lugejatest 99% inimesi juba vajutanud back nuppu, sest “who cares”, aga logid on meie töös äärmiselt tähtsad. Seetõttu kui ülalolevast infost oli sulle ka sinu töös kasu, siis meie poolt “respect“!

18.01.2021 katkestuse post-mortem

Esmaspäeva, 18. jaanuari õhtul lõpetas töö üks meie võrguseade, täpsemalt kommutaator ehk switch, mille kaudu käib mitmete serverite võrguühendus.

Tegemist oli seadmega, milles riskialtid komponendid dubleeritud, kuid mille riknemisi siiski esineb. Tavapäraselt oleme võrguseadme väljavahetamise ajakuluks arvestanud umbes 1 tunni. Selliste seadmete korralise väljavahetamise tsükkel on meil 5 aastat, uued täielikult dubleeritud seadmed olid seadistamise lõppfaasis.

Katkestus algas kell 17:15 ja mõjutas ca 40% Virtuaalserveritest ning 1/3 tavapärasest veebipäringute arvust. Klientide muud teenused nagu e-post, nimeserverid, ZoneCloud toimisid normaalselt.

Paraku ilmnes võrguseadme vahetamise järel, et tavapärase liiklusmahu korral kahaneb võrgukiirus olematuks.

Järgnes veaotsing, mille käigus prooviti läbi erinevad vea-hüpoteesid, paigaldati järgmine varuseade ja valmistuti ka võrgusegmendi üleviimiseks erinevale tehnoloogiale. Lõpuks tuvastati probleemina kommutaatori tarkvara viga, mis ilmnes reaalse koormuse tekkimisel ning mida ei olnud võimalik testkeskkonnas tuvastada. Probleemi lahendas vanema tarkvaraversiooni kasutuselevõtt, kõigi teenuste töö oli lõplikult taastunud kella 00:50ks.

Mida me teeme teenuste tõrkekindluse parandamiseks?

Kuna kõik Virtuaalservereid teenindavad serverid on meil test-rakenduse tasemel välises monitooringus jälgitavad, siis teame, et nende käideldavusnäitaja, milles sisalduvad ka korralised hooldused, on aasta lõikes 99,96-99,98%. Käesoleva katkestuse järel on mõjutatud serverite aastane näitaja tasemel 99,85%-99,89%. Meie eesmärk on alati olnud hoida oma teenustase koos hooldusakende arvestusega üle 99,9% käideldavusel ja hooldusaknaid välja jättes võimalikult lähedal 100%-le.

Nagu mainitud oli meil ettevalmistamisel võrguseadmete väljavahetamine ja täielik dubleerimine eesmärgiga selliseid riske maandada. Viime selle lõpuni lähinädalatel ja mõistagi öisel ajal, täpsest ajast teavitame kliente e-kirjaga.

Palume vabandust rikke põhjustatud ebamugavuste pärast ja panustame aastal 2021 veelgi enam sellesse, et kõik Zone teenused oleksid võrdselt töökindlad, ajaga kaasas käivad ja turvalised.

Ja kindlasti tänud neile, kes meie tehnikute tegevusele sotsiaalmeedias kaasa elasid – püüame olla oma tegevustes võimalikult läbipaistvad, kuvades nii tõrkeid kui plaanitud hooldusi zone.ee esilehel koos viitega status.zone.eu lehele, kust huvilistel on võimalik tellida ka teavitused e-postile. Samuti võite alati kindlad olla, et Zone süsteemid on 24/7/365 monitooritud ning sõltumata nädalapäevast või kellaajast ning riketega tegeletakse, kuni need on lõplikult lahendatud.

Tehniline taust

Tegemist oli võrgusegmendiga, kus oleme viis aastat kasutanud SDN (Software Defined Networking ehk programmeeritav võrgustus) tehnoloogiat, mis lahutab võrgu riistvara ja tarkvara üksteisest sõltumatumaks. Lihtsustades tähendab see, et kasutame Linuxil põhinevaid võrguseadmeid maailma juhtivatelt tootjatelt, mis on oma iseloomult suhteliselt lihtsad ja robustsed meie spetsialistidele seadistada, hallata jne.

Samuti on meil korraliste riistvarauuenduste käigus võimalik valida parim lahendus, olemata seotud ühe tarnijaga. Nagu eespool mainitud, olime ühte sellist vahetust just ette valmistamas, uued seadmekapid olid ette valmistatud ning lähinädalatel plaanis serverite üleviimine. Tavapäraselt olid nii põhi- kui varuseadmed seadistatud kasutama tarkvara värskeimat stabiilset versiooni ning testitud.

Üks selline varuseade võeti kasutusele ning alglaadimise järel tundus kõik andmekeskuses olevatele tehnikutele toimivat, aga kaughaldust tegeval meeskonnal oli probleeme ligipääsuga serveritele. ping toimis kenasti, aga ssh oli probleemne, staatiline sait HTTP peal toimis aga HTTPS keeldus kätlemast, andmebaasiserveriga ei saadud ühendust jne.

Kogu võrguseadmete konfiguratsioon käidi ridahaaval läbi, et tuvastada erisusi kõrval töötavate seadmetega. Katsetati kõiki võimatuid ja võimalikke riistvaraga seotud teooriaid alates AOC (Active Optical Cable) kaabliriketest, lõpetades võimalike anomaaliateni DDoS kaitses jne.

Vea tuvastamise protsessi käigus toodi meie teisest andmekeskusest kohale kolmas sarnane võrguseade välistamaks võimalust, et esimene asendusseade on vigane. Jällegi, läbiti tavapärane protseduur selle seadistamiseks ja paigaldamiseks, kuid kahjuks jõuti kõikide muudatuste tulemusena täpselt samasse punkti välja. Kõik töötab, aga seadmesse sisenedes kahaneb andmeside olematuks – nagu autol rakenduks puhtal sirgel teel veojõukontoll.

Lõpuks jõudsime tegeliku juurprobleemini. Mis nii kurioosne kui see ei ole, oli seotud selle võrguseadme eesootava asendusega. Nagu öeldud, siis SDN puhul on tihti kasutusel arhitektuur, kus võrgu riistvara on ühelt tootjalt (nö “white box”) ja selle nutikus tuleb Linux operatsioonil põhineva tarkuse kaudu mujalt. Selgus, et meie tehnikud kasutasid rikkis võrguseadmele asenduse paigaldamisel Linuxi versiooni, mida nad olid juba kasutanud uute võrguseadmete ettevalmistamisel. See oli aga mõne väljalaske võrra uuem, kui see mis varasemasse seadmesse oli paigaldatud. Uus tarkvaraversioon sisaldas seni täpselt tuvastamata viga ning probleem lahenes vanema tarkvaraversiooni paigaldamisega.

Järgmisel päeval suutsid tehnikud laboritingimustes probleemi reprodutseerida. Me ei tea veel milline tarkvara “bugi” või ”uus featuur” täpselt seda põhjustas, aga ASIC erikiipidel toimuv superkiire TCP/IP pakettide edastamine lülitati seadmes välja ja nende edastamine läks üle CPU-le ehk protsessorile, mis andmeside kontekstis on võrgu jõudlusele sisuliselt surmahoop. Paraku ei täheldanud me sedapuhku ka CPU koormusnäitajate märkimisväärset tõusu. Nimelt on selles samas tarkvaras ka loogika, mis piirab protsessorile edastatavate pakettide arvu ülekoormust ennetavalt ära.

Takkajärgi sündmuste ahelat läbi vaadates tundub kõik muidugi lihtne, aga reaal-ajas tähendas see paljudele seda, et esmaspäeval tuli tööpäevale teine ja keskmisest stressirohkem otsa. Tegutseme edasi selle nimel, et 24/7/365 käideldavus oleks saavutatav rahulikult 9st 17ni riske maandades :.)

Amsterdamis majutatud serverid kolivad uude andmekeskusesse

Neljapäeva, 26. jaanuari varahommikul kolime Amsterdamis majutatud Pilve- ja Virtuaalserverid uude andmekeskusesse.

Kolimisega kaasneb katkestus kell 01-05 (Eesti aja järgi), kliendid keda see mõjutab said nädal tagasi e-postile ka vastava eelteavituse.

Kuna meie seni kasutatud Amsterdami andmekeskus hakkas kitsaks jääma, oleme umbes pool aastat plaaninud oma serverite kolimist uude andmekeskusesse.

Toide, võrguühendused ning osa võrguseadmetest on seal juba kohal ja testitud, 26. jaanuari varahommikul liiguvad ühest majast teise ka serverid, mida kasutavad Pilveserver PRO SSD kliendid, aga samuti oma asukohaks Amsterdami valinud Pilveserver VPS ja Virutaalserverite kliendid.

Kolimisega kaasneb ca 4h katkestus – aga nagu timelapse-videost näha, oleme me seda juba oluliselt suurema hulga serveritega harjutanud:

Zone teenuste olekut saab reaalajas jälgida status.zone.eu, samast saab ka tellida e-postile teavituse intsidentide kohta.

Uus asukoht Euroopa ühes kaasaegsemas andmekeskuses (Equinix AM6) tõstab meie süsteemide töökindlust, tagades kõrgendatud nõuetele vastavad toite- ja võrgulahendused, võimsama kliimatehnika ja kõrgema turvalisuse. Andmekeskuse sertifitseeringud hõlmavad nii ISAE 3402, ISO27001, ISO 140001, ISO 50001 kui ka PCI DSS standardeid. Mitmekordistub ka meie kohapealse andmesidevõrgu ühenduskiirus.

Kuna uues andmekeskuses avaneb meil võimalus paindlikumalt muuta olemasolevaid ning luua uusi teenuseid, siis oleme huvitatud ka teie ettepanekutest, soovidest ja tagasisidest – muuhulgas on uues kohas juba paigas esimesed Nutikad Privaatserverid.