Home » Author Archives: Christian Posta

Author Archives: Christian Posta

Christian Posta
Christian is a Principal Consultant at FuseSource specializing in developing enterprise software applications with an emphasis on software integration and messaging. His strengths include helping clients build software using industry best practices, Test Driven Design, ActiveMQ, Apache Camel, ServiceMix, Spring Framework, and most importantly, modeling complex domains so that they can be realized in software. He works primarily using Java and its many frameworks, but his favorite programming language is Python. He's in the midst of learning Scala and hopes to contribute to the Apache Apollo project.

The Hardest Part About Microservices: Your Data

software-development-2-logo

Continuing on with my series about microservices implementations (see “Why Microservices Should Be Event Driven”, “Three things to make your microservices more resilient”, “Carving the Java EE Monolith: Prefer Verticals, not Layers” for background) we’re going to explore probably the hardest problem when creating and developing microservices. Your data. Using Spring Boot/Dropwizard/Docker doesn’t mean you’re doing microservices. Taking a hard ...

Read More »

Carving the Java EE Monolith Into Microservices

java-interview-questions-answers

Following my introduction blog about why microservices should be event-driven, I’d like to take another few steps and blog about it while I prep for a bunch of talks I’ve got coming up (See you at jBCNconf and Red Hat Summit in San Francisco). Follow me on twitter @christianposta for updates on this project. In this article we discuss the ...

Read More »

Why Microservices Should Be Event Driven: Autonomy vs Authority

software-development-2-logo

I’ve been working on a series of articles showing how to build microservices using an event-driven approach (which IMHO is the only real way to build microservices :) or… any complex distributed architecture). I’ll explore DDD, CQRS, Event-sourcing, event streaming, complex-event processing and more. I’m using a reference monolith application based on Java EE that uses all the typical Java ...

Read More »

3 Easy Things to Do to Make Your Microservices More Resilient

software-development-2-logo

One of the advantages of building distributed systems as microservices is the ability of the system as a whole to withstand faults and unexpected failures of components, networks, compute resources, etc. These systems are resilient even in the face of faults. The idea behind this resiliency seems simple: if our monolith fails, everything for which it’s responsible fails along with ...

Read More »

Message Durability in ActiveMQ 5.x

apache-activemq-logo

I get asked quite a bit to explain the basics of how ActiveMQ works with respect to how it stores messages (or doesn’t in some cases). Here’s the high level explanation of it. Note, the context is within JMS. If you use ActiveMQ’s non JMS clients (ie, STOMP, AMQP, MQTT, etc) then the behavior may be different in some cases. ...

Read More »

Java Remote Debug for Applications Running in Kubernetes

kubernetes-logo

Kubernetes 1.2 was just released and is quickly becooming the defacto cluster management solution for containers (Docker, Rocket, Hyper, etc). Check it out if you haven’t already – here are some interesting tidbits about the 1.2 release: Cluster can now scale to 30,000 containers per cluster Graceful shutdown of nodes, transitioning to other running nodes in the cluster Custom defined ...

Read More »

Cloud Native Camel riding With JBoss Fuse and OpenShift

apache-camel-logo

Red Hat recently released a Microservices integration toolkit for running our microservices in a Docker and Kubernetes environment on OpenShift v3. To help people understand this a little bit better, I’ve migrated the Rider Auto application, which has been around for a while for demoing Apache Camel and JBoss Fuse, into a set of microservices that you can run on ...

Read More »

Typesafe Kubernetes-manifest DSL for JVM-based apps

kubernetes-logo

Managing a cluster of Docker/Rocket containers (or anything) in a production environment is rife with distributed-systems challenges. Luckily, a compelling and very vibrant community around the Kubernetes project is working on those challenges, using years of experience at Google, Red Hat, and startups to guide the way for others. If you haven’t tried Kubernetes for managing your Docker containers, you ...

Read More »

DevOps and the Myth of Efficiency, Part II

devops-logo

In the previous post, I outlined why DevOps is not about efficiency, and how our old ways of looking at “complicated” problems by solving for efficiency first is actually not effective or flexible in our now very complex world. In fact, letting go of our century-long instincts to apply reductionist management theories to create efficient workplaces may lead to building ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns