Blogg

Välkommen till Callista Enterprise blogg - här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad genom att följa oss på Twitter.

Callista Enterprise medarbetare Erik Lupander

Go Microservices blog series, part 9 - Messaging with RabbitMQ and AMQP

// Erik Lupander

In part 9 of the Go microservices blog series, we’ll examine messaging between Go microservices using RabbitMQ and the AMQP protocol.

Introduction

Microservices is all about separating your application’s business domain into bounded contexts with clearly separated domains, running with process separation where any persistent relations across domain boundaries has to rely on eventual consistency rather than ACID-like transactions or foreign key constraints. A lot of these concepts comes from or has been inspired by Domain-driven design (DDD). That’s yet another huge topic one could write a blog series about.

Callista Enterprise medarbetare David Ström

Rapport från Spring I/O 2017

// David Ström

Got Flux? Den frågan ställdes på Spring I/O 2017 konferensen i Barcelona, och även om jag inte har svaret så har jag iaf fått massor av information och inspiration här.

Callista Enterprise medarbetare Magnus Larsson

Building Microservices, part 6. Adding a Configuration Server

// Magnus Larsson

The more microservices we get in our system landscape, the harder it gets to perform configuration management. If each microservice have its own configuration, typically in a local property or yaml file, it can quickly become a nightmare to maintain. Let’s add a Configuration Server to centralise management of all the configuration files!

Callista Enterprise medarbetare Jonas Behmer

Lessons learned from a year with AWS.

// Jonas Behmer

For more than a year, since the end of 2015, I’ve been working on a project based on Amazon web services (AWS). One important design decision for the project was to not allow any “traditional” servers in the backend as the customer wanted to move away from maintaining servers on their own, thus we aimed to be serverless. Cloud container platforms like AWS EC2 was off limits to us and that meant that AWS Lambda was the only option we had.

Callista Enterprise medarbetare Erik Lupander

Go microservices, part 6 - health checks.

// Erik Lupander

As our microservices and the landscape they operate in grows more complex, it also becomes increasingly important for our services to provide a mechanism for Docker Swarm to know if they’re feeling healthy or not. Therefore, we’ll take a look at how to add health checks in this sixth part of the blog series.

Callista Enterprise medarbetare Patrik Gustavsson

Arkitekturblogg del 5: Arkitekturmönster

// Patrik Gustavsson

För många år sedan ställde en amerikansk forskare vid namn Mary Shaw en intressant frågeställning. Hur kommer det sig att en del projekt lyckas och andra misslyckas trots att förutsättningarna egentligen är likadana? Hon kom fram till att det inte är så lätt att se en gemensam faktor för de projekt som misslyckas. Men hon kunde tydligt urskilja ett antal saker som genomgående framträdde i lyckade projekt.

Callista Enterprise medarbetare Björn Beskow

Creating a custom Gatling prococol for AWS Lambda

// Björn Beskow

Gatling is a powerful load-testing framework with excellent support for testing http-based applications out of the box (and from version 2.x also with limited support for JMS). While http is enough for many applications, we find a frequent need for using other protocols in addition to http. Gatling has a well designed extension mechanism, which allows you to write your own custom protocol handler to use in your Gatling scenarios. Unfortunately, this mechanism is poorly documented (the ‘seminal’ work refered to, GatlingProtocolBreakdown, is from version 1.x). To make things worse, the extension APIs have changed a lot between recent versions. While there are several third party protocol handlers listed in the documentation (extensions), all of them are out-of-date and don’t work with recent Gatling releases. When looking around, I found two excellent, more recent blog posts that both do a good job in describing the bits and pieces of a Gatling custom protocol (write-custom-protocol-for-gatling and load-testing-zeromq-with-gatling), but unfortunately they too are out-of-date with the 2.2.x versions.

Since I recently needed a custom protocol to load test a Serverless architecture based on AWS Lambda functions and Kinesis streams, I had to dig into the API changes to get things working. I ended up reading the source code for the latest version of both the http and jms protocols, in order to understand the APIs. It took me quite a while, so I might as well share my findings!

Callista Enterprise medarbetare Patrik Gustavsson

En överblick av bloggserien kring arkitektur

// Patrik Gustavsson

Målet med denna bloggserie kring arkitektur är att ge en allmän introduktion till vad arkitektur är och vad det innebär att arbeta praktiskt som arkitekt. Fokus är på mjukvaruarkitektur, men även andra typer av arkitektur kommer att belysas.

För att underlätta för er läsare att hitta rätt bland alla olika delar kommer här en sammanställning:

Callista Enterprise medarbetare Patrik Gustavsson

Arkitekturblogg del 2: De olika typerna av arkitektur

// Patrik Gustavsson

Det finns flera sorters arkitektur och det finns således även flera arkitektroller inom IT. Om jag med bloggen enbart hade haft syftet att sprida kunskap men inte förståelse hade jag här och nu börjat lista olika sorters arkitektur och olika arkitektroller. Men istället vill jag steg för steg beskriva och motivera varför de som används också är de som behövs. Vid sidan av det jag skriver själv kommer jag kontinuerligt under hela bloggserien även att tipsa om några favoriter på nätet där det går att ta reda på mer information. Kanske kan du som redan arbetar som arkitekt ha nytta av dessa för att introducera dina kollegor i ditt arbete.

Callista Enterprise medarbetare Patrik Gustavsson

Ny bloggserie om arkitektur

// Patrik Gustavsson

Välkommen till första delen av den här bloggserien om arkitektur. Allra först vill jag beskriva de mål som jag har med att skriva den här bloggen.

  • Ge en allmän introduktion till vad arkitektur är och vad det innebär att arbeta praktiskt som arkitekt. Främst inom mjukvaruarkitektur men även andra typer av arkitektur.
  • Visa på de trender som just nu är mest relevanta och intressanta.
  • Besvara de vanligaste frågeställningarna som ofta kommer upp i projekt.
  • Bloggen ska vara givande även för de som inte arbetar som arkitekter men har andra roller inom IT-relaterade projekt som exempelvis projektledare, kravanalytiker, testare och utvecklare.