V-ar interesa un serviciu care va ajuta la server management?

Momentan lucrez la un proiect care da acces rapid la servere Neo4j. Pe masura ce lucrez la el ma gandesc ca as putea sa ofer mult mai mult, ca un serviciu care sa ajute la managementul serverelor.

De genul iti creezi un server, vrei sa instalezi Web server, il adaugi din click-uri. Instalezi MySQL server, il adaugi.

Deocamdata de abia m-am gandit si doresc sa obtin niste feedback de la voi.
Voi ati folosi asa ceva?

Daca am inteles bine ce vrei sa faci, inseamna ca vrei sa faci ceva de genul asta: https://serverpilot.io/features-overview.html
Te poti inspira dupa modelul celor de la serverpilot. Cand instalez agentul serverpilot pe server mi se adauga repositoryul lor pe server, si se instaleaza pachetele lor de LAMP / LEMP (NginX cu proxy pe Apache, MySQL, PHP), pachete care au ultimele versiuni (spre exemplu se instaleaza PHP in 3 versiuni, incluzand ultima versiune 5.6), ceea ce mi se pare cea mai buna functie pe care mi-o ofera serviciul lor (ultimele versiuni ale softurilor LAMP + updateuri de securitate).
Alte siteuri similare din care te poti inspira:
https://wrappy.ws/
https://www.cloud66.com/features
https://www.ecmanaged.com/

Ar fi misto sa faci asta. Si daca faci platforma, fa-o complexa si customizabila. Adica userul sa poata alege intre LAMP sau LEMP (Apache sau NginX, sau chiar nginx cu proxy catre apache), sa poata alege cum face deployment (FTP, SFTP sau Git), sa poate alege si solutie de email, si pt baza de date (MySQL, MongoDB, etc).
Cu proiectul asta te poti arunca in functii si il poti face foarte complex.

Pe mine probabil ca m-ar interesa. Dar depinde si cati bani ceri :smiley:

Da, intradevar seamana cu serverpilot.io dar ei fac foarte slim toata chestia. Daca puteam sa imi configurez un server de mail la ei chiar l-as fi folosit.

Daca incep sa fac platforma o sa o fac simpla la inceput si pot sa pornesc mai complexa dupa. Mi s-ar parea interesant sa poata userii sa isi creeze ei scripturile de deploy si sa poata dea si share la ele daca doresc sa fie extinse.

@tacheshun inca nu m-am gandit cat as cere, deocamdata ma gandesc ca vreau sa o fac :smile: ar fi destul de mult timp in alpha free sigur ca sa pot sa o dezvolt. Tu folosesti DigitalOcean sau alt provider de servere?
Si spune-mi cam ce feature-uri te-ar interesa pe tine.

serverpilot.io – “Nginx in front of Apache” :astonished:

Nu stiu cum intentionezi sa procedezi, eu am incercat sa urmaresc comunitatea si serviciile pt. Docker, daca vrei sa faci un serviciu care sa si monetizeze, as recomanda sa te uiti la ecosistem [docker keynote].

@navaru Nu ma intereseaza neaparat ceva bazat pe docker. Eu ma gandeam ca ceva care se conecteaza la API-ul DigitalOcean si sa poata sa controleze serverele prin SSH sau prin API. Ce parere ai?

@hydrarulz Nu prea-mi dau seama ce intentionezi sa faci mai exact. Hai sa o luam treptat, sa inteleg.

Am un repository local /development/my-project/

Directorul contine un site facut cu laravel si am nevoie ca servici: redis, mysql, nginx, git, php 5.5

Pasii pe care intentionez sa-i urmez sunt:

  • creez server la Digital Ocean
  • instalez serviciile (cu versiunile de care am nevoie)
  • fac deply la code
  • rulez un build tool dupa deployment (ca sa ai in vedere: pre/post deploy hooks)
  • gata de productie

Ceea ce vrei sa realizezi, cu ce ma ajuta mai exact?

Este un cli-tool + interfata grafica?

Ca sa iau pe pasii pe care ai merge in mod normal. Iti conectezi contul Digital Ocean la serviciul pe care doresc sa il creez. Din acest moment poti sa creezi servere din interfata noua.

  • Creezi un server nou, care este un server vizibil si in interfata de la DigitalOcean
  • Instalezi serviciile de care ai nevoie prin interfata oferita; practic in spate se ruleaza scripturi de install / config predefinite.
  • Iti face git clone in directorul pregatit pentru Apache/Nginx
  • Iti poti crea script de build dupa deploy (deocamdata imi imaginez ca trebuie sa dau acces oamenilor sa poata sa defineasca script-uri pe care doresc sa le ruleze pe masina)

Practic ce as dori sa creez este sa te scap de tot procesul de instalare programe pe care le folosesti de obicei, servicii, deploy mai simplu, definire de scripturi pe care poti sa le refolosesti si pe alte servere (in general procesul de build este destul de similar de la aplicatie la aplicatie pentru acelasi developer).

Ti se pare destul de util?

Cateva lucruri de care m-am lovit eu cu un sistem similar:

  • nginx.conf <-- nu aveam cum sa-l modific usor
  • node.js - nu aveam cum sa instalez mai multe versiuni
  • mongodb 2.4 are un format la config la 2.6 are alt format, nu aveam cum sa instalez mai multe versiuni si nici sa configurez 2.6 cum trebuie

Daca ma gandesc lista e lunga, in opinia mea, este de preferat sa ai un sistem similar brew. In care eu sa fac un deploy recipe

brew install [email protected]
brew install [email protected]
brew install [email protected]
brew install redis
brew install [email protected]
brew install vlc

run nginx --config path/to/nginx.conf
run mongodb --config path/to/config.file
run [email protected] app.js
run [email protected] api.js

Fiecare run sa creeze un proces care sa fie monitorizat CPU, Memorie, Network I/O, si cu o simpla apasare a unui buton reset sa reporneasca run [email protected] api.js.

Ca serviciu trebuie sa-mi ofere ceva usor de folosit si flexibil, pt. ca alternativa o am deja digio pt. creare de servers, bash script recipe pt. server setup curl https://site.com/setup-server.sh | bash

Doker deja merge in directia asta cu dokerfiles: https://github.com/komljen/dockerfile-examples, deaceea ti-am recomandat ca idee.

Inca un SaaS care sa faca asta nu mi-ar fi util. Poate ar fi interesant daca as putea sa cumpar aplicatia si o sa rulez pe infrastructura proprie (local sau in cloud, la alegere).
Altfel, eu folosesc Elastic Beanstalk de la Amazon pentru management/deployment in AWS si astept sa vad ce se mai intampla cu Docker, care pare sa aiba un viitor luminos in fata cu ale sale Dockerfiles si cu Shipyard.

Da serverpilot este un serviciu simplu, slim, tocmai pentru ca asa se pot concentra mai mult pe chestia asta, ei fac un lucru si il fac bine.
Si inca o chestie, ar fii dragut sa ai si ceva analize de trafic :slight_smile:
Daca te arunci si mai mult in functii poti face chiar si auto-scalare cu api de la DO :smiley: asta ar fii bestial.

Eu ma gandesc sa imi fac o platforma de freelancer cu un control panel pt clienti, siteurile clientilor sa fie gazduite pe vpsurile mele cu serverpilot si sa fac un control panel din care clientii sa isi administreze siteurile :smiley:

@navaru Chestia cu mai multe versiuni este putin mai complexa daca nu pot sa o ofer usor pentru toate serviciile. Deocamdata nu stiu cum ar trebui sa fac ca sa pot sa ofer corect acest feature.
Inteleg cum functioneaza brew, desi nu sunt Apple user. Incerc sa imi dau seama in ce cazuri ai nevoie de mai multe versiuni de software pe aceeasi masina. Tu cand ai nevoie de asa ceva? Eu in general lucrez doar cu ultima versiune.
Multumesc ca mi-ai spus de digio, nu stiam de el.

@redecs Tu folosesti deja un serviciu de genul acesta? Cu ce te-ar ajuta mai mult daca ai putea sa cumperi software-ul?
Ai aplicatii pe care trebuie sa le scalezi mult de obicei?

@andreitelteu Mie mi s-a parut ca serverpilot face mult prea putin si de aceea am decis sa nu il folosesc.
Cand spui analize de trafic la ce te referi? Ce fel de trafic?
Legat de platforma de freelancer cu control panel pt clienti am impresia ca tu doresti un fel de cPanel. Ma insel?
Tu esti utilizator activ al serverpilot?

Analiza de trafic, ceva simplu cum este t5 ar fii frumos: http://www.t5.ro/trafic/89675803/
Legat de platform, vreau sa imi fac o platforma completa cu toate functiile de care am nevoie: timesheet cu orele lucrate (+ un simplu time tracker), gazduire temporara pt fisierele siteului clientului, si gazduire prin api serverpilot. Cum pot demonstra clientului cat de bun sunt decat prin construirea propriei platforme de freelancing ?
Oricum deja fac offtopic.
Nu utilizez serverpilot regulat pt ca nu folosesc vps regulat. Le-am spus celor de la serverpilot ca ar fii bine sa ofere obtiunea de a insta doar nginx si au spus ca au luat functia asta in considerare de ceva timp.
Deci cam asta ar trebui sa iei si tu in considerare, si anume sa acoperi si userii care vor neaparat suport .htaccess (pe wordpress unele pluginuri au nevoie de modificari in htaccess) carora le oferi obtiunea nginx cu proxy catre apache, si userii care vor performanta mai mare carora le oferi nginx fara apache. (parerea mea)

Cred că în cazurile de mentenanță la proiecte mai vechi, unde nu se justifică o aducere la zi (din varii motive, de obicei o combinație între bani și timpul disponibil).

1 Like

Mi se pare putin cam complicat acest aspect deocamdata. O solutie ar fi sa ai un alt server cu versiunea de care ai tu nevoie, fara sa ai riscul sa se incurce ceva in versiuni.

@iamntz Tu ce parere ai? Ce ar trebui sa aiba serviciul acesta ca sa il folosesti? Ma gandesc ca te-ai plictisit putin de instalare si configurare servere.

@andreitelteu Pentru analiza de trafic se pot instala tot felul de software-uri deja facute. Acesta poate fi adaugat la lista de actiuni care poate fi aplicata unui server.
Legat de platforma de freelancing imi da impresia deocamdata ca ar incerca sa faca prea multe lucruri. Probabil ca nu inteleg eu bine cum ar functiona.

Ba chiar deloc, având în vedere că nu fac asta… vreodată :smile:

@iamntz Dar tu unde iti hostezi instantele de Wordpress?

Local folosesc XAMPP sau Vagrant.

În stage/producție: clientul meu principal este sysadmin, el se ocupă de configurări.

Pentru restul clienților pun pe serverele lor sau, dacă nu au, fac subdomenii pe iamntz.com :blush:

Folosesc Elastic Beanstalk, care e ok pentru ecosistemul AWS.

As cumpara un software de genul asta daca m-ar ajuta cu 2 chestii:

  • sa merga si pentru server de dev din birou (via KVM, LXC sau Docker)
  • sa pot sa il folosesc in cloud indiferent de vendor (Docker are cele mai mari sanse aici). Poate peste un an vreau sa ma mut de la Amazon la Rackspace sau Microsoft Azure :smile: sau dau peste un client care prefera sa lucreze altcineva decat Amazon iar eu o sa deja un tool pentru asta

In general nu lucrez la proiecte care sa necesite scalare pe orizontala, dar proiectul curent este un SaaS la care o sa am nevoie de asa ceva.

@redecs Momentan facem teste cu Ansible care suporta si containere Docker. Cu el nu este obligatoriu sa folosesti servere Digital Ocean, deci se poate conecta orice server (in anumite limite). Deci pentru serverul tau de la birou (daca are acces la internet) vei putea sa il folosesti. Deocamdata singurul requirement e sa adaugi o cheie publica pe serverul pe care doresti sa il controlezi, nu exista un agent ce trebuie instalat, doar cheie.
Eu nu ma astept sa fie neaparat nevoie sa folosesti serviciul pentru scalare pe orizontala (clar merge si pentru asa ceva) dar ar trebui sa aiba sens si daca ai un proiect pe care vrei sa instalezi Apache, MySQL pe un singur server; deci proiecte mici.

Va mai tin up 2 date cu ce mai reusim sa facem.

2 Likes