Don't get hit with the pendulum: DevOps shifted too far left
You probably wouldn’t be surprised if I told you modern networking based on open source projects like Istio, SPIFFE, Cilium and others (See my paper about th...
You probably wouldn’t be surprised if I told you modern networking based on open source projects like Istio, SPIFFE, Cilium and others (See my paper about th...
Platform engineering has emerged recently in part because organizations recognize the value in improving developer experience and the need to improve app dev...
It’s been a while since I’ve blogged, and just like other posts in the past, this one is meant as a way to dig into something and for me to catalog my own th...
Istio is a powerful service mesh built on Envoy Proxy that solves the problem of connecting services deployed in cloud infrastructure (like Kubernetes) and d...
This post may not be able to break through the noise around API Gateways and Service Mesh. However, it’s 2020 and there is still abundant confusion around th...
I’ve been pretty invested in helping organizations with their cloud-native journeys for the last five years. Modernizing and improving a team (and eventually...
Recently I wrote a piece for DZone and their Migrating to Microservices Report on the challenges of adopting service mesh in an enterprise organization. One ...
Service mesh is an important set of capabilities that solve some difficult service-to-service communication challenges when operating a services-style archit...
This is part 5 of a series that explores building a control plane for Envoy Proxy. Follow along @christianposta and @soloio_inc for more!.
This is part 4 of a series that explores building a control plane for Envoy Proxy. Follow along @christianposta and @soloio_inc for the next part coming out ...
This is part 3 of a series that explores building a control plane for Envoy Proxy.
This is part 2 of a series that explores building a control plane for Envoy Proxy.
Envoy has become a popular networking component as of late. Matt Klein wrote a blog a couple years back talking about Envoy’s dynamic configuration API and h...
So you’ve decided to run your Kubernetes workloads in AWS. As we’ve seen before setting up AWS EKS requires a lot of patience and headache. You may be able t...
API Gateways are going through a bit of an identity crisis these days.
In 2019, I’m joining solo.io as Field CTO to build and grow a company that creates developer tools and infrastructure to help organizations build their softw...
This week before the Christmas break is my last week at Red Hat, the company I’ve been with for the last 6.5 years. Actually, I joined a small start up close...
No doubt, if you’ve been paying attention to technology trends, you’ve seen the rise in interest of “serverless”. In some accounts, “serverless” is billed as...
I’ve recently started giving a talk about the evolution of integration and the adoption of service mesh, specifically Istio. I’ve been excited about Istio ev...
I’m fortunate to have a few sessions at Red Hat Summit next week (May 8-10) in San Francisco! I’ll be speaking/co-presenting with some fantastic presenters a...
Burr Sutter (@burrsutter) and I (@christianposta) have finished writing a small book to help folks get up and running with Istio.io service mesh!
I see lots of customers moving to microservices, (whether they should or not is a topic for a different post), and in doing so they are attempting to solve s...
Microservices allow us to go faster and reduce our time to value. However, we cannot just naively move fast and break things. We need a way to reduce the ris...
We’ve been talking about Istio and service mesh recently (follow along @christianposta for the latest) but one aspect of Istio can be glossed over. One of th...
When we build services architectures (Service Oriented Architecture, Microservices, the next incarnation, etc), we end up making a lot more calls over the ne...
Just getting back from KubeCon 2017 and I can tell you the excitement about Istio and service mesh in general is through the roof! There were lots of talks a...
In the first part (part I) we introduced a strategy to bring microservices to our architecture without disrupting the current request flows and business valu...
Let’s dive right in! In the previous post (part I) we set up the context for this blog. Basically, as we introduce a strategy to bring microservices to our a...
Quick interlude to my last blog. As part of my last blog on low-risk monolith to microservice architecture, I made this statement about microservices and not...
As part of a two-day microservices workshop I’m putting together, I’ve been thinking a lot about how to explain monolith-application decomposition and what a...
I’ve talked quite a bit recently about the evolution of microservices patterns and how service proxies like Envoy from Lyft can help push the responsibility ...
This blog is part of a series looking deeper at Envoy Proxy and Istio.io and how it enables a more elegant way to connect and manage microservices. Follow ...
This blog is part of a series looking deeper at Envoy Proxy and Istio.io and how it enables a more elegant way to connect and manage microservices. Follow ...
This blog is part of a series looking deeper at Envoy Proxy and Istio.io and how it enables a more elegant way to connect and manage microservices. Follow ...
I’ve blogged in the past about “how I’m excited for a ‘2.0’ microservices stack” and what some of that entails. I even tried to lay out why service interacti...
You’re probably saying “Wait. You already wrote a blog telling me the hardest part of microservices was my data. So what is the hardest part? That? or Callin...
Technology moves fast! At the same time, the old becomes new.
Ever wondered how to create, build, deploy new Spring Boot microservices on Kubernetes What if you had integrated tooling in whatever IDE you used (IntelliJ,...
Continuing on with my series about microservices implementations (see “Why Microservices Should Be Event Driven”, “Three things to make your microservices mo...
I’ve just written a book that is now publicly available! The name of the book is “Microservices for Java Develooers” (O’Reilly) and is a hands-on, step-by-st...
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...
Some of this I cover in my book “Microservices for Java Developers” O’Reilly June 2016 (launching soon!), but I want to give a more specific treatment of it ...
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 microse...
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...
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 ...
Kubernetes 1.2 was just released and is quickly becooming the defacto cluster management solution for containers (Docker, Rocket, Hyper, etc). Check it out i...
Red Hat recently released a Microservices integration toolkit for running our microservices in a Docker and Kubernetes environment on OpenShift v3. To help p...
Managing a cluster of Docker/Rocket containers (or anything) in a production environment is rife with distributed-systems challenges. Luckily, a compelling a...
In the previous post post, I outlined why DevOps is not about efficiency, and how our old ways of looking at “complicated” problems by solving for efficiency...
This post is for those of you working in large companies or “enterprises” and are exploring what “DevOps” really means and why you’re struggling with it. I’v...
Spring Data saves you a lot of time by creating smart DAOs that you can basically get for free without writing any code. It basically follows the Repository ...
Golang seems to be getting quite popular as its the programming language of choice for some cool new technology like Docker, Kubernetes, and OpenShift. Lucki...
The following is a guest post from the folks at Baratine.io! Building microservices takes trial and error, and Baratine provides a fast, pojo-based approach ...
The kubectl command line client is a versatile way to interact with a Kubernetes cluster, including managing multiple clusters. I’ve not found a good way to ...
I just delivered a 4-day deep-dive training course on Docker and Kubernetes to a customer in Atlanta. In true open-source spirit, I’d like to publish the sou...
Everyone wants to talk about microservices. Everyone even wants to do them, although they’re not really sure how – Martin Fowler’s initial write up left more...
HL7 over MLLP is a very common transport mechanisms for systems that can speak the HL7 protocol format. JBoss Fuse is a very powerful microservices-style int...
So you think you’re going to do microservices? Did you also try to adopt SOA? And agile? And scrum?
A lot of teams I talk to recently are very interested in “DevOps” (whatever that means… seems to mean different things to different people?) and when we sit ...
We hear the benefits of microservices architectures loud and clear; we hear the constant drum beat of how/why/by all means/etc you should be doing microservi...
I’m looking forward to speaking at DevNation 2015 and Red Hat Summit 2015 next week in Boston, as well as meeting some of you in person! If you’ll be going a...
Do you deploy and undeploy your JVM-based applications (regardless of JVM container/no-container) in production? ie, when you have new versions of an app or ...
JBoss Fuse is a powerful distributed integration platform with built in features for centralized configuration management, service discovery, versioning, API...
JBoss Fuse is a powerful distributed integration platform with built in features for centralized configuration management, service discovery, versioning, API...
Technology is the foundation of differentiation whether you’re a large enterprise or the small startup. If businesses fail to embrace that fact, they run the...
As developers, we all love shiny new things. New technologies (Docker, Kubernetes), new languages (Golang, NodeJS), new hyped conversation starters (Microser...
Next week I’ll be giving a talk at the DevNexus conference in Atlanta. AFAIK the event is sold out, so for those going, look forward to meeting you!
Oddly enough, while I’m sleeping or in some zombie state while attempting to sleep, I often feel like the ideas I have while in that state are the best thing...
Apache ActiveMQ is a very popular open-source messaging broker brought to you by the same people who created (and work on) Apache Karaf, Apache Camel, Apache...
Apache Camel is a popular, mature, open-source integration library. It implements the Enterprise Integration Patterns which is a set of patterns that often c...
Seems like every 5 to 10 years our industry, especially in the Enterprise Integration, or enterprise application space, we get introduced to some new methodo...
So I haven't been blogging as much recently -- just been really busy. But my New Year's resolution is to blog a little more sharing some things I come across...
Okay, so nobody is kidding anybody, Microservices isn't a new concept... but it seems like it might be generating its own hype curve based on the frequency w...
Apache Camel has a new release recently, and some of the new features were blogged about by my colleague Claus Ibsen. You really should check out his blog en...
I recently put together an end-to-end demo showing step-by-step how to set up a Continuous Delivery pipeline to help automate your deployments and shorten yo...
Recently, in between waking up to help my wife with our ten-day old baby at wee hours of the day, I had a chance to be part of Markus Eisele's Developer Inte...
Apache Camel Developer's Cookbook by Scott Cranton and Jakub Korab is a large catalog of useful patterns, solutions, and best practices for developing and in...
I just posted an entry on running HawtIO on JBoss Wildfly 8.1 recently. From that post you know how awesome HawtIO is, and all of the cool plugins it has to ...
HawtIO gives awesome eye candy to your JVM based middleware. It's a unifying console for applications that would otherwise have to build out their own crappy...
Apache Camel -- the best open source integration library Apache Camel is an awesome, open-source, integration library that can be used as the backbone of an ...
I recently did a step-by-step demo on using Fabric8 or JBoss Fuse with an emphasis on DevOps. For those of you who aren't familiar with Fabric8, check out th...
I recently put together a quick Github project to show the Fabric8 HTTP gateway in action. It shows a sample project that you can use to test out the HTTP Ga...
DevOps is all about automating your build and release environment, reducing human error/tasks, and building up a pipeline to support continuous delivery so y...
Fabric8 Fabric8 is a Apache 2.0 Licensed upstream community for the JBoss Fuse product from Red Hat. It's is an integration platform based on Apache ActiveMQ...
I've been meaning to blog about this for a while, but never got the time. Well I have a few seconds to point out that I've posted eight (8) step-by-step vide...
I just finished my talk at DevNation on Simplifying your integrations with Apache Camel. You can find the slides here: Simplify integrations-final-pdf f...
Well, you probably know my thoughts on cloud, PaaS, iPaaS and the like. In short, there's a lot of hype around it, unscrupulous vendors, and some awesome mag...
Ahh yes, this mythical utopian "cloud" where unicorns frolic, butterflies abound, and magical elves fetch me a beer three quarters of a way into my current ...
Interested in the JBoss Fuse technolgoies, or the new Fabric8 open-source community? Wanna meet James Strachan (Creator, HawtIO, Camel, [Groovy][groovy][/gro...
Apache Camel is the most popular open-source integration library. You can implement complex routing, orchestration, transformation, and mediation with this l...
Every once in a while, I run into an interesting problem related to connections and pooling with ActiveMQ, and today I'd like to discuss something that is no...
Word on the street is that Camel tastes good. Well, I can't vouch for that (as I haven't tried it...), but what I can vouch for is that working with Apache C...
I'm excited to be giving a webinar on Wednesday (December 18th, 2013) at 9am MST (so that translates to 8am PST, 11 EST, and 16:00 UTC). I've already heard t...
It's Open Source! JBoss Fuse is an open-source ESB and is the evolution of Fuse ESB after the Red Hat acquisition of FuseSource. It's open-source, Apache v2 ...
This blog demonstrates how easy it is to use Apache Camel and its new json-path component along with the camel-sqs component to produce and consume messages ...
This week you can get 50% off PackT Publishing books! There are a couple new Apache Camel Books released that you may wish to take a look at: Instant Apache ...
First of all, for full disclosure, for the last 1.5 years, I've been working as a consultant for FuseSource (now Red Hat) supporting SOA and Integration proj...
So ActiveMQ 5.9 is due out from the community any day now! I just did a talk at the local Phoenix JUG about it, and did some live demos of some of the new fe...
So I've recently re-kindled my interest in how Apache Camel works. Camel is such a powerful integration tool and is very widely used, but anytime I put it to...
Have you had a chance to take a look at HawtIO yet? If you haven't, it's a new web-based dashboard for managing and monitoring JVM-based services like Apache...
So I was planning to give a talk on ActiveMQ at the Phoenix JUG this August, but through no fault of my own, it has been rescheduled for September. Well... a...
JBoss A-MQ is based on Apache ActiveMQ. It's lightweight, has excellent performance, and can be configured to fit a variety of use cases. One of those use c...
Thanks to all that came out to Camel One in Boston this year! I had a great time, my presentation went well, and there were some other great talks! I believe...
I recently had the pleasure of reviewing Tim Bish's new book Instant Apache ActiveMQ Messaging: Application Development How-To and wanted to share some thou...
For the past couple of years, FuseSource has held CamelOne, an annual conference specifically geared toward the open-source messaging and integration commun...
HawtIO is a new pluggable HTML5 dashboard for monitoring ActiveMQ, Camel, Karaf, Fuse Fabric, Tomcat, and other technologies. Actually, I was completely surp...
There's usually a steady drip of questions on the mailing list surrounding ActiveMQ's message-priority support as well as good questions about observed behav...
So you want to do publish-subscribe with ActiveMQ across distributed topics and be reliable. You can just use durable subscriptions, right? Well, you could, ...
I saw a question on the mailing list asking for a simple, stripped-down, version of ActiveMQ. The default version 5.7.0 distribution and all of its runtime d...
On January 23rd, I will be giving a live webinar about Camel! I recently completed a DZone RefCard on essential camel components that will be published next ...
Apache Apollo is a next-generation, high-performance, multi-protocol messaging broker built from the ground up to one day be a drop-in replacement of ActiveM...
Apache Apollo is a next-generation, high-performance, multi-protocol messaging broker built from the ground up to one day be a drop-in replacement of ActiveM...
As indicated by some recent mailing list emails and a lot of info returned from Google, ActiveMQ's SystemUsage and particularly the MemoryUsage functionality...
I've written previously about ActiveMQ Network Connectors as a way to help describe some of the responsibilities of the classes that are involved with config...
For most of the clients I've been to, scaling out a JMS messaging layer with ActiveMQ is a priority. There are a couple ways to achieve this, but without a d...
Recently a customer asked me to look closer at ActiveMQ's implementation of "persistent" messages, how it applies to topics, and what happens in failover sce...
See Part II here Apache Apollo is the next-generation version of ActiveMQ built "from the ground up" on a core designed to be faster and scale better on mul...
Progress Software announced it was divesting FuseSource from it's product line back in April. Today I'm happy to say RedHat is where FuseSource will now make...
When you set up a run configuration to run a Scala object's main function, you have the option to run it as an Application. If you manually set up the Scala ...
In the last blog post I introduced Fuse Fabric, an overview of the problems it is intended to solve, and the components that it uses to accomplish pain-free ...
FuseSource just recently released enterprise versions of their distributions of ActiveMQ and ServiceMix. Some of the top features include incremental patchin...
Recently got back from Camel One and now it's time to get back to business. One topic of discussion I wanted to go over quickly is the Camel route builders a...
I just got back from CamelOne which was earlier this week in the beautiful city of Boston, MA. It was quite the experience; definitely one of the best techni...
In my previous post, I introduced the rules for how bundles get resolved in an OSGI container. In this post, I'd like to demonstrate each rule step using the...
This post is more for me and any ActiveMQ contributors that may be interested in how the Network Connectors work for ActiveMQ. I recently spent some time loo...
I'd like to review how OSGI bundles get resolved and use Apache Karaf to demonstrate. Karaf is a full-featured OSGI container based on the Apache Felix kerne...
REST is an architectural style used for organizing resources and when applied to HTTP-based services allows building stateless, decoupled, scalable services....
Sometimes your build will contain other artifacts for a build other than the pom, a jar, etc. For example, you may wish to attach data-source configurations ...
I'll be attending CamelOne this year, and I'm pretty excited. I didn't make it to the event last year, but judging by the speaker line up and the presentatio...
What criteria do you use when evaluating whether to use a commercial product or open-source project to support your system-integration development? Is docume...
I use a Mac for all of my development (where I can), but one thing I had to do recently was use Excel on a Mac and create a new spreadsheet from a template. ...
I recently resigned my position as senior software engineer and technical lead for a middleware services group at Wells Fargo. The job was great: work from h...
Apparently, even if you put your environment variables into your .profile, IntelliJ won't pick it up. Which makes sense since .profile is for setting your sh...
In Python, mixins allow a programmer to package a set of clearly defined and cohesive methods into a unit that can then be used to add functionality to other...
Over the weekend I read an excellent essay called “Programming Without a Call Stack - Event-driven Architectures” by Gregor Hohpe that does an excellent job ...
As discussed in my previous post, Spring Integration (SI) is a routing framework built on top of the Spring Framework that allows you to use proven enterpris...
As the Spring Integration project slowly gains more adoption and interest, developers in the enterprise integration or enterprise development space will most...
Over the weekend I was debugging a peculiar issue with ActiveMQ (turned out to indeed be a bug that had been reported a few months ago: https://issues.apach...
Although the Active MQ website already gives a pithy, to-the-point explanation of ActiveMQ, I would like to add some more context to their definition. From ...
I recently stumbled upon an essay that I've read many times in the past. I didn't have it bookmarked on this newer laptop, so after doing so I also decided ...
Enterprise architects seem to become more and more involved in “trying out new things” or pushing down technology or implementation advice -- nay dictation -...
I stumbled upon a discussion, probably an age-old discussion, about whether java passes function arguments by reference or by value. i know I've studied this...
Recently, I needed an way to report the version of the application I'm working on to the users of the application. I wanted to avoid manually updating a sett...
For a lot of people, TDD (read -- both Test Driven Development and Test Driven Design) is a software practice that one couldn't and shouldn't live without. C...
I was listening to a podcast today of Scott Hanselman interviewing Michael Feathers, the author of Working Effectively with Legacy Code. I'm currently readin...
Recently, a reader spotted a comment that I made on a different blog concerning generalizing data-access operations for inappropriate reasons. What follows w...
Response to "How to Mock Static Methods" Definition of code smell (from Wikipedia): "any symptom in the source code of a program that possibly indicates ...
Object Oriented Analysis and Design is certainly not new to the enterprise software workforce, but how is it actually carried forth in industry? Are software...
I recently read a blog on the Intel Software Network describing the reduced execution flow readability in object-oriented systems that implement a domain mod...
Our goal when writing code is to write 'high-quality' code, not just hack together what appears to work and moving on to the next set of functionality. When ...
I am planning a series of posts that walk a reader through building a simplistic application using Ext-GWT as the choice of technology for the user interfac...
I am working on the next Ext-GWT blog, but in the interim, I would like to share an awesome podcast that I found at Scott Hanselman's blog. He interviews Rob...
The Ext-GWT (GXT) library uses a "loader-store" functionality to handle manipulating UI models (or domain objects) and binding them to GXT widgets. The Ext t...
Although the gwt-maven-plugin from codehaus is going through the merge with the gwt-maven plugin from Google Code, I wanted to share with you how building th...
Apache Maven is a popular project-management tool that allows you to model your projects in XML and then streamline the development lifecycle by taking advan...
For this entry, being the first, I would like to help the Ext-GWT community (especially those newly introduced to the framework) grasp a firm understanding o...