<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Comments on: An Incremental Path to Microservices – RHD Blog</title>
	<atom:link href="http://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/</link>
	<description>All about electronics and circuit design</description>
	<lastBuildDate>Sun, 26 Apr 2026 19:44:01 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.14</generator>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1679527</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Wed, 20 May 2020 12:56:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1679527</guid>
		<description><![CDATA[Your work is still gonna suck even if you did it using microservices as it did with monolithic.]]></description>
		<content:encoded><![CDATA[<p>Your work is still gonna suck even if you did it using microservices as it did with monolithic.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1669139</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Fri, 31 Jan 2020 21:10:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1669139</guid>
		<description><![CDATA[A fully buzzword compliant solution:

put terrible microservices in containers. Manage containers with Kubernetes. Put evrything on AWS cloud. This time it WILL work, I promise!

Reality:
There are an infinity of ways to create poor implementations and only a few ways to write good ones and even fewer ways to make something with efficiency, longevity, and that is easily maintainable. As with many things one can choose any two of good, fast, and cheap but never all three.

If you can’t even do a monolith right, you shouldn’t even be thinking of microservices yet.

Well the whole idea of microservices is to have less to conquer. The cost is obviously communication, which is always a slowdown in any system of entities. If you don’t intend to distribute the work among diverse and distant teams, it is my opinion that microservices are an overhead and pain you don’t need.

Source: https://www.facebook.com/126000117413375/posts/3214565311890158]]></description>
		<content:encoded><![CDATA[<p>A fully buzzword compliant solution:</p>
<p>put terrible microservices in containers. Manage containers with Kubernetes. Put evrything on AWS cloud. This time it WILL work, I promise!</p>
<p>Reality:<br />
There are an infinity of ways to create poor implementations and only a few ways to write good ones and even fewer ways to make something with efficiency, longevity, and that is easily maintainable. As with many things one can choose any two of good, fast, and cheap but never all three.</p>
<p>If you can’t even do a monolith right, you shouldn’t even be thinking of microservices yet.</p>
<p>Well the whole idea of microservices is to have less to conquer. The cost is obviously communication, which is always a slowdown in any system of entities. If you don’t intend to distribute the work among diverse and distant teams, it is my opinion that microservices are an overhead and pain you don’t need.</p>
<p>Source: <a href="https://www.facebook.com/126000117413375/posts/3214565311890158" rel="nofollow">https://www.facebook.com/126000117413375/posts/3214565311890158</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1634043</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Fri, 12 Apr 2019 16:27:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1634043</guid>
		<description><![CDATA[Migrating to Microservice Databases: From Relational Monolith to Distributed Data
https://developers.redhat.com/books/migrating-microservice-databases-relational-monolith-distributed-data?sc_cid=7016000000127ECAAY

Code is easy, State is hard. Learning how to deal with your monolithic relational databases in a microservices structure is key to keeping pace in a quickly changing workplace.]]></description>
		<content:encoded><![CDATA[<p>Migrating to Microservice Databases: From Relational Monolith to Distributed Data<br />
<a href="https://developers.redhat.com/books/migrating-microservice-databases-relational-monolith-distributed-data?sc_cid=7016000000127ECAAY" rel="nofollow">https://developers.redhat.com/books/migrating-microservice-databases-relational-monolith-distributed-data?sc_cid=7016000000127ECAAY</a></p>
<p>Code is easy, State is hard. Learning how to deal with your monolithic relational databases in a microservices structure is key to keeping pace in a quickly changing workplace.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1616295</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Sun, 09 Dec 2018 13:52:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1616295</guid>
		<description><![CDATA[About When Not to Do Microservices
https://developers.redhat.com/blog/2017/10/19/about-when-not-to-do-microservices/?sc_cid=7016000000127ECAAY

“Microservices architecture is not appropriate all the time”.]]></description>
		<content:encoded><![CDATA[<p>About When Not to Do Microservices<br />
<a href="https://developers.redhat.com/blog/2017/10/19/about-when-not-to-do-microservices/?sc_cid=7016000000127ECAAY" rel="nofollow">https://developers.redhat.com/blog/2017/10/19/about-when-not-to-do-microservices/?sc_cid=7016000000127ECAAY</a></p>
<p>“Microservices architecture is not appropriate all the time”.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1612191</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Fri, 09 Nov 2018 16:38:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1612191</guid>
		<description><![CDATA[About When Not to Do Microservices
https://developers.redhat.com/blog/2017/10/19/about-when-not-to-do-microservices/?sc_cid=7016000000127ECAAY]]></description>
		<content:encoded><![CDATA[<p>About When Not to Do Microservices<br />
<a href="https://developers.redhat.com/blog/2017/10/19/about-when-not-to-do-microservices/?sc_cid=7016000000127ECAAY" rel="nofollow">https://developers.redhat.com/blog/2017/10/19/about-when-not-to-do-microservices/?sc_cid=7016000000127ECAAY</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1611568</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Tue, 06 Nov 2018 06:40:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1611568</guid>
		<description><![CDATA[The old strategy of building small, focused applications is new again in the modern microservices environment.

Revisiting the Unix philosophy in 2018
https://opensource.com/article/18/11/revisiting-unix-philosophy-2018?sc_cid=7016000000127ECAAY

The old strategy of building small, focused applications is new again in the modern microservices environment.

In a nutshell that philosophy is: Build small, focused programs—in whatever language—that do only one thing but do this thing well, communicate via stdin/stdout, and are connected through pipes.

Sound familiar?

Yeah, I thought so. That&#039;s pretty much the definition of microservices offered by James Lewis and Martin Fowler]]></description>
		<content:encoded><![CDATA[<p>The old strategy of building small, focused applications is new again in the modern microservices environment.</p>
<p>Revisiting the Unix philosophy in 2018<br />
<a href="https://opensource.com/article/18/11/revisiting-unix-philosophy-2018?sc_cid=7016000000127ECAAY" rel="nofollow">https://opensource.com/article/18/11/revisiting-unix-philosophy-2018?sc_cid=7016000000127ECAAY</a></p>
<p>The old strategy of building small, focused applications is new again in the modern microservices environment.</p>
<p>In a nutshell that philosophy is: Build small, focused programs—in whatever language—that do only one thing but do this thing well, communicate via stdin/stdout, and are connected through pipes.</p>
<p>Sound familiar?</p>
<p>Yeah, I thought so. That&#8217;s pretty much the definition of microservices offered by James Lewis and Martin Fowler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1610130</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Sat, 27 Oct 2018 15:19:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1610130</guid>
		<description><![CDATA[MIKROPALVELUARKKITEHTUURISTA
https://www.cinia.fi/toihin-cinialle/mikropalveluarkkitehtuurista.html

Mikropalveluarkkitehtuurista on tulossa yhä enemmän standardivaihtoehto tulevaisuuden ohjelmistojen toteutustapoja miettiessä.]]></description>
		<content:encoded><![CDATA[<p>MIKROPALVELUARKKITEHTUURISTA<br />
<a href="https://www.cinia.fi/toihin-cinialle/mikropalveluarkkitehtuurista.html" rel="nofollow">https://www.cinia.fi/toihin-cinialle/mikropalveluarkkitehtuurista.html</a></p>
<p>Mikropalveluarkkitehtuurista on tulossa yhä enemmän standardivaihtoehto tulevaisuuden ohjelmistojen toteutustapoja miettiessä.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1605472</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Fri, 21 Sep 2018 16:02:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1605472</guid>
		<description><![CDATA[Distributed tracing in a microservices world
https://opensource.com/article/18/9/distributed-tracing-microservices-world?sc_cid=7016000000127ECAAY

What is distributed tracing and why is it so important in a microservices environment?

Microservices have become the default choice for greenfield applications. After all, according to practitioners, microservices provide the type of decoupling required for a full digital transformation, allowing individual teams to innovate at a far greater speed than ever before.

Microservices are nothing more than regular distributed systems, only at a larger scale. Therefore, they exacerbate the well-known problems that any distributed system faces, like lack of visibility into a business transaction across process boundaries.

it&#039;s extremely common to have multiple versions of a single service running in production at the same time

we have is chaos. It&#039;s almost impossible to map the interdependencies and understand the path of a business transaction across services and their versions.

This chaos ends up being a good thing, as long as we can observe what&#039;s going on and diagnose the problems that will eventually occur.

A system is said to be observable when we can understand its state based on the metrics, logs, and traces it emits. 

Metrics solutions like Prometheus are very popular in tackling this aspect of the observability problem. Similarly, we need logs to be stored in a central location

Logstash is usually applied here, in combination with a backing storage like Elasticsearch. 

In monolithic web applications, logging frameworks provide enough capabilities to do a basic root-cause analysis when something fails. A developer just needs to place log statements in the code. 

In microservices architectures, logging alone fails to deliver the complete picture. 

A common strategy to answer this question is creating an identifier at the very first building block of our transaction and propagating this identifier across all the calls, probably by sending it as an HTTP header whenever a remote call is made.

In a central log collector, we could then see entries

This technique is one of the concepts at the core of any modern distributed tracing solution

trace displayed in Jaeger, an open source distributed tracing solution hosted by the Cloud Native Computing Foundation (CNCF)

Like with logging, we need to annotate or instrument our code with the data we want to record. 

we can use an API such as OpenTracing, leaving the decision about the concrete implementation as a packaging or runtime concern

we could turn on the distributed tracing integration for Istio, a service mesh solution

it&#039;s easy to feel helpless while conducting a root cause analysis when something eventually fails and the right tools aren&#039;t available. The good news is tools like Prometheus, Logstash, OpenTracing, and Jaeger provide the pieces to bring observability to your application.]]></description>
		<content:encoded><![CDATA[<p>Distributed tracing in a microservices world<br />
<a href="https://opensource.com/article/18/9/distributed-tracing-microservices-world?sc_cid=7016000000127ECAAY" rel="nofollow">https://opensource.com/article/18/9/distributed-tracing-microservices-world?sc_cid=7016000000127ECAAY</a></p>
<p>What is distributed tracing and why is it so important in a microservices environment?</p>
<p>Microservices have become the default choice for greenfield applications. After all, according to practitioners, microservices provide the type of decoupling required for a full digital transformation, allowing individual teams to innovate at a far greater speed than ever before.</p>
<p>Microservices are nothing more than regular distributed systems, only at a larger scale. Therefore, they exacerbate the well-known problems that any distributed system faces, like lack of visibility into a business transaction across process boundaries.</p>
<p>it&#8217;s extremely common to have multiple versions of a single service running in production at the same time</p>
<p>we have is chaos. It&#8217;s almost impossible to map the interdependencies and understand the path of a business transaction across services and their versions.</p>
<p>This chaos ends up being a good thing, as long as we can observe what&#8217;s going on and diagnose the problems that will eventually occur.</p>
<p>A system is said to be observable when we can understand its state based on the metrics, logs, and traces it emits. </p>
<p>Metrics solutions like Prometheus are very popular in tackling this aspect of the observability problem. Similarly, we need logs to be stored in a central location</p>
<p>Logstash is usually applied here, in combination with a backing storage like Elasticsearch. </p>
<p>In monolithic web applications, logging frameworks provide enough capabilities to do a basic root-cause analysis when something fails. A developer just needs to place log statements in the code. </p>
<p>In microservices architectures, logging alone fails to deliver the complete picture. </p>
<p>A common strategy to answer this question is creating an identifier at the very first building block of our transaction and propagating this identifier across all the calls, probably by sending it as an HTTP header whenever a remote call is made.</p>
<p>In a central log collector, we could then see entries</p>
<p>This technique is one of the concepts at the core of any modern distributed tracing solution</p>
<p>trace displayed in Jaeger, an open source distributed tracing solution hosted by the Cloud Native Computing Foundation (CNCF)</p>
<p>Like with logging, we need to annotate or instrument our code with the data we want to record. </p>
<p>we can use an API such as OpenTracing, leaving the decision about the concrete implementation as a packaging or runtime concern</p>
<p>we could turn on the distributed tracing integration for Istio, a service mesh solution</p>
<p>it&#8217;s easy to feel helpless while conducting a root cause analysis when something eventually fails and the right tools aren&#8217;t available. The good news is tools like Prometheus, Logstash, OpenTracing, and Jaeger provide the pieces to bring observability to your application.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1599096</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Mon, 06 Aug 2018 07:10:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1599096</guid>
		<description><![CDATA[What is Istio? The latest open source project out of Google
https://www.computerworlduk.com/open-source/what-is-istio-latest-open-source-project-out-of-google-3681599/

The tech giant is extending the Kubernetes container service with Istio, its latest open source software release

In short, Istio is an &quot;open platform to connect, manage, and secure microservices&quot;.

Otherwise known as a &#039;service mesh&#039;, the aim is to unify traffic flow management, access policy enforcement and telemetry data aggregation across microservices into a shared management console, regardless of environment.

Originally launched in May 2017, version 1.0 becomes generally available on 1 August 2018 and was announced on stage during Google Next]]></description>
		<content:encoded><![CDATA[<p>What is Istio? The latest open source project out of Google<br />
<a href="https://www.computerworlduk.com/open-source/what-is-istio-latest-open-source-project-out-of-google-3681599/" rel="nofollow">https://www.computerworlduk.com/open-source/what-is-istio-latest-open-source-project-out-of-google-3681599/</a></p>
<p>The tech giant is extending the Kubernetes container service with Istio, its latest open source software release</p>
<p>In short, Istio is an &#8220;open platform to connect, manage, and secure microservices&#8221;.</p>
<p>Otherwise known as a &#8216;service mesh&#8217;, the aim is to unify traffic flow management, access policy enforcement and telemetry data aggregation across microservices into a shared management console, regardless of environment.</p>
<p>Originally launched in May 2017, version 1.0 becomes generally available on 1 August 2018 and was announced on stage during Google Next</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Engdahl</title>
		<link>https://www.epanorama.net/blog/2017/03/06/an-incremental-path-to-microservices-rhd-blog/comment-page-1/#comment-1599095</link>
		<dc:creator><![CDATA[Tomi Engdahl]]></dc:creator>
		<pubDate>Mon, 06 Aug 2018 07:07:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.epanorama.net/newepa/?p=53217#comment-1599095</guid>
		<description><![CDATA[Connecting and managing microservices with Istio 1.0 on Kubernetes
https://www.redhat.com/en/blog/connecting-and-managing-microservices-istio-10-kubernetes?sc_cid=7016000000127ECAAY

Coming into this year, CoreOS’s Alex Polvi predicted that Istio, an open source tool to connect and manage microservices, would soon become a category leading service mesh (essentially a configurable infrastructure layer for microservices) for Kubernetes. Today we celebrate a milestone that brings us closer to that prediction: celebrating the general availability of Istio 1.0.

Istio provides a method of integrating services like load balancing, mutual service-to-service authentication, transport layer encryption, and application telemetry requiring minimal (and in many cases no) changes to the code of individual services. This is in juxtaposition to other solutions like the various Java libraries from Netflix OSS.]]></description>
		<content:encoded><![CDATA[<p>Connecting and managing microservices with Istio 1.0 on Kubernetes<br />
<a href="https://www.redhat.com/en/blog/connecting-and-managing-microservices-istio-10-kubernetes?sc_cid=7016000000127ECAAY" rel="nofollow">https://www.redhat.com/en/blog/connecting-and-managing-microservices-istio-10-kubernetes?sc_cid=7016000000127ECAAY</a></p>
<p>Coming into this year, CoreOS’s Alex Polvi predicted that Istio, an open source tool to connect and manage microservices, would soon become a category leading service mesh (essentially a configurable infrastructure layer for microservices) for Kubernetes. Today we celebrate a milestone that brings us closer to that prediction: celebrating the general availability of Istio 1.0.</p>
<p>Istio provides a method of integrating services like load balancing, mutual service-to-service authentication, transport layer encryption, and application telemetry requiring minimal (and in many cases no) changes to the code of individual services. This is in juxtaposition to other solutions like the various Java libraries from Netflix OSS.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
