Door
Danny Spinhuis
op 24-03-2018 06:20
gewijzigd op 24-03-2018 06:24
3.243 views
Dag allemaal,
ik ben voor een onderzoek een stuk aan het schrijven, waarin ik uitleg waarom een bestaande (PHP) oplossing gebruiken en evt. aanpassen voordeliger is dat compleet opnieuw het wiel uit te vinden. In mijn geval staat de PHP oplossing op een externe server, dus ik kan ook evt. iets zeggen dat het qua server processing op eigen server scheelt?
Dat het wiel opnieuw uitvinden veel tijdrovender spreekt voor zich, maar ik kan even niet op andere (technische) punten komen. Heeft iemand wat suggesties?
Als de "oplossing" op een externe server staat is aanpassen meestal niet meer mogelijk (tenzij die"externe server" van jezelf is, maar dan is het niet echt meer een externe server).
Meestal wordt een externe service continue voor je onderhouden (updates, systeembeheer, enz). Dat is een voordeel. Het nadeel is dat je meestal ook met updates "mee moet" (binnen 30 dagen even je hele interfacing omgooien ...). Of de stekker gaat er helemaal uit, en je moet van de een op de andere dag een andere "provider" zoeken.
Een externe oplossing hoeft niet perse veiliger te zijn. Als het open source is kun je in ieder geval nog een audit doen, maar dat is wel een enorme uitkam klus.
Het wiel opnieuw uitvinden is wel een hele klus (uren - tijd die je misschien niet hebt binnen je planning), maar het voordeel is dat je meteen alle ins en outs kent, het precies doet wat jij wilt (nu en in de toekomst), en je weer bakken met ervaring+kennis opdoet.
Je moet het onderzoek nog uitvoeren maar je weet nu al wat de uitkomst moet zijn?
Als je wilt bewijzen dat iets voordeliger is, ligt het voor de hand om eerst eens de kosten in kaart te brengen, niet de technische (on) mogelijkheden.
Er zijn in de markt grofweg een drietal sporen: 1) complete nieuwbouw, 2) gebruik en customizen van bestaande applicaties en 3) nieuwbouw op basis van hergebruik van objecten uit de markt. In het MKB zie veelal 1) complete nieuwbouw van kleine applicaties. In de groot zakelijke markt veelal 2) gebruik en customizen van bestaande applicaties. Deze methodiek vindt ook zijn weg al naar het MKB en de hobbymarkt, denk hierbij aan Wordpress, Drubal en dergelijke. 3) hergebruik van objecten uit de markt kom je in de grootzakelijke markt ook tegen en dan voornamelijk in de JAVA driven applicaties (niet javascript) met NODEJS, BEA, JBOSS en dergelijke. In PHP zie ik minder uitwisseling/hergebruik van losse universele objecten alhoewel object oriented ook zijn weg in PHP heeft wel gevonden. Kortom, zoals Ward ook al stelt: Onderzoek is nodig om de kosten in kaart te brengen en dat zal voornamelijk afhankelijk zijn van de toepassing. Wat kan je uit de markt halen en wat moet je zelf bouwen?
Het wiel opnieuw uitvinden hoeft echt niet tijdrovender te zijn en spreekt dus NIET voor zich. Ervaren developers hergebruiken veel eigen code en kunnen doorgaans snel een nieuwe toepassing ontwerpen en bouwen. Minder ervaren bouwers juist niet omdat vaak meteen aan het toetsenbord begonnen wordt met verzinnen en inkloppen van (php)code zonder een gedegen ontwerp. Wellicht is dat wat je bedoelt met "steeds opnieuw het wiel uitvinden"
>> In mijn geval staat de PHP oplossing op een externe server, dus ik kan ook evt. iets zeggen dat het qua server processing op eigen server scheelt?
In welk opzicht zou dat een voordeel moeten zijn? Wat nu als die externe server een tragere processor heeft, of er op enig ogenblik volledig mee uitscheidt?
Een php-oplossing gebruiken op een externe server (ik neem aan dat je bedoelt een server waar je zelf geen invloed op hebt) lijkt me niet bepaald een voordeel. En wat als die server niet goed beveiligd blijkt te zijn en bijv. gegevens van klanten daardoor bij hackers terechtkomen?
Overigens is het een beetje vaag wat je precies bedoelt. Er zijn natuurlijk ook echt wel goede API's van erkende bedrijven die je kunt gebruiken, maar ik weet niet of dat is wat je bedoelt.
Dank jullie voor alle reacties! Ik heb een beetje slecht uitgelegd merk ik. Wat ik eigenlijk bedoelde:
Ik moest in 3 maanden tijd een oplossing vinden voor een probleem. Ik heb een extensie gevonden (Hypothesis) die aan 90% van de requirements voldoet, de overige 10% heb ik zelf geprogrammeerd. De extensie kun je simpelweg embedden in je website, waardoor het 1 geheel wordt alleen draait de extensie op de externe server van Hypothesis.
Als ik het idee achter Hypothesis zelf zou moeten programmeren zou ik een jaar bezig zijn denk ik. Vandaar dat ik voor de extensie heb gekozen.
Het feit dat die extensie op een externe server draait zou ik niet per definitie een voordeel noemen. Het feit dat je ontwikkeltijd hebt bespaard is wel een voordeel. Daar staat dan weer tegenover dat je afhankelijk bent van die externe server, en de mensen die die server onderhouden, of jouw applicatie blijft werken. Op het moment dat zij er de stekker uittrekken of onverwachte aanpassingen maken, kan dat zorgen voor het stukgaan van jouw eigen applicatie. Dat is dus iets om even goed bij stil te staan.
Dat snap ik, echter heb ik toch gekozen voor de kortere route (de extensie). Nu moet ik dus een aantal voordelige punten benoemen voor mijn keuze, ipv. alleen dat het binnen de scope van het project past. Vandaar dit topic
Het grootste voordeel is dan tijd- en kostenbesparing. Besparing van processorkracht lijkt me persoonlijk wat ver gezocht. Er moet verbinding worden gemaakt met een externe server, wat betekent een extra omweg. Een klant ondervindt daar geen voordeel van.
Voor de rest geldt nog steeds wat ik eerder zei. De afhankelijkheid van de externe server, in combinatie met veiligheid. Daar zou je vragen over kunnen krijgen.