Forum: PC-Programmierung Ist VPN bei der Entwicklung großer Projekte normal?


von Peter (Gast)


Lesenswert?

Hallo,

ich soll ein größeres Projekt umsetzten (komplette Windows-Umgebung 
MSSQL etc.). Sowas habe ich schon mal gemacht, aber langsam ergeben sich 
in diesem Projekt immer mehr Dinge, die mich eigentlich eher negativ 
stimmen:

Bislang habe ich solche Projekte lokal bei mir in der Arbeit lauffähig 
gemacht, und dann wenn alles auslieferungsfertig war auf den 
Kundenserver übertragen. Nachdem die Projekte alle einen sehr ähnlichen 
Charakter haben ist es meines Erachtens nach dadurch auch sinnvoll, eine 
Entwicklungsumgebung davon im Haus zu Haben. Hardware und VM ist in 
genügendem Maß vorhanden.

Bei dem aktuellen Projekt zeichnet es sich ab, dass die Entwicklung über 
VPN auf dem LIVE-Server stattfinden soll. Nicht nur dass ich dass 
gefährlich für die laufende Produktion beim Kunden finde (ca. 15 Clients 
die mit dem System arbeiten), sondern auch allein die VPN-Verbindung 
sehe ich kritisch. Bislang war es so, dass die Internetleitung (2 
vorhanden) bei uns im Haus gerade in Fernwartungsszenarien stellenweise 
extrem zäh war. Sicherlich geht's auch mal schneller, aber sehr oft eben 
auch nicht. Wenn dass dann beim Entwickeln noch hinzu kommt, stelle ich 
mir den zeitlichen Verlust und meinen dabei entstehenden Frust nicht 
unerheblich vor.

Wie ist da eure Vorgehensweise in solchen Szenarien? Nicht darauf 
einlassen? Was wäre in diesem Fall fachlich korrekt, falls man sowas 
sagen kann?

Vielen Dank und Viele Grüße,
Peter

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peter schrieb:
> Bei dem aktuellen Projekt zeichnet es sich ab, dass die Entwicklung über
> VPN auf dem LIVE-Server stattfinden soll.

Was für Leistungsträger und Entscheider kommen auf solche Ideen?

von (prx) A. K. (prx)


Lesenswert?

Peter schrieb:
> Wie ist da eure Vorgehensweise in solchen Szenarien?

Als Kunde gesehen:

- Entwicklung in grösserem Umfang beim Entwickler.
- Test und kleinere Anpassung auf Testserver bei uns.

Das ist zumindest der offiziell favorisierte Weg. Es kommt allerdings 
leider schon mal vor, dass der Testserver etwas hinter dem Prodserver 
nachhinkt oder veraltet. Dann gibts bei Bedarf einen Klon vom Prodserver 
als neuen Testserver.

VPNs gibts für Support. Für intensive Entwicklungsarbeit ist das 
unpraktisch. Spätestens wenn die Entwicklung nicht bloss per vi 
stattfindet, sondern eine entsprechende Umgebung voraussetzt, gehts 
eigentlich auch nicht anders. Denn die kommt garantiert weder auf Test- 
noch auf Prodserver drauf.

Um Sorgen wg. Quellcodeverfügbarkeit entsprechender Lösungen auszuräumen 
gibts bei uns einen SVN-Server.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Peter schrieb:
> Bei dem aktuellen Projekt zeichnet es sich ab, dass die Entwicklung über
> VPN auf dem LIVE-Server stattfinden soll.

Man möchte zunehmend die Kontrolle über die Softwareentwickler haben, 
möglichst jeden Tastendruck zählen um die Leistung mit anderen messbar 
vergleichen zu können und Minderleister rauswerfen und gegen Inder 
ersetzen zu können.

Es reicht nicht mehr, Stundenerfassung zu betreiben und tasks im Sprint 
von SCRUM zu zählen, denn das ist nachweislich gescheitert.

Microsoft macht vor, wie es funktionieren kann, Windows 9 bietet zwar 
für den Benutzer kaum mehr als Windows 3.11, ist aber 10000 mal grösser 
und verschlingt 100 mal mehr Rechenleistung, das kommt bei raus, wenn 
man Leistung einer Softwareentwicklung nach BWL Massstäben optimiert.

Peter schrieb:
> und dann wenn alles auslieferungsfertig war auf den
> Kundenserver übertragen

Das geht natürlich bei ernstzunehmenden Projekten nicht mehr, da ist 
eine Kontrolle, ob es auf dem Server läuft und welche Belastung es ihm 
auferlegt, vorher regelmässig nötig.

Peter schrieb:
> dass die Entwicklung über VPN auf dem LIVE-Server stattfinden soll

Nun ja, VPN damit eure Konkurrenz nicht zuhört, die NSA kann trotzdem 
reinhören.

von (prx) A. K. (prx)


Lesenswert?

MaWin schrieb:
> Man möchte zunehmend die Kontrolle über die Softwareentwickler haben,
> möglichst jeden Tastendruck zählen um die Leistung mit anderen messbar
> vergleichen zu können und Minderleister rauswerfen und gegen Inder
> ersetzen zu können.

Falsches Szenario. Es geht hier offensichtlich nicht um 
Inhouse-Entwickler, sondern um externe Firmen, die kundenspezifische 
Lösungen entwickeln. Ob die dann intern Tastaturklicks pro Sekunde 
zählen kann dem Kunden egal sein.

von (prx) A. K. (prx)


Lesenswert?

MaWin schrieb:
> Windows 9 bietet zwar
> für den Benutzer kaum mehr als Windows 3.11

Herrje, deine Wut in Ehren, aber das geht wirklich zu weit.

von mar IO (Gast)


Lesenswert?

Peter schrieb:
> Bei dem aktuellen Projekt zeichnet es sich ab, dass die Entwicklung über
> VPN auf dem LIVE-Server stattfinden soll. Nicht nur dass ich dass
> gefährlich für die laufende Produktion beim Kunden finde (ca. 15 Clients
> die mit dem System arbeiten),

So etwas macht man zwar ungern, aber es kommt echt drauf an. Wenn das 
System nicht besonders relevant und ein (längerer) Ausfall zu verkraften 
ist, dann kann man das schon mal probieren. Es kann ja nur schief 
gehen...

Peter schrieb:
> , sondern auch allein die VPN-Verbindung
> sehe ich kritisch. Bislang war es so, dass die Internetleitung (2
> vorhanden) bei uns im Haus gerade in Fernwartungsszenarien stellenweise
> extrem zäh war. Sicherlich geht's auch mal schneller, aber sehr oft eben
> auch nicht.

VPN - Virtual Private Network - was soll den da kritisch sein? - Man 
logt sich über VPN in ein anderes Netz ein.

Die Zähigkeit, die Du bei der Fernwartung bemängelst, könnte diese von 
der Geschwindigkeit des Upstreams der Gegenstelle her kommen?

von (prx) A. K. (prx)


Lesenswert?

mar IO schrieb:
> VPN - Virtual Private Network - was soll den da kritisch sein? - Man
> logt sich über VPN in ein anderes Netz ein.

Die grössere Latenz kann sich auf die Produktivität auswirken.

von Дуссель дукъ (Gast)


Lesenswert?

Die Uebertragungsgeschwindigkeit hat ja keinen Einfluss auf die 123 Euro 
pro Stunde. Allenfalls auf die Anzahl Stunden. Aber wenn der Kunde das 
so will...

Ob das System live ist, ist auch egal. Man kann ja in einem anderen 
Directory mit anderen Zufriffsrechten arbeiten wie da, wo die richtigen 
Daten sind.

von vcd (Gast)


Lesenswert?

MaWin schrieb:
> Windows 9 bietet zwar
> für den Benutzer kaum mehr als Windows 3.11

Weißt du etwas, was andere nicht wissen? ;-)
(Glaskugel vielleicht?)

von (prx) A. K. (prx)


Lesenswert?

vcd schrieb:
> Weißt du etwas, was andere nicht wissen? ;-)

Es gibt eben Leute, die von ihrem C64 nicht wegkommen. ;-)

von Peter (Gast)


Lesenswert?

Дуссель дукъ schrieb:
> Die Uebertragungsgeschwindigkeit hat ja keinen Einfluss auf die 123 Euro
> pro Stunde. Allenfalls auf die Anzahl Stunden. Aber wenn der Kunde das
> so will...

das ist mir klar. Mir geht es darum, dass ein Auftraggeber auch in einer 
angemessenen Art Beratung bekommt um unnötigen Aufwand zu vermeiden.

> Ob das System live ist, ist auch egal. Man kann ja in einem anderen
> Directory mit anderen Zufriffsrechten arbeiten wie da, wo die richtigen
> Daten sind.

Mit dem intensiven Entwicklungs-Arbeiten auf einem Live-Server habe ich 
bisher eher schlechte Erfahrungen gemacht. Diese beziehen sich zwar 
momentan auf MySQL, aber ich denke MSSQL kann da auch nicht unbegrenzt 
"zaubern". Wenn da mal ne Abfrage lange läuft und den Rechner 
runterzieht und dann mehrere angeschlossene Clients gleichzeitig über 
einen langsamen Server meckern, dann wird's wieder nicht lustig.

Mir geht es hier echt nicht um die Diskussion, ob es über VPN machbar 
ist oder nicht, weil das kann man klar mit Ja es ist möglich 
beantworten. Aber ich sehe einfach sowohl für den Kunden als auch für 
den Entwickler eher Nachteile in so einer Vorgehensweise.

Gruß
Peter

von ./. (Gast)


Lesenswert?

Fuer ein EU-Projekt landete der DB-Server auch in einem "richtigen" RZ.
Anbindung der regionalen Offices per VPN.

Wo ist das Problem?

Keines der regionalen Offices hatte genug Bandbreite noch die
noetige Infrastruktur um einen laengerfristigen stabilen Betrieb
zu gewaehrleisten.

von (prx) A. K. (prx)


Lesenswert?

./. schrieb:
> Wo ist das Problem?

Die Frage bezog sich auf die Entwicklungsphase. Nicht auf den Betrieb.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Wenn der Server nun aber nicht "einfach" geklont werden kann, oder die 
Daten nicht an den Entwickler gegeben werden dürfen was tun?

Du sollst doch wohl nicht auf dem Rechner entwickeln (also deine IDE 
etc. läuft dort) sondern nur mit dem Rechner (hier: mit der MSSQL-DB).
Den Fall habe ich hier auch das ich per VPN an den (entfernten) 
ActiveDirectory Server hänge, ob der nun lokal oder per VPN angebunden 
ist ist ja nur eine technische Sache. Wer will sich den im Zweifel ein 
ganzes Rechnenzentrum ins Arbeitszimmer stellen?

Ob das "schnell" oder "langsam" ist hängt von vielen Faktoren ab, "VPN" 
ist da sicher der allerkleinste...

Sei doch froh das du das nicht alles bei dir einrichten musst (+ggf. 
Lizenzgebühren!) das kostet auch Zeit, und im endefekkt weicht dann 
irgendwo doch die Test von der Produktiv Konfig ab und schon ist der 
Ärger vorprogrammiert. Die paar ms mehr Latenz sind doch wohl wirklich 
egal.

von Peter II (Gast)


Lesenswert?

Läubi .. schrieb:
> Die paar ms mehr Latenz sind doch wohl wirklich
> egal.

die sind sogar vom Vorteil bei der Entwicklung. Es gibt Entwickler die 
rufen 10.000 Zeilen von der Datenbank ab und bilden dann die Summe. 
Andere verwenden die Aggregatfunktionen der Datenbank und kommen so 
Ressourcenschonender zum gleichen Ergebnis.

von ./. (Gast)


Lesenswert?

> die sind sogar vom Vorteil bei der Entwicklung. Es gibt Entwickler die
> rufen 10.000 Zeilen von der Datenbank ab und bilden dann die Summe.
> Andere verwenden die Aggregatfunktionen der Datenbank und kommen so
> Ressourcenschonender zum gleichen Ergebnis.

Peinlich wird sowas ganz schnell, wenn wegen mangelnder Performanz
eine externe Codereview eingeleitet wird.
Da sieht man dann viele rote Koepfe.

von ./. (Gast)


Lesenswert?

Mich erinnert die Diskussion hier, an einen DVB-S/T-Player aus
der Opensourceszene.

Der hatte bei (sehr) vielen Anwendern erhebliche Performanceprobleme
mit der Kanalverwaltung.

Der Entwickler hatte seine Software auf einem Rechner mit SSD,
mit entsprechend leisungsfaehigem IO-Durchsatz "entwickelt".
Da stoerten mehrere tausend (unnoetige) Zugriffe nicht.

Davon war der normale Wald- und Wiesen-PC natuerlich einiges entfernt.
Da brauchte dann jede Kanalumschaltung einiges an Umschaltzeit.


Fuer die Entwicklung sollte zumindest ein dem Produktivsystem
gleichartig angebundenes Testsystem zur Verfuegung stehen und
auch fuer die Entwicklung genutzt werden koennen.

Entwickeln auf einem Produktivsystem ist eine schlechte Idee.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

./. schrieb:
> Entwickeln auf einem Produktivsystem ist eine schlechte Idee.

Das sagt doch keiner! Höchstwarscheinlich soll er schlicht gegen das 
Produktivsystem entwickeln, wo z.B. ein Klon der echten Datenbank liegt 
oder er einen speziellen User mit eingeschränkten Rechten hat, der z.B. 
nur lesen darf und in den erlauben Resourcen (Query time, Memory) 
beschränkt ist, sowie den Daten die er sehen darf.

Demgegenüber steht, das er ggf. ein komplexes Serverumfeld bei sich 
nachbilden, und alle Daten auf seinem System geliefert bekommen muss. 
Ich habe bisher nirgendwo rausgelesen, das er an Produktivdaten 
rumfummeln soll, oder auf dem System (z.B. per Remotedektop oder VNC) 
arbeiten soll.

Nimm dir halt die Google APIs für diverse Dienste her, da arbeitest du 
auch gegen das "Produktivsystem" und über ein Netzwerk. Keiner würde 
verlangen, das Google jedem Entwickler ein komplettes Abbild seiner 
Serverlandschaft bereitstellt um die APIs zu bedienen.

Das VPN ermöglicht ihm doch nur in ein ansonsten abgeschottetes 
Netzsegment zu kommen, ob die auf dem Physikalischen System auch noch 
irgendwelche Kunden bedienen oder das ansonsten für die Mittägliche 
LAN-Party-Stunde nutzen kan ihm doch völlig egal sein.

: Bearbeitet durch User
von Peter (Gast)


Lesenswert?

Hallo,

danke für eure Antworten. Ich bin immer wieder erstaunt, wie schnell 
sich eine gewisse Hitzigkeit in den Antworten einstellt.

Ich möchte gerne ganz ruhig bleiben.

Mir ist bekannt, dass es Rechenzentren mit hoher Leistung gibt. Mir ist 
bekannt, dass nicht jeder ein Rechenzentrum mit unbegrenzten 
Möglichkeiten im Serverraum stehen hat. Mir ist bekannt, dass VPN nichts 
schlechtes ist. Mit ist bekannt, dass man beim Entwickeln hier und da 
mal einen Bock schießt (das gilt zumindest für mich :) . Dazu gehören 
Endlosschleifen, Speicherexplosionen, TRUNCATE auf falsche Tabelle 
etc... Mir ist bekannt, dass das nicht passieren soll. Mir ist bekannt, 
dass es effektive Datenbankabfragen gibt, und welche die nicht so gut 
sind. Das könnte ich hier noch endlos fortsetzen. Achso, einen noch: Mir 
ist bekannt, dass im grafischen Gewerbe größere Datenmengen beim 
Entwickeln verarbeitet werden, die übers INetz dann doch mal zäh zu 
händeln sind.

Also vielleicht die gleiche Frage nochmal in Bezug auf eine genauere 
Beleuchtung der Umgebung:

gegeben sei:

Kunde
32GB RAM  16 Cores  ~3GHz  MSSQL  5 GB DB / 200 GB Files
angeschlossen ca. 15 Clients

Bei uns im Haus:
VM Host etwa dem Kundenserver entsprechend. Die VM selbst passend um das 
das Zeugs vom Kunden aufzunehmen.

Vielleicht wäre auch noch zu sagen, dass eben dieses Projekt als 
Grundlage der Zusammenarbeit mit dem 
"Datenverwaltungssoftwarehersteller" für weitere Projekte dienen soll. 
Und dadurch auch einen "Schablonencharakter" bekommen soll. (Soweit das 
möglich ist. Mir ist bekannt, dass das in mehreren Fällen bisher nicht 
im gewünschten Grad erreicht worden ist :)

Achja, zur Entwicklungsumgebung. Ich möchte hier keinen Namen nennen, 
aber die ist grausam grausam grausam! Der Code ist sehr stark an C 
gelehnt und wird in der Datenbank abgespeichert. Mehrfaches rückgängig 
machen im Editor ist nicht möglich. Hab mir schon einen SVN-Hook 
geschrieben, der die Dateien, die ich dann in einem vernünftigen Editor 
editiere beim Commiten in die DB schreibt, damit ich wenigstens noch 
etwas freude in dieser Umgebung habe.

Also ist VPN jetzt gut oder schlecht in MEINEM Fall?

von Hans-Georg L. (h-g-l)


Lesenswert?

Läubi .. schrieb:
>
> Das VPN ermöglicht ihm doch nur in ein ansonsten abgeschottetes
> Netzsegment zu kommen, ob die auf dem Physikalischen System auch noch
> irgendwelche Kunden bedienen oder das ansonsten für die Mittägliche
> LAN-Party-Stunde nutzen kan ihm doch völlig egal sein.

Das ist im Prinzip richtig, aber wenn die Cients ebenfalls Zugriff haben 
und der Kunde anfängt Live-Tests durchzuführen, wird sich der Entwickler 
vor Änderungswünschen nicht mehr retten können. Dann könnte das Projekt 
schnell zun beweglichen Ziel werden. Wenn der Kunde das bezahlt ist das 
natürlich OK.

von Hans-Georg L. (h-g-l)


Lesenswert?

Wenn du die nötige Hard und Software an deinem Arbeitsplatz hast, was 
hindert dich daran, die Enwicklung lokal zu machen und nachts zu 
Übertragen.

von Telco (Gast)


Lesenswert?

Peter schrieb:
> Also ist VPN jetzt gut oder schlecht in MEINEM Fall?

Was hat diese Frage mit der Aufgabe zu tun.
Die VPN-Tunnel dienen nur zu Anbindung der externen Clients.
Wenn die Bandbreite in eurem Haus, nicht die Bandbreite hat, die die 15 
Clients benötigen, dann bekommt ihr ein ganz anderes Problem.
Über den Daumen gepeilt sollte euer LAN-Anschluß mindestens 6-7 Mbit/s
Bandbreite für die 15 Clients zur Verfügung stellen.
Wie ich auf diesen Wert komme: 15 Clients x 2 Mb/s / 4 
(Überbuchungsfaktor).
Sonst springen die Entwickler an den Clients im Dreieck.

Und so wie ich aus Deinen Ausführungen gelesen habe, könnt ihr diese 
Bandbreite nicht zu Verfügung stellen. Ein DSL-Anschluß ist dafür 
überhaupt nicht geeignet.

Oder habe hier etwas falsch verstanden? Ich glaube erst einmal nicht(?).

von Peter (Gast)


Lesenswert?

ok, ich glaub ich lass das hier...

Die Clients sind alle auf Kundenseite.

Telco schrieb:
> Peter schrieb:
>> Also ist VPN jetzt gut oder schlecht in MEINEM Fall?
>
> Was hat diese Frage mit der Aufgabe zu tun.
> Die VPN-Tunnel dienen nur zu Anbindung der externen Clients.
> Wenn die Bandbreite in eurem Haus, nicht die Bandbreite hat, die die 15
> Clients benötigen, dann bekommt ihr ein ganz anderes Problem.
> Über den Daumen gepeilt sollte euer LAN-Anschluß mindestens 6-7 Mbit/s
> Bandbreite für die 15 Clients zur Verfügung stellen.
> Wie ich auf diesen Wert komme: 15 Clients x 2 Mb/s / 4
> (Überbuchungsfaktor).
> Sonst springen die Entwickler an den Clients im Dreieck.
>
> Und so wie ich aus Deinen Ausführungen gelesen habe, könnt ihr diese
> Bandbreite nicht zu Verfügung stellen. Ein DSL-Anschluß ist dafür
> überhaupt nicht geeignet.
>
> Oder habe hier etwas falsch verstanden? Ich glaube erst einmal nicht(?).

Nein, Clients und Live-Server sind alle außerhalb der Entwicklung. Es 
geht nur darum, soll auf dem Live-Server die Entwicklung über VPN 
erfolgen? M.E. riskant. Aber lasst gut sein, ich sag jetzt einfach mal, 
dass ich Vorlieb ohne VPN nehme (VPN nur zum Verteilen und LIVE-Test).

von Peter (Gast)


Lesenswert?

Noch zur Info: ich hätte mir die Diskussion eher in eine solche Richtung 
vorgestellt. Ist zwar nicht ganz das Thema, aber Teile davon:

http://stackoverflow.com/questions/3550953/developing-over-vpn-connection-on-a-virtual-desktop

Und ganz ehrlich finde ich auch Aussagen wie "Wenn's der Kunde zahlt 
ist's ok" bedenklich. Mich wundert's da nicht, dass immer mehr in 
Pakistan und Indien und wo auch immer gemacht wird. Und das meine ich 
jetzt nicht abwertend, da ich auch schon mal die Ehre hatte aus Pakistan 
eine Qualitativ hochwertige Umsetzung zu bekommen.
Ich auf jeden Fall erfahre auch nur sehr ungern, dass ich für irgendein 
Produkt zu viel bezahlt habe.

von Hans-Georg L. (h-g-l)


Lesenswert?

Peter schrieb:
> Noch zur Info: ich hätte mir die Diskussion eher in eine solche Richtung
> vorgestellt. Ist zwar nicht ganz das Thema, aber Teile davon:
>
> Und ganz ehrlich finde ich auch Aussagen wie "Wenn's der Kunde zahlt
> ist's ok" bedenklich. Mich wundert's da nicht, dass immer mehr in
> Pakistan und Indien und wo auch immer gemacht wird. Und das meine ich
> jetzt nicht abwertend, da ich auch schon mal die Ehre hatte aus Pakistan
> eine Qualitativ hochwertige Umsetzung zu bekommen.
> Ich auf jeden Fall erfahre auch nur sehr ungern, dass ich für irgendein
> Produkt zu viel bezahlt habe.

Du solltest lesen lernen und das nicht aus dem Zusammenhang zitieren. Es 
ging um laufende Änderungswünsche während der Projektbearbeitung durch 
den Kunden. Du hast scheinbar noch nie Reale Projekte gemacht wo du du 
den Auftrag nur zum Festpreis bekommst. Aber wenn du zu wenig für deine 
Arbeit bekommst ist für dich OK ...

: Bearbeitet durch User
von Default (Gast)


Lesenswert?

Liegen auf der Datenbank personenbezogende Daten?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.