Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Architektura SaaS w PHP
Forum PHP.pl > Inne > Hydepark
pabito
Witam
Chciałbym stworzyć stworzyć aplikacje(w Symfony2), dla ułatwienia powiedzmy że jest to platforma dla sklepów internetowych. Chciałbym następnie sprzedawać dostęp do aplikacji w Modelu SaaS. I mam tutaj kilka pytań dla osób, które miały doświadczenie z tworzeniem tego typu oprogramowania

Chciałbym aby moi użytkownicy posiadali tą samą wersję aplikacji, czyli wersja dla każdego klienta musiałaby działać na podstawie tego samego kodu. Bazę danych chciałbym mieć osobną dla każdego klienta.

I na jakiej zasadzie to działa. Tak jak wyżej pisałem załóżmy że to jest oprogramowanie sklepu internetowego.

1. Załóżmy że nowy klient chce założyć u mnie sklep. Co ja robię w tym momencie. Wykupuje mu hosting i przegrywam kod oprogramowania + tworzę bazę danych? Czy jak to działa. Bo jeżeli dodam jakąś funkcjonalność w moim systemie, to będę musiał teraz skopiować cały kod systemu dla X klientów i wstawić go na X hostingach

2. Skąd mój sklep ma wiedzieć że to jest ten klient(czyli sklep internetowy) a nie inny?

3. Jeżeli klienci mogą uploadować pliki(zdjęcia produktów), to są one trzymane w tym samym miejscu(na tym samym hostingu) co pliki innych sklepów ?

4. Jak najlepiej to ugryźć w Symfony2? Czy moja aplikacja musi być specjalnie pod to jakoś przygotowana ?
buliq
Hmm ja bym to zrobił inaczej. Postawił bym jakiś serwer pod API (metoda dowolna), stworzył przykładowy skrypt udostępniany de facto za darmo, bo klient płaciłby za dostęp do API, z tego skryptu zapytania do API, API zwraca odpowiedź, skrypt generuje widoki itd. Baza oczywiście po twojej stronie. Niestety ale udostępnienie kodu klientowi może skończyć się tym że klient kod weźmie, przerobi i już twojego API nie będzie potrzebował.
pabito
Ale ja nie chce udostępniąć kodu, chcę aby miał dostęp tylko do aplikacji
usb2.0
no jesli chodzi o trzymanie systemow up to date, nie mozesz robic tego recznie - "przegrywac", tylko korzystac z svn/git, glowny Twoj serwer z najnowsza wersja ja o nazywam trunk, zapewne bedziesz potrzebowal wiele galezi, w zaleznosci od zmian oczywiscie. Jeden klient bedzie chcial miec to co w najnowszej wersji inny moze nie chce bo ma zly dzien.

Cytat
2. Skąd mój sklep ma wiedzieć że to jest ten klient(czyli sklep internetowy) a nie inny?
tego nie ogarniam

jesli martwisz sie gdzie trzymac zdjecia to mam wrazenie ze cos tu jest nie tak skoro chcesz taki system stawiac.
r4xz
Chyba nie do końca rozumiesz o co chodzi w SaaS skoro każdemu użytkownikowi chcesz wykupywać hosting... polecam jeszcze poczytać wink.gif
phpion
Cytat(pabito @ 18.02.2014, 00:12:56 ) *
Wykupuje mu hosting i przegrywam kod oprogramowania + tworzę bazę danych? Czy jak to działa. Bo jeżeli dodam jakąś funkcjonalność w moim systemie, to będę musiał teraz skopiować cały kod systemu dla X klientów i wstawić go na X hostingach


Cytat(pabito @ 18.02.2014, 09:42:50 ) *
Ale ja nie chce udostępniąć kodu, chcę aby miał dostęp tylko do aplikacji


To wzajemnie się wyklucza.
Pyton_000
Opowiem swoje doświadczenie (nie wielkie ale zawsze).
Pracowałem w firmie która prowadziła taki model sklepów (SaaS).
Rozwiązane było to +/- tak.

Było sobie centralne repozytorium i xx serwerów VPS które były administrowane przez firmę. Klient zgłaszał się że chce sklepik. Bach robimy clona z repo na VPS i odpalamy, konfigurujemy itp.

Sklep był w 1 wersji. Czyli każdy ma to samo. Rozwój aplikacji to jedno, propagacja to drugie. Były sobie skrypty które za pomocą 2 kliknięć aktualizowały wszystkie serwisy pociągając z VCS wersję.

Każdy skrypt pracował niezależnie w ramach swojego katalogu roboczego. Tam też były trzymane jego uploads i kopie BD.
To tak z grubsza.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.