I recently got my zero-dollar developer copy of Red Hat Enterprise Linux (RHEL, version 7.5) and built a virtual machine (VM) to run it. There it was, on my PC, running in VirtualBox…a gleaming, shiny, brand-spanking-new VM running RHEL. Whatever shall I do with it?
Then I got the idea: I’ll install the Red Hat Container Development Kit (CDK) and build some Python-based containers. I’ll use Flask, a terrific microframework that makes building RESTful services easy.
Continue reading “How to install Python Flask on Red Hat Enterprise Linux 7”
The past nine weeks of blog posts have introduced, explained, and demonstrated some of the many features of the Istio service mesh when combined it is with Red Hat OpenShift and Kubernetes. This, the final post in this series, is a recap.
[This is part ten of my ten-part Introduction to Istio Service Mesh series. My previous article was Part 9: Istio Egress: Exit Through the Gift Shop.]
Week one was an introduction to the concept of a service mesh. The concept of a Kubernetes sidecar container was explained and diagrammed, and it was the beginning of a constant theme throughout the blog posts: You don’t have to change your source code.
Continue reading “Istio Service Mesh Blog Series Recap”
Using Istio with Red Hat OpenShift and Kubernetes makes life with microservices easier. Tucked away inside of Kubernetes pods, using the Istio service mesh, your code can run (mostly) in isolation. Performance, ease-of-changes, tracing, and so on are made available by simply using the Istio sidecar container model. But what if you want your microservice to talk to another service that is outside of your OpenShift/Kubernetes/pods environment?
Enter Istio Egress.
[This is part nine of my ten-part Introduction to Istio Service Mesh series. My previous article was Part 8: Istio Smart Canary Launch: Easing into Production.]
Continue reading “Istio Egress: Exit Through the Gift Shop”
First to fall over when the atmosphere is less than perfect
Your sensibilities are shaken by the slightest defect
You live your life like a canary in a coalmine…
When Sting and The Police sang those lyrics, I doubt they had microservices, Istio, Kubernetes, and OpenShift in mind. Yet here we are, years later, using the Canary Deployment pattern to ease code into production.
[This is part eight of my ten-week Introduction to Istio Service Mesh series. My previous article was Part 7: Istio Dark Launch: Secret Services.]
Continue reading “Istio Smart Canary Launch: Easing Into Production”
“Danger is my middle name” is great for spies and people of mystery, but when it comes to deploying software, boring is better. By using Istio with OpenShift and Kubernetes to ease your microservices into production, you can make deployment really, really boring. That’s good.
[This is part seven of my ten-week Introduction to Istio Service Mesh series series about Istio, Service Mesh, Red hat OpenShift, and Kubernetes. My previous article was Part 6: Istio Chaos Engineering: I Meant to Do That.]
Boring Is Good
Not to worry, dear DevOps person; there are some exciting things in store for you. It’s just that the end result, thankfully, is boring. You want the fun of setting things in motion and then the routine of watching it just work.
Continue reading “Istio Dark Launch: Secret Services”
If you break things before they break, it’ll give you a break and they won’t break.
(Clearly, this is management-level material.)
[This is part six of my ten-week Introduction to Istio Service Mesh series. My previous article was Part 5: Istio Tracing & Monitoring: Where Are You and How Fast Are You Going?]
Continue reading “Istio Chaos Engineering: I Meant to Do That”
As the industry heads toward the Trough of Disillusionment with cloud-native microservices, finally understanding that distributed architectures introduce more complexity (weird, right?), services meshes can help soften the landing and shift some of that complexity out of our applications and place it where it belongs, in the application operational layer.
At Red Hat we are committed to (and actively involved in) the upstream Istio project and working to integrate it into Kubernetes and Red Hat OpenShift to bring the benefits of a service mesh to our customers and the wider communities involved. If you want to play with Istio, check out the Service Mesh Tutorials on learn.Openshift.com. If you want to install it, follow the Istio Kubernetes quickstart instructions and install it on Red Hat OpenShift 3.7 or later (or 3.9 if you want to use auto-injection).
Continue reading “Bringing Coolstore Microservices to the Service Mesh: Part 1 – Exploring Auto-injection”
The Heisenberg Uncertainty Principle states that you cannot measure an object’s position and velocity at the same time. If it’s moving, it’s not in a location. If it’s in a location, then it has no velocity.
Thanks to some awesome open-source software, our microservices running in Red Hat OpenShift (using Kubernetes) can report both their performance and their health. Granted, they can’t violate the Uncertainty Principle, but they can help bring certainty to your cloud-native applications. Istio brings tracing and monitoring to your system with very little effort, helping you keep things humming.
[This is part five of my ten-week Introduction to Istio Service Mesh series. My previous article was Part 4: Istio Circuit Breaker: When Failure Is an Option.]
Continue reading “Istio Tracing & Monitoring: Where Are You and How Fast Are You Going?”
This post is the third in a series on the Introduction to Eclipse Vert.x. So, let’s have a quick look back at the content of the previous posts. In the first post, we developed a very simple Eclipse Vert.x application and saw how this application can be tested, packaged, and executed. In the second post, we saw how this application became configurable and how we can use a random port in a test.
Well, nothing fancy… Let’s go a bit further this time and develop a CRUD-ish / REST-ish application. So an application exposing an HTML page interacting with the backend using a REST API. The level of RESTfulness of the API is not the topic of this post; I leave it you to decide as it’s a very slippery topic.
So, in other words, we are going to see:
- Vert.x Web – a framework to let you create web applications easily using Vert.x.
- How to expose static resources.
- How to develop a REST API.
Continue reading “Some REST with Vert.x (Part 3 of Introduction to Vert.x)”
The phrase “Failure is not an option” is tossed about with much bravado, as though one could make something work by just their strength of will. But the fact remains, things eventually fail. Everything. How then, do you handle the inevitable failure of your microservices? Well, by combining containers, Kubernetes, Red Hat OpenShift, and Istio, we can skip over-the-top displays of swagger, let the system handle things, and get some sleep at night.
[This is part four of my ten-week Introduction to Istio Service Mesh series. My previous article was Part 3: Istio Circuit Breaker: How to Handle (Pool) Ejection.]
Continue reading “Istio Circuit Breaker: When Failure Is an Option”