Het Verhaal

Oxydigit is een modern digitaal development en adviesbureau.
Wij kunnen u helpen bij het technisch ontwerp, ontwikkeling en ondersteuning van moderne digitale producten. De regio Amsterdam biedt daarbij als top 10 IT-regio van Europa een uitstekend netwerk van professionele partners.

In de huidige digitale wereld raken mensen meer en meer gewend aan het werken met digitale producten. Over een aantal jaar zullen we zijn verbonden door "the internet of things".

In het verleden hebben we gezien dat het digitale tijdperk het een stuk eenvoudiger heeft gemaakt om zaken voor elkaar te krijgen. Dit betekent niet altijd dat de digitale producten ook eenvoudig en gemakkelijk in gebruik zijn. We kunnen wel zeggen dat de focus altijd op "getting the deal done" heeft gelegen.

Tegenwoordig zien we dat men meerdere opties heeft bij het kiezen van een digitale tool om het gewenste doel te bereiken. Dat betekent dat deze tools met elkaar wedijveren op verschillende gebieden, zoals effectiviteit en prijs.

Twee van die factoren zijn inmiddels ook gebruikerservaring en gebruiksvriendelijkheid geworden. Producten zijn niet langer alleen functioneel, maar ook mooi en leuk om mee te werken, dankzij het gebruik van de laatste technologieën

Oxydigit gelooft dat de tijd voorbij is waarbij gebruikers zich moesten aanpassen aan de manier waarop hun applicaties werken. Applicaties moeten zich juist aanpassen aan de behoeften en smaak van de gebruiker, zonder in te boeten aan funcionaliteit. Elke saaie taak kan worden gevormd tot een leuke spel-achtige ervaring.

Wij hebben de kennis voor het maken van moderne cutting-edge (web-) applicaties met geoptimaliseerd gebruikersgemak. Of u nu hulp nodig heeft bij het definiëren van het juiste product voor uw wens(en) of als u een goede technische basis nodig heeft als het gaat om design en documentatie voor uw digitale projecten: u kunt op ons rekenen.

Wij hebben meer dan 15 jaar ervaring in het bouwen van web-applicaties en meer dan 10 jaar in het bouwen van iOS apps. De gebruikte technologieën hebben zich altijd aangepast aan moderne ontwikkelings- en implementatietechnieken, alsmede de hosting en het onderhoud van de eindproducten. We zijn via Java, Actionscript en Flash op vaste servers naar Ruby on Rails en HTML5/CSS3 op Cloud Servers, en naar Dockerized React apps in Kubernetes omgevingen gegaan.

Het eenvoudigweg realiseren van het product is niet het eindstation. De juiste behavioral testing is essentieel voor het opleveren van veilige en betrouwbare oplossingen. De huidige ontwikkeltechnieken zorgen daarbij voor de juiste test-integratie en betere onderhoudbaarheid. Wij geven ook advies over uw huidige product en bieden zowel verschillende vormen van testen op bestaande applicaties als volledige due-diligence ondersteuning.

Bent u op zoek naar een partij in de buurt? Onze centrale vestiging in Amsterdam stelt ons in staat om op korte termijn bij u langs te komen voor een gesprek. Wij kunnen daardoor ook makkelijk bij u op locatie werken.

Sjoerd Kuijper
Digital Architect & Engineer @ Oxydigit

Focus punten

MODERN

Producten die bij Oxydigit worden gemaakt zijn moderne digitale producten. Modern betekent dat we de laatste technologieën gebruiken en vooruit kijken. We zorgen voor het upgraden van uw verouderde producten naar de standaarden van vandaag die klaar zijn voor de toekomst. Zowel de broncode als de gegevens worden opgeslagen en onderhouden op een flexibele manier, zodat deze ook in andere digitale omgevingen gebruikt kunnen worden. We willen geen insluitingen, maar geintegreerde samenwerking door middel van API's. Alle diensten die we gebruiken delen deze aanpak, waarmee het eindproduct rijk is aan functies en een lust voor het oog.

GEBRUIKSVRIENDELIJK

Niet alleen moet een digitaal product functioneel zijn, het moet ook eenvoudig en makkelijk te begrijpen zijn . Iemand die een product niet kent ermee laten werken kan een goed beeld geven van hoe intuïtief een ontwerp eigenlijk is. Goed nadenken over een gebruikerservaring (UX design) is op zijn minst zo belangrijk als het grafisch ontwerp ervan. Moderne technologie zoals Oxydigit het graag ziet, helpt bij het bouwen van producten op een manier dat ze eenvoudig geoptimaliseerd en aangepast kunnen worden, om ook achteraf de gebruiksvriendelijkheid nog te kunnen verbeteren.

DUURZAAM

Traditionele hosting oplossingen vereisen vaste hardware die een hoop eisen aan het onderhoud stelt. Fysieke ruimte, energiebehoefte, hardware onderhoud, netwerkprestaties etc. maken allemaal deel uit van de benodigde infrastructuur. Deze infrastructuur kan prijzig zijn als het gaat om energiegebruik, huur, mankracht en investering. Gek genoeg gebruiken self-hosted oplossingen vaak maar een klein gedeelte van de capaciteit, waarmee een hoop potentiële rekenkracht verloren gaat. Oxydigit verplaatst hosting naar de "Cloud", waar de infrastructuur is geoptimaliseerd en gedeeld met anderen, waardoor het gebruik toeneemt en de kosten afnemen. Energiegebruik per applicatie neemt ook aanzienlijk af door het gebruik van moderne, zeer efficiënte data centers.

VEILGE & BEVEILIGDE DATA

Data veiligheid is gericht op de manier waarop gegevens worden opgeslagen zodat de data integriteit beschermd is. Goede backups moeten beschikbaar zijn, mochten de integriteits checks toch falen. Niet alleen voor gebruikersgegevens, maar ook voor de broncode en de applicatie zelf. Daarnaast is een goede beveiliging vereist, zodat de applicatie niet kan worden geschaad door de authenticatie te forceren of door het stelen van data met virussen en wormen. Oxydigit houdt data veiligheid altijd in het vizier in de gebruikte werkmethoden. Alle gegevens worden gebackupt en zijn terug te zetten naar een eerder moment om van een noodgeval te kunnen terugkeren naar normale werking. Veiligheid wordt gewaarbord door de kennis van het opzetten van een server, waarbij gebruik wordt gemaakt van "best practices", zoals het up-to-date houden van software en het installeren van patches.

SCHAALBAAR

Het is vaak moeilijk om bij een applicatie te kunnen bepalen hoeveel gebruikers er tegelijkertijd gebruik van zullen maken. Soms weten we zelfs al dat de gebruikersaantallen behoorlijk kunnen fluctueren. In die gevallen kan men of kiezen voor een dure en zware setup, of voor een applicatie die slim is gebouwd en kan meegroeien of -krimpen met het aantal gebruikers. Hoge potentie setups hebben een aanzienlijk prijskaartje als ze langere tijd in bedrijf zijn, maar zijn af en toe wel degelijk vereist. Oxydigit bouwt flexibele oplossingen die het mogelijk maken om op te schalen of terug te schalen, zodat alleen betaald wordt voor wat nodig is. Of het nu gaat om een website van 10 bezoekers per dag, of om een website met 100.000 bezoekers per uur, wij verzorgen een applicatie die het aan kan.

OVERDRAAGBAAR

Wij begrijpen dat een web product niet altijd door dezelfde persoon, of door hetzelfde bedrijf zal moeten worden onderhouden. Als bij de ontwikkeling geen rekening wordt gehouden met development standaarden, dan kan dit insluiting betekenen voor de klant. Een groot aantal digitale producten heeft hier last van, omdat een ontwikkelbureau meer belang heeft bij slecht geschreven code die hun "expertise" vereist, dan bij het schrijven van overdraagbare, eenvoudig te begrijpen en goed gedocumenteerde code, die eenvoudig kan worden uitgebreid en onderhouden door andere ontwikkelaars. Oxydigit gelooft dat je een goed geschreven en gedocumenteerd overdraagbaar product mag verwachten, zodat de klant kan bepalen waar verdere ontwikkeling en ondersteuning plaatsvindt.

PRESTATIEGERICHT

Alle web producten hebben een bepaalde sterkste en een bepaalde zwakste schakel. Door prestatieanalyse toe te passen, kunnen we deze onderdelen vinden en de hard- en software aanpassen aan de behoeften van deze onderdelen, zodat de applicatie niet zal breken op deze cruciale punten. Voor de monitoring van de prestaties en eventuele fouten maken we gebruik van state-of-the-art software, die ons in staat stelt om het product aan te passen, nog voordat een probleem zichtbaar is geworden voor de klant of de bezoekers van de website.

Technologieën

Java Spring

Java is de standaard programmeertaal voor veel (grote) bedrijven met uitgebreide applicatiewensen. De taal heeft zich ontwikkeld in de tijd om te voldoen aan de laatste moderne standaarden en om het brede spectrum aan moderne programmeertalen bij te houden. Het Spring Framework gebruikt Java om een brede en modulaire featureset aan te bieden, zodat je kunt kiezen wat je nodig hebt om gedistribueerde-, cloud- en microservices te bouwen met minimale inspanning.


translation missing: amsterdam.technologies.ruby-rails.title

translation missing: amsterdam.technologies.ruby-rails.description


Native App Ontwikkeling

Mobiele apps vormen een belangrijk onderdeeel van ons dagelijks leven. Ze kunnen een belangrijke schakel vormen tussen bedrijven en klanten, maar ook een belangrijk hulpmiddel zijn voor gebruikers. Native apps kunnen direct in Android Studio voor Android of XCode voor iOS worden gebouwd, maar als de apps niet erg van elkaar verschillen, dan kan er ook voor een oplossing als React Native worden gekozen. Hiermee is er slechts 1 codebase (en dus 1 inspanning) nodig om beide native apps in 1 keer te bouwen.


Kubernetes

In de loop der tijd is het gebruik van microservices op Docker steeds populairder geworden. Om deze containers te kunnen uitrollen en beheren in een productieomgeving kun je gebruik maken van het Kubernetes platform. Kubernetes maakt het mogelijk om een dockerized applicatie op te schalen per service en deze uit te rollen zonder downtime in een veilige en flexibele omgeving. Het upgraden van een applicatie met veel afhankelijkheden kan lastig zijn om uit te voeren. Met Docker en Kubernetes kunnen we nieuwe versies vooraf bouwen en testen, waarna deze zonder problemen kunnen worden uitgerold.


ArgoCD

ArgoCD is een hulpmiddel om het uitrollen van applicaties op Kubernetes mee te realiseren. In plaats van het handmatig uitrollen, of door middel van pipelines, kijkt ArgoCD voortdurend naar een Git repository om wijzigingen daarin automatisch uit te rollen.


Amazon Web Services

Amazon Web Services is een set met services aangeboden door Amazon voor de volledige cloud-setup. In plaats van het huren van een fysieke server kan bij Amazon per uur specifieke hardware worden gehuurd. Op deze manier kan worden opgeschaald als (tijdelijk) meer capaciteit nodig is.

Naast applicatie servers, biedt AWS ook services voor het opslaan van data en bestanden. Deze services maken het opslaan van een grote hoeveelheid data erg makkelijk en stellen de developer in staat de data te verspreiden over de wereld in slechts een paar seconden.


cert-manager

cert-manager helpt om automatisch zelf-verstrekte certificaten te beheren op een declaratieve wijze. Het automatische certificaten management werkt in-cluster zodat je niet meer hoeft na te denken over verlopende certificaten en het handmatig vernieuwen ervan.


Docker

Docker is een platform dat klassieke servers opsplitst in virtuele segmenten (containers) die samen een applicatie vormen. Dit stelt ontwikkelaars in staat eenvoudig een omgeving samen te stellen die overdraagbaar is en overal exact gelijk zal werken. Hierdoor wordt de kans op fouten door verschillen in architectuur tussen verschillende systemen aanzienlijk verkleind. Daarnaast is een docker omgeving binnen no-time op te zetten, waardoor er geen tijdrovende installaties hoeven plaats te vinden.


ElasticSearch

Elastic search is een krachtige service die je helpt om data te indexeren. Het kan grote hoeveelheden data beheren op een manier die het eenvoudig maakt deze weer op te vragen. Zie het als een grote bibliotheek met boeken en een bibliothecaris met een lijst van alle boeken en onderwerpen. Als je een boek nodig hebt kan de bibliothecaris je vertellen waar het is, zonder dat je zelf door alle boeken hoeft te zoeken.

Buiten een standaard zoek-index kan ElasticSearch ook real time data analyse en statistieken leveren, evenals tools die niet standaard in een database zitten. Als een database locatiegegevens bevat bijvoorbeeld, dan kan ElasticSearch alle resultaten geven binnen een bepaalde straal rondom een gegeven locatie. Erg handig voor een op locatie gebaseerde App!


Git

Git is een versie beheer systeem voor veranderingen in broncode. Het zorgt ervoor dat developers kunnen samenwerken aan dezelfde projectcode zonder problemen te hebben met het samenvoegen van ieders aanpassingen. Git maakt het ook mogelijk om verschillende "branches" te ontwikkelen, wat erg handig is voor het doorontwikkelen van nieuwe versies naast het onderhouden van oudere versies van het product.

Als een applicatie is geschreven met behulp van Git, dan kun je makkelijk terug naar een eerdere versie van het product, zonder dat er iets verloren gaat. Dit maakt het eindproduct een stuk flexibeler en weerbaarder tegen mogelijke bugs.


GitLab (CI)

GitLab is een vooraanstaand GitOps platform met geïntegreerde Continuous Integration & Delivery. Je kunt er je broncode in beheren en koppelen aan verschillende operationele- en ontwikkelhulpmiddelen.


Grafana

Grafana helpt bij het visualiseren van gestandaardiseerde gegevens van van verschillende bronnen. Het integreert netjes met Prometheus om applicaties te monitoren op een visuele manier. Stel alerts in waar je notificaties wilt ontvangen zodra de gegevens ongewenste patronen bevatten.


Harbor

Harbor is een moderne registry oplossing om container images mee te beheren voor je Kubernetes clusters. Het kan images scannen op kwetsbaarheden en op basis daarvan maatregelen nemen. Het draait in-cluster en stelt je in staat om images te repliceren over andere clusters. Overbodige of kwetsbare images worden vanzelf verwijderd.


Helm

Helm is de standaard uitrol-oplossing voor eenvoudig applicatie beheer. Het stelt je in staat om versies van pakketjes te maken voor deployments met rijke template functies. Sla je charts op in een registry om templates te delen tussen applicaties.


Javascript

Javascript wordt gebruikt in bijna elke website. Het wordt uitgevoerd door de browser en zorgt voor allerlei verbeteringen aan de ervaring van de gebruiker, zoals animatie, pop-ups en tracking scripts. Javascript kan worden gebruikt om een app-like ervaring te creëren met een rijke gebruikerservaring.

Updates van Javascript gaan langzaam omdat het universeel gebruikt wordt. Hierdoor is het een moeilijk onderdeel van de ontwikkeling van websites met een overgecompliceerde syntax. Desalniettemin is het een noodzakelijke component van het bouwen van moderne websites.


Kubernetes

In de loop der tijd is het gebruik van microservices op Docker steeds populairder geworden. Om deze containers te kunnen uitrollen en beheren in een productieomgeving kun je gebruik maken van het Kubernetes platform. Kubernetes maakt het mogelijk om een dockerized applicatie op te schalen per service en deze uit te rollen zonder downtime in een veilige en flexibele omgeving. Het upgraden van een applicatie met veel afhankelijkheden kan lastig zijn om uit te voeren. Met Docker en Kubernetes kunnen we nieuwe versies vooraf bouwen en testen, waarna deze zonder problemen kunnen worden uitgerold.


Keda

Keda helpt om (Prometheus) gestandaardiseerde gegevens te analyseren om te kijken wanneer een applicatie moet schalen. Als de druk op een applicatie toeneemt zullen de gegevens dit laten zien en dan zal Keda extra capaciteit toevoegen. Als de capaciteit niet langer nodig is kan Keda de applicatie net zo makkelijk weer afschalen.


MongoDB

MongoDB is een No-SQL database systeem. Het kan worden gebruikt om de data die bij de applicatie hoort op te slaan. In sommige gevallen zijn relationele database systemen (zoals MySQL bijvoorbeeld) niet schaalbaar genoeg.

Typische gegevens die in een dergelijke database kunnen worden opgeslagen zijn statistieken en logboek gegevens vanwege hun massaliteit. Dit database systeem zegt hoge prestaties toe en optimale schaalbaarheid, zodat het kan meegroeien met de data.


MySQL

Voor sommige typen data, zoals lijsten met gebruikers en nieuwsitems bijvoorbeeld, een relationele database is de manier om de data op te slaan. Het maakt het mogelijk om de data en de gerelateerde objecten op te halen op de traditionele manier door het gebruik van SQL.

MySQL is een van de grote spelers in open-source relationele database markt. Als een applicatie al wat ouder is, is de kans groot dat de data is opgeslagen in dit type database.


Nexus

Nexus is een repository manager om externe bronnen via te proxien naar een lokale instantie. Deze informatie kan worden gecached en sneller worden geserveerd bij de volgende request. Het kan ook als algemene artifact store worden gebruikt om applicatie artifacts op een centrale plek te beheren.


OpenShift

OpenShift is een Kubernetes variant van RedHat. Het stelt je in staat om Kubernetes in een private cloud omgeving te draaien wanneer publieke clouds geen optie zijn. Bovenop Kubernetes levert het extra platform functionaliteit ter bevordering van beveiliging en het inpassen van meerdere klanten in een cluster.


Operator Framework

Het Operator Framework stelt je in staat om Kubernetes functionaliteit uit te breiden met eigen objecten en functies. Je kan het gebruiken om specifieke business logica in je infrasctructuur op te nemen.


PostgreSQL

PostgreSQL is een modern relationeel database systeem. Het is uitgegroeid in de laatste jaren tot een volledig alternatief voor MySQL. Het kan de zelfde typen relationele data opslaan, maar biedt ook een aantal toepassingen die het voor de developer een stuk makkelijker maken om ermee te werken.

Door deze extra features, zoals uitgebreid zoeken in text en de opslag van meer complexe data typen, wordt van PostgreSQL verwacht om beetje bij beetje de markt over te nemen. Het migreren van andere database systemen naar PostgreSQL is niet zo eenvoudig helaas.


Prometheus

Prometheus verzamelt gegevens van alle (applicatie) componenten over hun huidige status. Het bijhouden hiervan stelt je in staat om veranderingen en tendensen te detecteren waarbij ingrijpen vereist is. Bijvoorbeeld om te voorkomen dat een applicatie stopt met werken omdat een database geen opslagruimte meer heeft.


React

React is een library voor javascript dat het bouwen van user interfaces faciliteert. Het is relatief nieuw en wint snel aan populariteit. Met name omdat het kan worden gebruikt in een "React Native" variant voor het tegelijkertijd bouwen van native apps voor zowel iOS als Android. Hierdoor wordt een aanzienlijke tijd- en kostenbesparing gerealiseerd zonder in te boeten aan functionaliteit. Ook op zichzelf is het een goed alternatief voor bijvoorbeeld Angular. Met name als het gaat om applicaties waar veel gebruikt wordt gemaakt van zgn. "stateful" componenten.


Redis

Redis is een snelle key-value database voor de opslag van zeer eenvoudige data. Dit type opslag is geschikt voor caching en voor de opslag van achtergrondprocessen bijvoorbeeld.

Door de manier waarop het werkt is het zeer snel en gebruikt het weinig bronnen. Het is wel erg beperkt in de data typen die kunnen worden opgeslagen.


Slack

Slack is een modern chat programma dat zich richt op communicatie binnen en tussen bedrijven. Het vult de leegte tussen bellen en email. Bellen is storend, omdat iemand dan niet zijn moment van beantwoorden kan kiezen. Email is traag, omdat het vaak een heel bericht is dat eerst moet worden geschreven en bij de ontvanger op een grote hoop komt.

Naast de standaard chat functies, zijn er tal van integraties mogelijk die de beschikbare kanalen uitbreiden met allerlei relevante informatie van andere systemen. Zo kun je bijvoorbeeld notficaties koppelen aan een kanaal, zodat iedereen die dat moet weten op de hoogte is.


Ubuntu

Ubuntu is een van de grootste open-source besturingssystemen voor servers. Het heeft bewezen betrouwbaar te zijn en eenvoudig te installeren en updaten. Het is een telg uit de Linux familie die volledig vertrouwt op open-source software.

Ubuntu gebruikt de package manager APT. APT helpt om alle benodigde software te installeren, zonder de installatiescripts zelf te hoeven uitvoeren. Dit bespaard veel tijd en verzekert dat je alleen installeert wat nodig is uit betrouwbare bronnen vrij van malware. Het draagt bij aan een veilige omgeving voor de applicatie en de data.


Ons werk

Contact

ADRES

Theemsstraat 14
2014 RX Haarlem
The Netherlands

TELEFOON

+31 23 844 34 82

E-MAIL