În primul rând această tehnologie este esențială oricărui proiect și probabil sunt variante și mai performante. Să pornești o suită de servicii cu o comandă ca și cea de mai jos mi se pare fascinant. Pentru aham.ro sunt 8 servicii cel puțin ce sunt pornite și asigură bună funcționarea platformei cu o sumplă comandă ca și aceasta:
docker compose up
Un alt motiv pe lângă ușurința cu care pornești o întreagă suită de servicii este felul în care rulează și pe un singur server creeând containere izolate ce pot comunica prin intermediul unei rețele create pentru servicii. De asemenea și felul în care setezi volume și directoare pentru un anumit container este foarte simplu și elegant. De exemplu aham.ro este pornit cu doar o simplă comandă make prod și pentru development make dev ce creeaza deasemenea containere docker.
Un alt lucru mișto e că se pot crea imagini pe care le poți salva pe un repository și porni pe un alt server. Deocamdată pentru aham.ro este destul de simplu însă chiar și dacă ai avea de a face cu o platformă cu volum mare de trafic ar fi simplu să scalezi pe orizontală porning pe mai multe servere imagini în funcție de load. Deocamdată e doar ceva ce e posibil și nu necesar deoarece gazduirea nu este oferită de un serviciu dedicat, astfel pentru a putea avea o găzduire dedicată poți dona orice sumă aici.
Serviciile de baza rulate de docker sunt următoarele:
- web ( aham.ro ) – pagina principala nextjs
- api ( api.aham.ro ) – api general anunturi
- cdn (cdn.aham.ro ) – manager de imagini
- url (url.aham.ro ) – interfata navigate in/out
Astea sunt serviciile de bază ce comunică între ele prin intermediul unei rețele definite pentru o anumită clasă de ip-uri. Chiar și aceast pagină este servită de un container pe care rulează WordPress. Pentru orice întrebare te rog trimite un email la admin [at] aham.ro.