Rode loper gaat uit voor Debian Stretch

Wat hebben Dwight Eisenhower en de OS-software release Stretch met elkaar te maken? Het antwoord staat bij ons op het whiteboard. De Eisenhower methode helpt om relevantie en urgentie van te verrichten werkzaamheden te beoordelen. Hij schijnt ooit te hebben gezegd: ‘The urgent are not important, and the important are never urgent.’

Onderhoud

eisenhower-method

The Eisenhower Method

De servers waarop de diensten draaien die wij onze klanten leveren, moeten onderhouden worden. Bijvoorbeeld door de software te updaten. We willen betrouwbaar meerwaarde leveren: de dienst moet altijd bereikbaar zijn voor onze klanten en doen wat is afgesproken.

Voorbereidingen

De nieuwste versie van het besturingssysteem dat we gebruiken, Debian (URL), heet Stretch en zal naar verwachting begin volgend jaar beschikbaar komen. Om de overgang naar Stretch zo soepel mogelijk te laten verlopen, hebben we nu de nodige voorbereidingen getroffen. Zo is onze Meresco software gepackaged, dus klaar gezet, om straks gemakkelijk te kunnen worden uitgerold op de servers.

Op tijd

Omdat we denken zoals Eisenhower, komt ons werk niet in belangrijk-urgent terecht. Dat is immers de vervelendste plek om te zijn. Tijdige voorbereidingen vergroten het zelfvertrouwen. Bij ons hoeft niemand te wachten op het krijgen van bijvoorbeeld de nieuwste security updates. En wij maken ons niet te laat – dus onnodig -druk.

HBO/WO Afstudeeropdracht: automatic garbage collection

Ben je hbo’er of WO’er en zoek je een boeiende afstudeeropdracht? Wij hebben de volgende casus voor je klaar staan:

Garbage Collection Sequential Store

Bij Seecr is een zeer efficiënte manier ontwikkeld om een kleine hoeveelheid gerelateerde data efficiënt op te slaan. Deze opslag moet nu met de hand worden ontdaan van garbage. Dit proces moet worden geautomatiseerd.

Random access

De opslag van zeer kleine eenheden van informatie gaat in de vorm van Triples. Het opslaan van deze informatie in databases zoals Triple Stores of Relationele Databases is geoptimaliseerd voor random access. Dit vertaalt zich in de architectuur van de software, maar ook in de eisen die gesteld worden aan de onderliggende hardware. Er moet vaak veel geheugen beschikbaar zijn voor caching en indexen en dergelijke, en de toegang tot harde schijven moet een zeer lage latency hebben, het liefst als SSD.

Sequential

In veel gevallen is de toegang van de data echter niet random, maar sequentieel van aard. Dit komt omdat in de praktijk vaak gerelateerde gegevens worden opgevraagd, bijvoorbeeld om informatie omtrent een specifiek voorwerp of onderwerp weer te geven in een App of website. Het gaat dan ook al snel om honderden tot duizenden gerelateerde triples. Traditionele Triple Stores en Relationele Databases zijn hier slecht in doordat, eenvoudig gezegd, deze honderden tot duizenden triples allemaal als random access behandeld worden.

Ook is de overhead van de opslag vaak zeer groot: er wordt meer data opgeslagen dan dat er feitelijk informatie in zit. Een overhead van honderden procenten is niet vreemd.

Onze oplossing

Seecr heeft een storage ontwikkeld die zeer weinig geheugen nodig heeft en zeer lage eisen stelt aan de harde schijven. Tegelijk is de through-put in triples per seconde zeer hoog (>1.000.000/s) en ook de netto ingenomen ruimte op de harde schijf is zeer klein doordat de overhead zeer laag is.

Deze store noemen we de Sequential Store omdat hij is geoptimaliseerd voor sequentieel opslag en toegang.

De stores die we in gebruik hebben, bevatten honderden miljoenen triples. Een cruciale optimalisatie is het read-only behandelen van data en het slim bij elkaar opslaan van gerelateerde informatie. Dit betekent dat als er data moet worden verwijderd, dit niet fysiek, direct, gebeurt, maar alleen wordt geregistreerd. Daadwerkelijke verwijdering vindt pas plaats bij een (handmatige) garbage collect. Het is onze wens dat dit automatisch gaat gebeuren.

Hoe automatiseren?

De volgende uitdagingen komen hierbij kijken:

  1. De data is gecomprimeerd en heeft geen vaste lengte.
  2. De benodigde geheugenruimte is beperkt, niet de hele store past in het geheugen.
  3. De benodigde schijfruimte is beperkt en kan dynamisch variëren.
  4. Alle processen lopen door, en de indexen moeten correct blijven.

Voorlopige ideeën over hoe dit aan te pakken:

  1. Verdeel de sequential store in meerdere kleine read-only delen.
  2. Gebruik bijvoorbeeld merge sort om deze delen bijeen te voegen.
  3. Tijdens 2 verdwijnt de garbage en ontstaat een nieuw read-only deel.
  4. Voer dit periodiek uit, of na een trigger die een percentage garbage berekent.

Voor wie?

Deze boeiende stage of afstudeeropdracht is bedoeld voor laatstejaars studenten informatica HBO of WO met een sterke voorkeur voor geavanceerde datastructuren en kennis van de performancekarakteristieken van hardware.

Als IT-stagiair werk je samen met collega’s,  scrum-based, aan userstories. Je denkt mee over het ontwerp en de implementatie van oplossingen, die baanbrekend kunnen zijn voor de dienstverlening van onze klanten.

Wat kenmerkt ons

Via onze maandelijkse retrospectives verbeteren we continu onze processen en onze interactie met elkaar en onze omgeving continu. Onze werkdag is ingedeeld in vier blokken, ieder voorafgegaan door een stand-up. Zo houden we elkaar scherp, zijn we bij elkaar betrokken, en zijn we wendbaarder door de dag heen. Iedereen denkt met elkaar mee.

Je zult begeleid worden door onze senior developers op WO- en hbo-niveau. Met hen kun je de diepte in over de uitdagingen die je tegenkomt.

Ervaring en skills die je nodig hebt

Dit ben jij:

  • Je volgt een hbo- of universitaire ICT-opleiding (eindstage).
  • Je bent integer en respectvol.
  • Je kunt in teamverband én zelfstandig werken.

Als je een goed idee hebt,  krijg je de tijd voor research en toepassing binnen projecten.

Wat wij bieden

  • Je werkt mee aan IT-projecten bij de grootste klanten van Seecr.
  • Het is een uitdagende stage binnen een professionele, platte organisatie. Collegialiteit en samenwerken bepalen de sfeer. Iedereen denkt graag met je mee.  We staan open voor nieuwe ideeën.
  • We hebben een stagevergoeding en reiskostenvergoeding; een (h)eerlijke lunch met tweemaal per week versgebakken brood uit eigen oven, gekookte eitjes en biologisch broodbeleg en zuivel van onze Streekleverancier.  Er is altijd vers sinaasappelsap en fruit op kantoor. De eerlijke koffie uit ons Barista apparaat, komt hier vandaan. We hebben verrassende uitjes en ontmoeten graag inspirerende mensen op congressen zoals de XP Days en TEDx-bijeenkomsten.

Waar je gaat werken

Ons ruime kantoor ligt hier.  Onze medewerkers wonen verspreid in de wijde regio, dus meerijden kan een mogelijkheid zijn.

Reageren

Geïnteresseerd of vragen? Neem dan contact op met Marjanne van Arendonk (communicatie) marjanne@seecr.nl,  of bel 06 – 207 042 96.

Afstudeeropdracht: RDF in Lucene

Apache Jena (https://jena.apache.org) is een raamwerk dat Sparql zoekvragen begrijpt, ontleedt, en via een domeinspecifiek algebra doorstuurt voor verdere verwerking. De verwerking wordt gedaan door een backend, wat zorg draagt voor efficiënte opslag en uitvoering van basale zoekvragen in termen van triples. Jena heeft zelf een backend met de naam TBD.  Seecr is gestart met een back-end die gebaseerd is op Apache Lucene (https://lucene.apache.org). Deze opdracht bestaat uit het uitwerken van de interface tussen Jena en Lucene.

De uitdaging

De belangrijkste reden dat we begonnen zijn met dit project is dat we een Sparql-compliant triple store nodig hebben met specifieke performance karakteristieken die andere open source triple stores niet hebben. Vrijwel alle triple stores zijn geoptimaliseerd voor het volgende gebruik:

  • Laadt (veel) data.
  • Wacht hier (lang) op.
  • Ga grasduinen in de data met Sparql.
  • Antwoord binnen een seconde is heel snel.
  • De triple store draait kort: uren, dagen, hooguit weken.

Echter, het gebruikspatroon wat wij graag willen ondersteunen is:

  • Laadt voortdurend nieuwe data.
  • Verwijder niet meer relevante data.
  • Doe continu queries.

Snel is als het onder de 100 ms is, maar liever onder de 10 ms.  De triple store draait maanden lang door.

Oplossingsrichting

We testen regelmatig triple stores, en we zien hierin maar weinig verbetering. Vooral het voortdurend bijwerken van de data zorgt voor instabiele systemen en voor het uit-sync raken van indexen waardoor het zoeken steeds trager wordt.
Ons inziens ligt dit er vooral aan dat de triple stores vaak nog nieuw zijn en onvoldoende uitontwikkeld. Nu is Sparql-verwerking misschien wel vrij nieuw, maar de benodigde indexen in back-end zijn niet nieuw. Toch worden deze back-end van van de grond af opnieuw ontwikkeld. Dat is de oorzaak van veel problemen, want het maken van een robuuste database met indexen is veel werk en kost veel tijd om stabiel te krijgen.
Er is echter al lange tijd een open source project wat in staat is zeer flexibel indexen van allerlei soorten te maken én om die zeer efficiënt en betrouwbaar up-to-date te houden: Apache Lucene. Zo is het idee ontstaan om Lucene te gebruiken als Back-end voor Jena. Dit idee is niet geheel nieuw, want er zijn twee onderzoekers van verschillende universiteiten die het al eens eerder uitgezocht hebben. De code is echter nergens te vinden.
Dit idee werkt en is ook toepasbaar in serieuze systemen; dat hebben we de afgelopen periode vastgesteld. Verdere doorontwikkeling gaat nu over het implementeren van alle Sparql features en de tuning voor performance. Ons doel is 1 miljard triples op één relatief eenvoudige machine.

Past dit bij jou?

Dit is een zeldzame kans om op zeer fundamenteel niveau bezig te zijn. Een goed begrip van algebra en de toepassing hiervan in de informatica is een pré. Net als kennis van Lucene en Jena. Dit is een opdracht voor een laatste jaar WO-student informatica.

Hoe je dit gaat doen

Als IT-stagiair werk je samen met collega’s,  scrum-based, aan userstories. Je denkt mee over het ontwerp en de implementatie van oplossingen, die baanbrekend kunnen zijn voor de dienstverlening van onze klanten.

Wat kenmerkt ons

Via onze maandelijkse retrospectives verbeteren we continu onze processen en onze interactie met elkaar en onze omgeving continu. Onze werkdag is ingedeeld in vier blokken, ieder voorafgegaan door een stand-up. Zo houden we elkaar scherp, zijn we bij elkaar betrokken, en zijn we wendbaarder door de dag heen. Iedereen denkt met elkaar mee.

Je zult begeleid worden door onze senior developers op WO- en hbo-niveau. Met hen kun je de diepte in over de uitdagingen die je tegenkomt.

Ervaring en skills die je nodig hebt

Dit ben jij:

  • Je volgt een universitaire ICT-opleiding (eindstage).
  • Je bent integer en respectvol.
  • Je kunt in teamverband én zelfstandig werken.

Als je een goed idee hebt,  krijg je de tijd voor research en toepassing binnen projecten.

Wat wij bieden

  • Je werkt mee aan IT-projecten bij de grootste klanten van Seecr.
  • Het is een uitdagende stage binnen een professionele, platte organisatie. Collegialiteit en samenwerken bepalen de sfeer. Iedereen denkt graag met je mee.  We staan open voor nieuwe ideeën.
  • We hebben een stagevergoeding en reiskostenvergoeding; een (h)eerlijke lunch met tweemaal per week versgebakken brood uit eigen oven, gekookte eitjes en biologisch broodbeleg en zuivel van onze Streekleverancier.  Er is altijd vers sinaasappelsap en fruit op kantoor. De eerlijke koffie uit ons Barista apparaat, komt hier vandaan. We hebben verrassende uitjes en ontmoeten graag inspirerende mensen op congressen.

Waar je gaat werken

Ons ruime kantoor ligt hier.  Onze medewerkers wonen verspreid in de wijde regio, dus meerijden kan een mogelijkheid zijn.

Reageren

Geïnteresseerd of vragen? Neem dan contact op met Marjanne van Arendonk (communicatie) marjanne@seecr.nl,  of bel 06 – 207 042 96.

De schoonheid van een agile proces

Fijn om enthousiaste klanten te hebben. Twee weken geleden deden we een mooie retrospective, waarin we terugkeken op het proces van de eerste maanden van samen nadenken en ontwikkelen. Een iteratie verder, ervoeren we weer hoe goed er wordt meegedacht, en meegewerkt. Dit zien we graag.

Flexibel

Communicatie en vertrouwen maken deel uit van de grondhouding in een agile werkwijze. Bij het ontstaan van iets nieuws, komt er meer begrip van ‘andere wegen naar Rome’. En toch: je moet maar durven die wegen in te slaan! Het team van Surfmarksurfsharekit-logoet dat met ons een nieuwe Sharekit opbouwt, blijkt goed in staat om hun ‘zekerheden’ los te laten. Gevolg: minder conservatieve ontwerpkeuzes, snellere overweging van nieuwe alternatieven, en de capaciteit om momentum te bewaren bij het ontwikkelen van Sharekit. Onze compleet nieuwe opzet, is flexibeler dan wat er was. Dat geeft mogelijkheden. Maar die moeten wel worden gezien, en durven benut. Doordat we kleine stappen maken, bouwen we vertrouwen op.

Wenkend perspectief

De makke van een bestaand systeem is soms, dat het de beeldvorming van de werking van een nieuw systeem kan vertroebelen. Echter, omdat we stap voor stap bouwen, groeit er een nieuw beeld van wat Sharekit kan zijn, en worden. En het andere perspectief wordt met enthousiasme ontvangen.

Doel

Het Surfsharekit-platform moet een palet aan publicaties van hbo’s en universiteiten kunnen harvesten, metadateren, opslaan, en uitwisselen. Wat als eerste gemaakt moet worden, bepalen we samen. We maken een inschatting voor de bijbehorende workload, van de samen vastgestelde prioriteiten. De prioriteit moet in twee weken kunnen passen. We hebben er nu een week of acht programmeren op zitten; dus hebben we vier keer, een steeds iets meer uitgebreid systeem van ‘most wanted’ kunnen presenteren en de opdrachtgevers laten ervaren, en feedback op laten geven.

Gedeeld begrip en doel

Deze nauwe afstemming werpt zijn vruchten af. Er wordt goed meegedacht over wat het uiteindelijke doel van een requirement is. Zo waren in het oude systeem diverse rollen en functies gedefinieerd, waaraan rechten waren gekoppeld. Samen kijken we nu of het mogelijk is groepen te definiëren, die rechten hebben. Wie lid is van zo’n groep, heeft dan dezelfde rechten. We gaan ervaren of deze opzet gaan werken, door hem te bouwen en uit te proberen.

Even voorstellen: Jason Verbeek

Jason Verbeek werkt sinds oktober 2016 bij Seecr als ontwikkelaar. Wij leerden Jason al eerder kennen door een korte stage, waarin hij de uitkomsten van een zoekmachine van een fietsonderdelen-webshop hielp verbeteren. Werken bij Seecr daagt hem uit om nieuwe dingen te leren. “Ik vind het leuk dat Python wordt gebruikt in de dagelijkse werkzaamheden. Het is anders dan de standaard wereld van php. Met Python zit je meer op het systeem, je kunt de computer dingen laten doen. Dat vind ik interessanter dan alleen het stukje van de werking van een online website.”

img_6508

Nieuw: Jason Verbeek

Aantrekkelijk

“Ik ga me hier zeker verder ontwikkelen. Concreet door samen te programmeren (pair programming) en door vervolgstudie. Ik vind programmeren aantrekkelijk, omdat door deze technologie je toegang kunt krijgen tot informatie wereldwijd. Toegang tot informatie kan je het leven gemakkelijker maken.”

Afstudeerders: opgelet

Wie ook benieuwd is naar wat Seecr heeft te bieden: we hebben nog plaats voor stagiaires/afstudeerders op hbo- en wo-niveau, met uitdagende opdrachten.

 

Kick-off Sharekit succesvol

SURF werkt aan een nieuwe infrastructuur voor het delen en zoeken van kennisproducten en open leermaterialen. Een van de manieren om het delen van open leermaterialen aantrekkelijk te maken, is de mogelijkheid daartoe – vanuit technisch perspectief – te vergemakkelijken. Seecr gaat daarbij helpen. Afgelopen vrijdag staken we de koppen bij elkaar met een enthousiaste vertegenwoordiging uit de wereld van het hoger onderwijs.

Van India tot de VS; overal worden door overheden en onderwijsinstellingen stappen genomen om leermaterialen, die door publiek geld tot stand zijn gekomen, breed te delen onder een open licentie. Het delen en hergebruiken van open leermaterialen is eveneens de ambitie van minister Bussemaker. Zij wil dat ook in Nederland, in 2025, docenten van Nederlandse hogeronderwijsinstellingen het de normaalste zaak van de wereld vinden, dat ze hun onderwijsmateriaal open beschikbaar stellen. Op het moment bewegen verschillende hogeronderwijsinstellingen zich nog op een continuüm van afgeschermd tot open, van (eerst) binnen de eigen instelling, samen, onderling, met andere instellingen, of helemaal open. Seecr zal voor SURFnet, de HBO Kennisinfrastructuur (HKI) en SURFmarket de repositorydienst Sharekit binnen de HKI voor hogescholen eigentijds gaan inrichten om de ontwikkeling naar ‘open’ te vergemakkelijken. In Sharekit kunnen al wetenschappelijke publicaties, scripties en leermaterialen worden opgeslagen volgens internationaal geldende standaarden voor opslag en uitwisseling.

Agile werken met Seecr

‘Kennismaken met agile werken, is kennismaken met mensen’, volgens Erik Groeneveld van Seecr. We beginnen de workshop met elkaar beter te leren kennen door een kennismakingsspel. Later op de dag ontdekken de deelnemers tijdens een break-out sessie met en van elkaar waarom ze Sharekit belangrijk vinden.

Sessie 'Wat heb jij met Sharekit?'

Erik Groeneveld en Thijs Janssen van Seecr starten met de kick-off van Sharekit

Puik test- en implementatieplan configuratiebeheertool

Rick Janssen en Koen de Nooij van het ROC A12 uit Ede hebben hun stage vervolgd met een afstudeerproject bij Seecr, en die met goed gevolg volbracht. Zij onderzochten voor ons drie open source tools, die het configuratiebeheer vergemakkelijken. Seecr maakt gebruik van een reeks aan VM’s (virtual machines). Om die eenvoudiger in te richten en te beheren, zoals nieuwe releases of updates van components, is een dergelijk configuratiebeheer tool het meest efficiënt, wat tot kostenbesparing leidt.

Felicitaties voor een compact test- en implementatieplan

Stagiaires Rick Janssen en Koen de Nooij presenteerden een test- en implementatieplan voor de nieuwe configuratiebeheertool van Seecr. Rechts staan de developers Erik Groeneveld en Thijs Janssen.

Het belangrijkste voor Seecr is dat de tool open source is, en blijk geeft van kwaliteit en betrouwbaarheid. Open source geeft ons de mogelijkheid fouten, die we nog zouden ontdekken in de tool, zelf te fiksen, onafhankelijk van derde partijen. Deze ruimte bieden wij ook aan onze eigen klanten.

Allereerst maakten Rick en Koen een analyse van de oude en gewenste situatie, waarmee de efficiëntie van Seecr op een nog hoger plan kon worden gebracht. Ze onderzochten de configuratiebeheertools Ansible, Chef en Puppet op hun merites. Uiteindelijk kozen we voor Ansible. Ansible is agentless en heeft een eenvoudige YAML gebaseerde automatiseringssyntax. Het maakt gebruik van SSH (Linux/Unix). Aan de tool is door meer dan tweeduizend bijdragers uit de open source community gewerkt.