Onderhoudsvoorwaarden Magento+ platform
Een onderhoudscontract houdt in dat klanten zich geen zorgen hoeven te maken omtrent hosting en technische upgrades van de website, en dat ze op eWings kunnen rekenen als partner. Met Magento+ bedoelen we de standaard Magento Open Source versie, met alle uitbreidingen die eWings erbovenop aanbiedt.
In grote lijnen omschrijven we de service als volgt:
- Hosting
- Servercapaciteit met een eigen dedicated omgeving
- Hosting monitoring (het systeem wordt 24u/7d gecontroleerd op >55 verschillende factoren)
- Hosting services (proactief actie nemen op monitoring alerts)
- Magento
- Magento+, versie 2 upgrades
- Upgrades van plugins
- Compatibiliteit tussen plugins en onderliggende core garanderen
- Security patches
- Standby / beschikbaarheid
- We zijn standby tijdens kantooruren (8u15 tot 17u30), maar voor noodgevallen ook after-hours at best effort.
Daarnaast hebben we een betalende support service voor algemene support en problem solving. Binnen deze support service bekijken we met plezier zoveel mogelijk het volledige plaatje. Ook projectmanagement, advies en dergelijke vallen onder de betalende support service.
II. Wat is de impact van een upgrade?
Het is van belang om te weten dat alle eWings-klanten dezelfde onderliggende technology stack en Magento-versie (incl. plugins) gebruiken. Elke klant heeft een eigen standalone server en database in de cloud, maar een upgrade van het systeem gebeurt op de centrale code, waarna het gedeployed wordt naar elke klant afzonderlijk. Een wijziging aan de technology stack of een verbetering aan het onderliggende systeem heeft dus altijd impact op alle klanten en is een proces van weken- of zelfs maandenlange testing, debugging en problem solving.
Onze garantie: eWings garandeert dat de klant steeds op een stabiele en officieel ondersteunde Magento-omgeving actief is (binnen Magento 2), mét een onderliggend officieel ondersteunde technology stack (Nginx, PHP, MySQL, Elastic Search, Composer, ...).
III. Wanneer gaat eWings aanpassingen aan het onderliggende systeem doorvoeren?
We maken een verschil tussen security en functionele upgrades.
- Security patches hebben soms een hoge dringendheid en hebben minder systeemimpact, waardoor een ad-hoc installatie mogelijk is.
- Functionele upgrades hebben meer impact op het systeem en op de bestaande projecten. Deze upgrades worden goed uitgetest, en ingepland.
eWings heeft een goed doordacht release plan dat naar de klant wordt gecommuniceerd. We zijn geen voorstander om een nieuwe Magento-versie of plugin zo snel mogelijk te upgraden, omdat dit mogelijk nog kinderziektes met zich meebrengt. Uiteraard houden we rekening met benodigdheden binnen bepaalde projecten van onze klanten. Stabiliteit is de rode draad in onze planning.
Achter de schermen gebeuren er ook regelmatig aanpassingen aan de onderliggende technology stack, waarvan je als klant niets zal merken.
IV. Welke taken zijn inbegrepen in het maandelijkse onderhoudsbedrag?
De onderstaande lijst omschrijft de verantwoordelijkheid van eWings:
- Upgrades van de onderliggende technology stack
- Het operating-systeem (Debian)
- PHP-versie
- MySQL database
- Caching-systemen Redis en Varnish
- Upgrades van Composer (systeem om installaties te kunnen doen op Magento)
- Nginx server
- Elastic Search
- Upgrades van Magento binnen de 2.x versie van de officiële Adobe release van de Magento Open Source (license free) versie, zolang Magento binnen de 2.x release line geen architecturale breaking changes doorvoert (bv depricatie van het bootstrap model). Waarvan de markt en eWings niet uitgaan.
- Upgrades van Magento plugins.
- Compatibiliteits-problemen tussen Magento core en een plugin of onderling tussen plugins. Dit geldt voor alle plugins die in het onderhoudscontract zijn opgenomen, wat per default onze volledige oplossing is, tenzij het als uitzondering in 'IV.2 Custom code' is opgenomen.
- De zoektocht, de kwaliteitscontrole en het testen van een nieuwe module die in de plaats komt van een reeds geïmplementeerde module, maar door stopzetting van de modulebouwer of verandering in wetgeving niet meer zou voldoen. Voor installatie en configuratie van die module, zie IV.4.
- Upgrades van het Ultimo Theme, als onderliggend thema voor het design. We garanderen dat dit compatibel blijft met de onderliggende Magento-versie.
- Performantie-optimalisatie, zoals Blackfire testing.
V. Welke taken zijn expliciet niet inbegrepen?
In deze sectie geven we een overzicht van wat niet is inbegrepen en op Time & Material basis wordt aangerekend.
- Het reguliere customer support werk om aanpassingen of uitbereidingen aan het bestaande e-commercesysteem door te voeren op aanvraag van de klant.
- De custom code die geschreven is voor één bepaalde klant in één bepaalde projectsituatie valt niet onder het onderhoudscontract. eWings poogt gedurende projecten custom ontwikkeling absoluut te vermijden omwille van de exclusieve onderhoudskosten, waardoor 'custom code' slechts uitzonderlijk én enkel op uitdrukkelijke aanvraag van de klant zal voorvallen.
- Code die specifiek voor een klant 'in een plugin' is geschreven (via het CMS). Bijvoorbeeld: Een PHP script in een Wyomind module (de product import module) is niet meer compatibel met een onderliggende PHP upgrade.
- Een nieuwe plugin, die eWings enkel voor één bepaalde klant aan de centrale oplossing toevoegt, kan mogelijk ook onder de regel van 'custom code' vallen. De klant zal hier steeds uitdrukkelijk van op de hoogte worden gebracht.
- eWings is, binnen het onderhoudscontract, niet verantwoordelijk voor bugs of tekortkomingen in plugins. We maken wel een uitzondering op deze regel in de volgende gevallen.
- Indien een functionaliteit met de klant is afgesproken in kader van een fixed price project, dan zal eWings zorgen dat de beloofde functionaliteit wordt opgeleverd binnen het afgesproken budget.
- Indien een nieuwe release van een plugin de bug of tekortkoming oplost, dan zal eWings de upgrade van de module binnen het onderhoudscontract uitvoeren. De fix van de bug, of de implementatie van de nieuwe functionaliteit, is altijd klantgebonden en valt buiten het onderhoudscontract.
- Indien de bug of tekortkoming niet is opgenomen in een laatste release van de plugin-bouwer zal eWings lobbyen bij de modulemaker op deze mee op te nemen in een volgende release. Indien de plugin-bouwer de fix niet opneemt in een nieuwe release, kan eWings een custom code fix uitvoeren (zie IV.2).
- Indien een modulebouwer (marketplaces.magento.com) beslist om de support te stoppen vanaf een bepaalde Magento versie, dan wordt deze niet vervangen binnen het bestaande onderhoudscontract. eWings zal wél de zoektocht, quality-controle en de testing van de nieuwe module op zich nemen. De installatie, configuratie en het design is specifiek voor de klant en is niet inbegrepen in het onderhoudscontract. Voorbeeld: In sept/2021 stopte Xtento met de Customer Attributes plugin te verkopen omdat deze functionaliteit wordt opgenomen in standaard Magento 2.4. De ombouw van deze functionaliteit is projectspecifiek (per klant) en behoort niet tot het onderhoudscontract.
- Werking, wijzigingen of extra eisen gerelateerd aan externe software of wettelijke regelgeving met impact op het e-commerce systeem van de klant. Bijvoorbeeld:
- Google wijzigt de manier van aansturing van Shopping.
- Een upgrade van het ERP van de klant
- Tax regelgeving van de overheid
- Apple IOS implementeert strenge privacy normen die tracking in Google Analytics ernstig beïnvloedt.
- ...
Opmerking: Indien een bepaalde wijziging meer dan één klant treft, dan zal eWings de kosten ook onderling evenredig verdelen.
VI. Wat is het belang voor jou als klant om een development server te hebben?
Indien je als klant bij ons een development server (ook staging server genoemd) laat hosten, dan worden de upgrades eerst op deze server uitgerold en getest, zodat er geen verrassingen zijn bij de nieuwe release. Zonder development server kunnen we de upgrades niet testen in de klantspecifieke situatie. Voor klanten zonder development server testen we de upgrade op ons algemene, centrale systeem, waar klantspecifieke elementen niet aanwezig zijn. Voor klanten die geen development server hebben, rekenen we er dus op dat de testen op ons centrale systeem hun project voldoende afdekt om problemen te voorkomen.
Een tweede, en even belangrijk voordeel, is dat we gezamelijk een systeem hebben om nieuwe dingen op te ontwikkelen en uit te testen, zonder het productiesysteem te impacteren.
Voor klanten die actief met e-commerce bezig zijn is een development-systeem een must.
VII. De project life cycle en start van het onderhoudscontract
In een project zien we de volgende stappen:
- Advies- en offerte-fase. Eventueel gesubsidieerd via KMO portefeuille.
- Ondertekening van het contract
- Technische voorbereidingen (hosting & installatie)
- Start van het onderhoudscontract
- Ontwikkeling van het project (design, content, integratie, ...)
- Livegang van het project
- Voor een fixed price project: Garantieperiode van 10 werkdagen na live gang. In deze periode gelden de uitzonderingen omschreven in punt IV niet.
VIII. Hoe en wanneer is eWings bereikbaar?
eWings is bereikbaar via:
- Supportsysteem ClickUp (het standaard kanaal)
- Alternatieve kanalen:
- Via e-mail
- Telefonisch
eWings stelt steeds de persoonlijke e-mails en gsm-nummers van de projectmedewerkers ter beschikking. De contactpersonen tijdens het project zijn in de mate van het mogelijke ook de personen die instaan voor support, zodat een goed begrip van de omgeving is gegarandeerd.
eWings is standaard te bereiken op de kantooruren tussen 8u15 en 17u30, behalve op officiële feestdagen (we hebben geen jaarlijkse algemene sluiting). Wij zijn een team van best-effort, en willen onze klanten in noodgevallen altijd helpen, dus maken met plezier een uitzondering in noodgevallen. Een extensie naar 24x7x365 support is bespreekbaar via Xplore Group enterprise services.
We staan garant voor een permanent stabiel en draaiend systeem. Noodgevallen (rode alerts) op hostingvlak worden 24h/7 gealarmeerd en opgelost. Door het proactief monitoring-systeem komt dit bijna nooit voor. Een oranje alert wordt de volgende werkdag opgenomen.
IX. Prijszettingen indexatie
- Het onderhoudscontract wordt jaarlijks geïndexeerd cfr. onze algemene voorwaarden paragraaf 6.4. De indexatiegrootte is onafhankelijk van de startdatum van het contract, maar het eerst lopende jaar als klant indexeren we niet.
- De aankoop van plugins wordt aangerekend met 10% surplus om administratieve kosten te dekken.
- De prijs van ons onderhoudscontract is afhankelijk van externe partijen. Wij hebben geen invloed op externe aanpassingen. Toekomstige prijswijzigingen worden mogelijk doorgerekend. Elke buitensporige prijswijziging van een externe partij wordt uiteraard onderzocht op mogelijke alternatieven.
- Open source licentiemodel Magento
- Licentiemodel plugins
- Hosting services (Hosted Power)
X. Magento licenties
eWings maakt gebruikt van de Magento 2 Open Source versie. De core en de basis van dit systeem is Open Source en licentievrij. De plugins die aan het systeem worden toegevoegd zijn, afhankelijk van de pluginbouwer, verbonden aan een licentiekost.
Plugins zoals Multisafepay of Sendcloud zijn vrij van licentie, omdat deze commerciële bedrijven baat hebben bij een zo breed mogelijke integratie met e-commerce systemen. Andere plugins, van bijvoorbeeld Xtento of Amasty, verrijken de functionaliteiten van Magento en vragen een vergoeding (licentie) voor het gebruik van de plugin.
Tot voor februari 2022 waren de licenties van plugin-bouwers altijd éénmalig van aard, en rekende eWings deze kost ook éénmalig door bij de opstart van een e-commerceproject. Sinds februari 2022 zijn pluginbouwers echter gaan inzien dat zij te weinig recurrente inkomsten hadden, en zijn ze jaarlijks terugkerende licenties gaan aanrekenen. Het jaarlijks terugkerend bedrag is meestal 50 à 60% van de initiële aankoop (anno augustus 2022). Deze recurrente jaarlijkse kost moet hun onderhoudskosten dekken om nieuwe functionaliteiten uit te brengen en fixes in de bestaande module uit te voeren.
Omdat we in onze Magento+ omgeving steeds nieuwe klanten onboarden en nieuwe licenties kopen, krijgen we automatisch de nieuwste versies van deze modules in onze algemene oplossing, waardoor je als klant niet betaalt voor de updates. Wij zorgen er, als eWings zijnde, voor dat wij continue support bekomen van de pluginbouwers. Indien je als klant de voorkeur geeft om de jaarlijkse licenties wél aan te kopen dan is dat mogelijk, maar in onze interpretatie van de policies van de plugin-bouwers achtten we het niet nodig (anno augustus 2022).
In bepaalde gevallen zal de update van de licentie echter wel doorgerekend worden aan jou als klant. Met name wanneer er een dringende upgrade is (met nieuwe functionaliteiten en/of oplossingen voor bugs) en we niet kunnen wachten tot een licentie vernieuwd wordt in kader van een nieuw toekomstig project.
De kans dat je zal moeten betalen voor een update is dus redelijk klein, maar voor de volledigheid willen we dit toch vermelden. Deze kans is afhankelijk van het aantal projecten waarin de module gebruikt wordt. De uiteindelijke keuze voor het al dan niet uitvoeren van een betalende update ligt altijd bij de klant.
XI. Addendum
In het addendum wordt de custom code en/of modules opgelijst die niet inbegrepen zijn in het onderhoudscontract, en waarvoor het onderhoud apart aan de klant zal worden doorgerekend. Indien je als klant een addendum hebt, wordt dit apart meegedeeld.
In een klassiek web development bedrijf zijn alle kosten individueel te dragen als klant en zou het addendum de volledige oplossing bevatten. eWings poogt deze tabel leeg te houden voor je als klant, en je zal er in elk geval zelf over beslissen als er een afwijking zou ontstaan in de toekomst, zodat er geen individueel te dragen kosten zijn.