Skip to main content

My 2cents on the future of Integration - With Service Mesh/Istio and Serverless/KNative

It's been a year and half since I blogged about "Agile Integration architecture" (Gosh, time just flies). With the "microservices" and "cloud-native" hype, I was especially curious on how all these new concept and technology affect us on how to architect the integration systems. If you ever pay close attention to all the latest and greatest news from the Kubernetes community, I am sure you will hear a lot about the new "Service Mesh". And rumor has it that this is how integration can/should be done in cloud native world, but, is that so? Anyone who has ever worked on an integration project would tell you, it's a LOT more COMPLEX and can get worst overtime. I did a talk with Christian Posta in Red Hat Tech Exchange coming from a more comprehensive view of how different Red Hat technologies are applied under different patterns when building integration solutions. In fact he also did a great blog about it.

Since then, another topics has been brought up numerous time, what about Serverless, how would it impact integration? Does it mean the death of services?  If we have all Microservices connected via Serviceless mechanism in service mesh, does that mean we go back to the old days of writing all the integration transformation logics in our application again? Obviously, this is complicated question to answer, and the new features keeps popping up, I am going to try to give my best to try and explain how I see everything fits into Agile Integration vision. Honestly, there is no exact right answer when it's about architecting system, it requires constant refactoring, my thought is to give a more general and flexible way of doing it that has less impact when change and being able to adapt change quickly. (That is what I call Agile Integration).

Service Mesh 

I remember last time, I started the agile integration reference architecture simply because the lack of organization of Microservices, and it still stand today. JUST because we have service mesh, doesn't mean it will magically solve the spaghetti connectivity if you are not being careful. To set the ground, what service mesh helps is to relief developer from dealing with repetitive, boring work in a distributed environment. Yes. Being cloud native with Microservices, means the system is more vulnerable to chain reaction disaster if not designed correctly, as you are working with small bots and gears in the system, that you never know how any small missed-handle can impact the entire system. Therefore we need to make each component more robust, failure proof and ideally damage recoverable. And Service Mesh helps you with getting the BASICs ready by adding a sidecar next to your running application. For every Microservices you create, no matter what they do, core business or content orchestration, they all need some kind of failure proof. Service Mesh gives you all that, from an application networking level. So that as a developer you will no longer have to wrap every single one of your Microservices with the circuit breaker, error retry and even handling version, deployment routing, and apply authorization,  those that has NOTHING to do with what the actually app is responsible for. These are often common rules that applies to the whole cluster. And service mesh is best for that, as these common policies are detached from actual application, can be managed centrally and apply individual on the sidecar so the microservice running your app is protected behind it.

Another great feature with service mesh, is to ability to trace and observe the incoming request for the entire system. This will certainly help developer/operation have more insight into the complex spider web-like connectivity.

Dealing with REAL Life Integration
But when it comes to actually application implementation, some folks thinks we can now rely on Service Mesh to configure and connect. MAYBE, if you are developing only a couple of small microservices, you can probably get away from that. BUT that is not what's happening in real life. For instance, formatting the data to the right granularity (Splitting/Aggregation), routing base on processing outcome of some content, a more complex orchestration of services call that requires precise rollback and business handling (Saga) , collection of events triggering, we can't possibly write all these into the Service Mesh config yml file (I am just being practical :p). So, I am sure now we have mutual agreement that integration logic still needs be written somewhere, DON'T tried to do it in your microservice with the business logic. That is why we need the conceptual layer in agile integration. They are the composite and core layer. Remember,  I mean CONCEPTUAL not physically on top of another, but separating the responsibility of the microservices so it's easier to locate, maintain and organize your applications. Taken from the lesson learnt from SOA. You will still need some kind of integration patterns to compose service that has the right granularity for the receiving end.

Monitoring and tracing is crucial in ANY integration system, and let's face it, there are NOT JUST http calls. Majority of times, they are events, and honestly an event driven reactive system is 100 times more flexible and modularize than sticking a bunch of API together. To be able to collect these data are needed beyond simple request tracing.

I had to talk about this, the whole serverless development, deployment and runtime concept can take agile integration in another level not just conceptually but physically too. The idea of quickly spin up integration piece of logic, the ability to scale freely up and down. That is what I call true agility. I was thrilled to see Nicola demonstrate Camel-K on KNative.  Camel just opens up a wide range of connect possibility for the serverless call. To me the core spirits of server less is (For now)

  • Being able to quickly produce/start application without complex configuration and heavy runtime. 
  • Elastic resource allocation responding to loads. 

And what integration helps to bring to the table is the ability to allow the system to responds more events from boarder range of endpoints, for instance, IoT, SOAP and messaging and other protocol that are not simple http calls.

This is just a HIGH level overview of how I see Integration are shaped in the future of a serverless cloud native world. Of course I have not touch upon many topics like APIs, Event driven architecture, self service ability. They deserve separate blogs. Might do another later this week. Again, these are just my 2cents coming out from a more practical real life point of view.


Derek said…
I find this post to be very insightful and I hope you do get around to posting a follow-up.
smith machinist said…
Look no further, , , and its products are easy to install and activate if you follow the guidelines given on this page very carefully.
marcellus said…
Thanks for sharing this post.It is very informative and helpful.
Paul troy said…
I am really very happy to visit your blog. Now I am found which I actually want. I check your blog every day and try to learn something from your blog. Thank you and waiting for your new post. |

Just seen your Article, it amazed me and surpised me with god thoughts that eveyone will benefit from it. It is really a very informative post for all those budding entreprenuers planning to take advantage of post for business expansions. You always share such a wonderful articlewhich helps us to gain knowledge .Thanks for sharing such a wonderful article, It will be deinitely helpful and fruitful article.
Welcome to RealPrinterFix247 right place to online help for HP Printer Tech Support Phone Number offered by best technicians to resolve any issues with HP computers, laptops, printers, desktop, and alternative parable devices, etc. We are remote HP Printer Tech support services for HP users facing a totally different level of technical problems with their Hewlett Packard Enterprise devices like Desktop Computers, Laptops, Printers, Scanners and Tablets business customer support.

Canon Printer Tech Support Phone Number | QuickBooks Tech Support Phone Number | Norton Tech Support Phone Number
meldaresearch said…
Our company offers top essay services at an affordable price. The cost of the custom nursing essay is determined by the number of pages top essay writing services department will complete for the client.
Puremelda said…
If you are tired of paying countless dollars for custom research paper writing, then we are here for you. We offer college research papers that give you ridiculously low prices, surprising discounts, and astonishing gift rewards.
Do you need a loan to pay off your bills? Or for your Business if yes
Email us then fill this information to
register your name in our data base.

(1)Your Name:
(2)Amount needed as loan:
(3)Phone number:
(5) Male/Femele:

We don’t only focus on solving your custom writing company but also getting you a good grade.All you need to do is to request for our cheap term papers for sale and let us do the rest!
eyosingh said…
If you need assistance for Canon printer setup for mac or looking online help for configuring the printer on mac, we are providing round the clock tech support service. Call our toll-free number +1-844-266-0040 and stay away from connecting or understanding a network of wires. We set up or configure your printer in the correct way to provide a completely functional printing peripheral device on your desk. We advise you to not waste your precious time and we will give personalized support at nominal charges
canon printer setup
meldaresearch said…
All our Custom Nursing Essay Writing Services are normally written by an expert; therefore, there will never be a time when a student will get poor quality work. We provide students with Nursing Assignment Writing Services that have been written by experienced writers. Students can count on us to get fast and effective help from writers who hold master’s and Ph.D degrees.
eyosingh said…
HP Printers Support team always here to provide Support to the HP Printer user, You can Contact us to know How to Fix Brother Printer Error Code 4F by dialing Brother Technical Support Number 18777606133. we provide an instant solution by HP Printer Customer Care team
hp printer in error state
Edward said…
Thank you so much for this nice information. Hope so many people will get aware of this and useful as well. And please keep update like this.

Big Data Services

Data Lake Services

Advanced Analytics Services

Full Stack Development Services
Michael said…
Very interesting stuff, thanks for posting.

One particular point I'd like to gain more insights on is how you would map the two conceptual layers "basic" and "composition" to actual implementation.

Talking in terms of camel/fuse, are those distinct routes in one fuse-project/camel-context, or are those separate deployments? Could you elaborate a bit more on that?

Great article ...Thanks for your great information, the contents are quiet interesting. I will be waiting for your next post.
Microservices Online Training
Microservices Training in Hyderabad
Are You In Need Of A Private Or Business Loans At 2% Rate For Various Purposes? If Yes; Contact us: - To profit started when Microsoft office Setup enter your product key at visit and we can plus verify you bearing in mind online. - Easy guide to install office setup at Online. Get Started with MS Office Setup at
Nikisha said…
The comprehensive migration solutions and the automated mapping of data between the target system and the source provided by your company help in successive data migration. It makes your company be one of the data migration service companies
When it comes to the Amadeus GDS Integration you will get access to the inventory of all the full-service carriers. It is a one-step solution that offers a fully customized travel booking system. Teamindia Webdesign provides Amadeus GDS API Integration to develop B2B and B2C online travel booking engine for global customers at an affordable price.

MikeVessels said…
Amadeus GDS is one of the leading providers of travel APIs, travel software and technology solution for flight and travel industry. Get connected to Amadeus flights and Hotel booking via Travelportalonline. Our expert developer provides you the end to end solution for Amadeus GDS API integration at a reliable price.

telkahost said…
اما ممکن است این سوال به ذهنتان بیاید که یک خرید هاست خرید هاست اشتراکی ارزان ارزان چه هاستی است و چه ویژگی هایی باید دارا باشد در ادامه مقاله قصد داریم ویژگی های هاست ارزان را خرید هاست لینوکس ماهانه معرفی کنیم و در آخر به معرفی بهترین هاست ایران از میان هاستینگ های برتر کشور بپردازیم .اگر قصد راه اندازی یک سایت باکیفیت و پر بازدید را دارید حتما باید نکته هایی را رعایت نمایید قسمت سخت افزار از انتخاب ها تشکیل می شود و مناسب برای سایت هست که به سرور استفاده شده با هاست ارزان برای وردپرس سی پی یو ، رم و استفاده از دیگر سخت افزارها هاست ارزان خارجی با ویژگی های عنوان شده مربوط می شود .نرم افراز به دو بخش جدا تقسیم می شود که بخشی از آن به هاست و سرور مربوط هست و بخش دیگر به سیستم مدیریت محتوا سایت شما بستگی دارد .و در نهایت بخش محتوا هاست پرسرعت ارزان ارتباط با کار سئو و بهینه سازی سایت برای موتورهای جستجو و هم چنین بازاریابی از طریق محتوا است .در حقیقت هاست یک بستر الکترونیکی هست که محتویات و مطالب سایت شما داخل آن ذخیره خواهد شد .و این محتویات هاست ارزان قیمت همان فایل و دیتابیس شما است که از طریق اتصال اینترنتی کاربران به سرور در دسترس خواهد بود .لازم است که هاست و دامنه به یک دیگر متصل باشند که این فرآیند از طریق Name server صورت می گیرد .بدین ترتیب اولین کاری که بعد از خرید هاست از شرکت های معتبر هاستینگ باید انجام دهید این هست که نیم سرور های هاست را بر روی دامنه خودتان ست کنید تا نهایتا بعد از گذشت ۷۲ ساعت هاست و دامنه به هم دیگر متصل شوند

Popular posts from this blog

JBoss EAP 6 - 效能調校 (一) DataSource 的 Connection Pool

效能沒有什麼Best Practice, 反正能調整的就那些。 通常,一個程式的效能大概有70-80% 都跟程式怎麼寫的其實比較有關係。

最近我最疼愛的小貓Puji 因為膀胱結石開刀的時候過世了,心情很差請原諒我的口氣沒有很好,也沒有心情寫部落格。

Puji R.I.P.



JBoss 的 SubsystemDatasource WebWeb Service EJB Hibernate JMSJCAJVM 調校OS (作業系統)

先來看一下 DataSource Subsystem, DataSource 的部分主要是針對Connection Pool 做調校。

通常,程式都會需要跟資料庫界接,電腦在本機,尤其是在記憶體的運算很快,但是一旦要外部的資源連接,就是會非常的耗資源。所以現在的應用程式伺服器都會有個Pool 放一些先連接好的 資料庫connection,當程式有需要的時候就可以馬上提供,而不用花那些多餘的資源去連接資料庫。

這就是為什麼要針對Connection Pool 去做調校。

以下會討論到的參數,都是跟效能比較有關係,Datasource 還有很多參數,像是檢核connection 是否正確的,我都不會提到。如果你追求的是非常快速的效能,那我建議你一個檢核都不要加。當然,這樣就會為伺服器上面執行的程式帶來風險。這就是你要在效能與正確,安全性上面的取捨了。 (套句我朋友說的話,不可能又要馬兒好,又要馬兒不吃草的..)

最重要的調校參數就是 Connection 的 Pool 數量。(也就是那個Pool 裡面要放幾條的connection.) 這個參數是每一個應用程式都不一樣的。


Connection Pool 最少會存留的connection 數量


Connection Pool 最多可以開啓的 connection 數量


事先將connection pool 裡面建立好min-pool-size 的connection.

我的建議是觀察一下平常程式要用到的量設定為 min-pool-size 。

Red Hat JBoss Fuse/A-MQ - Fuse and A-MQ Version 6.3 GA is released!

Fuse and A-MQ 6.3 GA has just went out. Maybe, you would think this is just only a minor version release why should I care? Hold your thoughts on that! Because they have done a lot of improvements and also added many new features into this release.

Besides various bug fixes and making sure Fuse Fabric is much more stable. There are two major change in this version update:

New Tooling in JBoss Developer Studio (JBDS) 9.1 GA. Newer Apache Camel version – Camel v2.17. I was really impressed by the work put in to make developing Camel application much simpler. First is the installation of tooling itself. Now it has a all-in-one installer so you don't need to worry about which plugins you need to check. See the videos below to see the new "Getting Started" of Fuse 6.3.

And If you notice from the above video, the presentation of camel route in JBDS has also updated. It fixed some of the miss representation of logic and making it easier to read.

Old Camel Route
New Camel Route
On …