Recent Posts

Spring Cloud Stream

In Java Magazine 4 hebben we kennisgemaakt met Spring Cloud en hebben we kunnen lezen hoe je de verschillende componenten kunt inzetten om REST gebaseerde microservices te maken. In dit artikel maken we de stap naar Spring Cloud Stream. Spring Cloud Stream laat zich het beste omschrijven als een framework voor het creëren van message-driven microservices.

Read More »

Failsafe

Eén van de vier punten uit het Reactive Manifesto is dat software resilient moet zijn. Resilient betekent dat onze software adequaat omgaat met foutsituaties en responsive blijft. Een praktisch en veel voorkomend voorbeeld is een applicatie die gebruik maakt van externe services. In dit scenario is het denkbaar dat deze externe services niet meer beschikbaar zijn of onvoldoende presteren.Zonder maatregelen kan het heel lang duren alvorens dit probleem zichtbaar wordt. Deze traagheid kan er bijvoorbeeld toe leiden dat kostbare resources lange tijd worden gereserveerd, wat kan leiden tot starvation en performance degradatie van de hele applicatie. Niet voor niks stelt dus het Reactive Manifesto dat een applicatie resilient moet zijn. Failsafe (https://github.com/jhalterman/failsafe) is een kleine library die precies doet wat het moet doen; het toevoegen van resilience aan onze applicatie zonder veel poespas. Failsafe biedt opties voor het opnieuw proberen aan te roepen van een service die kan stoppen met werken. We kunnen ook een fallback gebruiken in het geval dat een service die we aanroepen niet meer beschikbaar is. De library biedt ook de mogelijkheid om een zogenaamde circuit breaker te gebruiken om aanroepen naar services te omzeilen. We kunnen Failsafe gebruiken met Java 6 of hoger. Maar in Java 8 kunnen we lambda’s gebruiken in de Failsafe API voor nette en goed leesbare code.

Read More »

Robot Framework

Het automatiseren van testen binnen een continuous integration proces is niet meer weg te denken. Binnen ons DevOps-team zijn we op zoek geweest naar een passende oplossing voor testautomatisering. Een oplossing in de vorm van een tool of framework waar ons volledige DevOps-team mee overweg kan. Ieder teamlid moet namelijk in staat zijn tot het aanpassen en uitbreiden van de testen. Daarnaast willen we de testen voor alle door ons te ontwikkelen interfaces en back-end componenten, binnen een enkel framework, kunnen automatiseren. Om aan deze eis te kunnen voldoen, gingen we op zoek naar een framework dat naast het automatiseren van web browsers, REST, SOAP en Unix, ook met databases overweg kan.

Read More »