Bilgin Ibryam

OK
About Bilgin Ibryam
Bilgin Ibryam (@bibryam) is a principal architect at Red Hat, a member of Apache Software Foundation, and committer to multiple open source projects. He is a regular blogger, open source evangelist, blockchain enthusiast, speaker, and the author of Camel Design Patterns and co-author of Kubernetes Patterns books. He has over a decade of experience building and designing highly scalable, resilient, distributed systems. In his day-to-day job, Bilgin enjoys mentoring, coding, and leading enterprise companies to be successful with building open source solutions. His current work focuses on application integration, enterprise blockchains, distributed system design, microservices, and cloud-native applications in general.
Customers Also Bought Items By
Are you an author?
Author Updates
-
-
Blog postAs a consulting architect at Red Hat, I've had the privilege of working on legions of customer projects. Every customer brings their own challenges but I've found some commonalities. One thing most customers want to know is how to coordinate writes to more than one system of record. Answering this question typically involves a long explanation of dual writes, distributed transactions, modern alternatives, and the possible failure scenarios and drawbacks of each approach. Typically, this is th3 weeks ago Read more
-
Blog postThere is a fantastic talk by Martin Kleppmann called “Turning the database inside-out”. Once watched, it can change your perspective on databases and event logs irreversibly. While I agree with the outlined limitations of databases and the benefits of event logs, I’m not convinced of the practicality of replacing databases with event logs. I believe the same design principles used for turning databases inside-out, should instead be applied at a higher, service design level to ensure microserv2 months ago Read more
-
Blog postApache Kafka is designed for performance and large volumes of data. Kafka's append-only log format, sequential I/O access, and zero copying all support high throughput with low latency. Its partition-based data distribution lets it scale horizontally to hundreds of thousands of partitions.
Because of these capabilities, it can be tempting to use a single monolithic Kafka cluster for all of your eventing needs. Using one cluster reduces your operational overhead and development complex2 months ago Read more -
Blog post“We build our computers the way we build our cities—over time, without a plan, on top of ruins.”
Ellen Ullman wrote this in 1998, but it applies just as much today to the way we build modern applications; that is, over time, with short-term plans, on top of legacy software. In this article, I will introduce a few patterns and tools that I believe work well for thoughtfully modernizing legacy applications and building modern event-driven systems.
Note: If you prefer watch my ta2 months ago Read more -
Blog postThese days, there is a lot of excitement around 12-factor apps, microservices, and service mesh, but not so much around cloud-native data. The number of conference talks, blog posts, best practices, and purpose-built tools around cloud-native data access is relatively low. One of the main reasons for this is because most data access technologies are architectured and created in a stack that favors static environments rather than the dynamic nature of cloud environments and Kubernetes.
12 months ago Read more -
Blog postOpen source is the current norm for developer collaboration and customer adoption in software. It is the foundation that enabled unicorns and cloud providers to build their services from the ground up. But that wasn’t always the case with open source, and it is changing and evolving again.
Open Source Eras and relative adoption trend lines
In this post, I will look at open source evolution broadly, try to analyze what are some of the triggers and enablers for the chang1 year ago Read more -
Blog postOpen source is a distributed innovation model that lacks distributed funding. It allows individuals with a common passion to collaborate and produce value but not capture it. It is a production factory, without a sales counter. That is why many open source contributors are not getting a fair return. That is why many companies capture value from open source but without paying back. That is why many independent open source builders use alternative means to fund themselves. That is why open source2 years ago Read more
-
Blog postThere is a rise in offerings of free educational content, free software, free cloud resources with the single goal of capturing the new kingmaker's attention. In a similar spirit, here I want to quickly share my favorite Kubernetes related books offered free of charge. I've read and found them all very useful at different stages of my learning. The list contains books that are sponsored and offered free of charge but in most cases that is for exchange of your contact details. If you prefer no2 years ago Read more
-
Blog postLack of freeWhen I was at university, I had to pick between Java and .Net to direct my career. At the time, there were tons of Java books, docs, and even IDEs for free. But only very few .Net books and tools for Microsoft's environments and all of them were expensive for me. Living in a 3rd world country, I made my decision based on available free learning resources.
Lack of attention
Today, we live in a different world. There is an endless amount of resources for learning, from blo2 years ago Read more -
Blog postThe term asynchronous means “not occurring at the same time” and in the context of distributed systems and messaging it implies that the processing of a request occurs at an arbitrary point in time. There are many advantages of asynchronous interactions over synchronous ones but also new challenges introduced by it. In this post, we will focus on a few specific considerations for choosing a suitable asynchronous messaging infrastructure for implementing event-driven systems. Let’s see a few of t2 years ago Read more
-
Blog postThis is a guest post by freelance editor and copywriter Laila Mahran.
When using Application Performance Monitoring, you’re able to monitor key app performance metrics about the performance of a web application in production. APM is often thought of as a ‘second wave’ of performance monitoring techniques, which was preceded by traditional host-based monitoring. Let’s dive in more. Host-based monitoring focuses on indicators such as:StorageMemoryCPUNetwork utilizationApplication mon2 years ago Read more -
Blog postToday’s developers are expected to develop resilient and scalable distributed systems. Systems that are easy to patch in the face of security concerns and easy to do low-risk incremental upgrades. Systems that benefit from software reuse and innovation of the open source model. Achieving all of this for different languages, using a variety of application frameworks with embedded libraries is not possible.
Recently I’ve blogged about “Multi-Runtime Microservices Architecture” where I ha2 years ago Read more -
Blog postAs an architect in the Red Hat Consulting team, I’ve helped countless customers with their integration challenges over the last six years. Recently, I had a few consulting gigs around Red Hat AMQ 7 Broker (the enterprise version of Apache ActiveMQ Artemis), where the requirements and outcomes were similar. That similarity made me think that the whole requirement identification process and can be more structured and repeatable. This guide is intended for sharing what I learned from these few2 years ago Read more
-
Blog postCreating good distributed applications is not an easy task: such systems often follow the 12-factor app and microservices principles. They have to be stateless, scalable, configurable, independently released, containerized, automatable, and sometimes event-driven and serverless. Once created, they should be easy to upgrade and affordable to maintain in the long term. Finding a good balance among these competing requirements with today’s technology is still a difficult endeavor.
2 years ago Read more -
Blog postHere are the must-know top 10 design patterns for beginners synthesized from the Kubernetes Patterns book. Getting familiar with these patterns will help you understand foundational Kubernetes concepts, which in turn will help you in discussions and when designing Kubernetes-based applications. There are many important concepts in Kubernetes, but these are the most important ones to start with:
Top 10 most common Kubernetes Patterns
To help you understand, the patterns are organ2 years ago Read more -
Blog postThis post was originally published here. Check out my new Kubernetes Patterns book and follow me @bibryam for future blog posts.A look at the past decadeThe integration space is in constant change. There are many open source projects and closed source technologies that have not passed the test of time and disappeared from the middleware stacks for good. After a decade, Apache Camel is still here and becoming even stronger for the next decade of integration.
Gang of Four for integrati3 years ago Read more -
Blog postFollow me on twitter for other posts in this space. This post was originally published on Opensource.com under CC BY-SA 4.0. If you prefer, read the same post on Hacker Noon.
Top technology prognosticators have listed blockchain among the top 10 emerging technologies with the potential to revolutionize our world in the next decade, which makes it well worth investing your time now to learn. If you are a developer with a Java background who wants to get up to speed on blockchain tech3 years ago Read more -
Blog postBelow is the conclusion from an article I wrote at TechCrunch. Checkout the full article here.
Enterprise integration has multiple nuances. Integration challenges within an organization, where all systems are controlled by one entity and participants have some degree of trust to each other, are mostly addressed by modern ESBs, BPMs and Microservices architectures. But when it comes to multi-party B2B integration, there are additional challenges. These systems are controlled by mult3 years ago Read more -
Blog postFollow me on twitter for other posts in this space. If you prefer, read the same post on Medium.
Open source is like a forestA forest is a complex ecosystem of plants, animals microorganisms, non-living material, all balanced delicately by nature. It requires the right geography, the right soil, the right amount of rain and sun, and decades to build a forest.
So is open source. An open source project is a delicate ecosystem of contributors, reviewer, users, supporting organiza3 years ago Read more -
Blog postFollow me on twitter for other posts in this space. If you prefer, read the same post on Medium.
Recently I had a chance to play a little bit with the open source permissioned JVM based blockchain platform Corda. I was surprised to discover how it blends blockchain ideas with the commodity middleware technology and creates a new brief of decentralized enterprise integration. Below are my first impressions from it along with an Apache Camel connector contribution.
What is Corda3 years ago Read more -
Blog postFollow me on twitter for other posts in this space. A shorter version of this post was originally published on Opensource.com under CC BY-SA 4.0. If you prefer, read the same post on Medium.
Over the last two decades open source has been expanding into all aspects of technology: from software to hardware, from small disruptive startup technologies to large boring enterprise software, from open standards to open patents. In this short post, I will try to call out a three tendencies t3 years ago Read more -
Blog postI've been involved with open source over a decade now. I've been part of small projects with innovative ideas which grew into large projects with solid communities. I've also witnessed how dysfunctional communities can suck the energy of projects for years. All that thanks to the open source development and collaboration.
In recent times, I'm active on the blockchain space as well: reading, writing, and contributing to projects. And I came to the conclusion that blockchain projects are sta4 years ago Read more -
Blog postToday’s developers aren’t just kingmakers; thanks to blockchain, they’re building their own kingdoms.
The New Kingmakers"The New Kingmakers" by Stephen O'Grady is a great book explaining why the developers are the most important assets a business has. In it, Stephen explains how developers are shaping products in new ways and organizations that understand and embrace the value of this shift will be the most successful in the years to come. It shows how IT decision makers ar4 years ago Read more -
Blog postCreating a containerized application that behaves like a good cloud native citizen and can be automated effectively by a platform such as Kubernetes requires some discipline. See below what it is. (Alternatively, read the same post on Medium)Software design principlesPrinciples exist in many areas of life, and they generally represent a fundamental truth or belief from which others are derived. In software, principles are rather abstract guidelines, which are supposed to be followed while d4 years ago Read more
-
Blog postThis post was originally published as "How blockchain can complement open source" on Opensource.com under CC BY-SA 4.0. If you prefer, you can also read the same post on Medium.
Open Won Over ClosedThe Cathedral and The Bazaar is the classic open source story written 20 years ago by Eric Steven Raymond. In the story, Eric describes a new revolutionary software development model where complex software projects are built without (or with a very little) central management. This new4 years ago Read more
Titles By Bilgin Ibryam
The way developers design, build, and run software has changed significantly with the evolution of microservices and containers. These modern architectures use new primitives that require a different set of practices than most developers, tech leads, and architects are accustomed to. With this focused guide, Bilgin Ibryam and Roland Huß from Red Hat provide common reusable elements, patterns, principles, and practices for designing and implementing cloud-native applications on Kubernetes.
Each pattern includes a description of the problem and a proposed solution with Kubernetes specifics. Many patterns are also backed by concrete code examples. This book is ideal for developers already familiar with basic Kubernetes concepts who want to learn common cloud-native patterns.
You’ll learn about the following pattern categories:
- Foundational patterns cover the core principles and practices for building container-based cloud-native applications.
- Behavioral patterns explore finer-grained concepts for managing various types of container and platform interactions.
- Structural patterns help you organize containers within a pod, the atom of the Kubernetes platform.
- Configuration patterns provide insight into how application configurations can be handled in Kubernetes.
- Advanced patterns cover more advanced topics such as extending the platform with operators.
About This Book
Describes the most commonly used patterns and principles for creating modern Apache Camel applications. Each pattern is based on a real world use case and provides Camel specific implementation details and best practises.What You Will Learn
As a hands-on architect and Apache Camel committer, the author describes patterns such as the following from a practical point of view:- VETRO
- Edge Component
- Reusable Routes
- CQRS
- Saga (Compensating Transaction)
- Retry (short and long persistent retries)
- Circuit Breaker
- Error Channel (Dead Letter Channel, Invalid Message Channel, Back Off Channel)
- Singleton Route
- Bulkhead
- Plus 10 other patterns
Who This Book Is For
This book is intended for developers who are familiar with Apache Camel syntax but are perhaps lacking the wider application integration experience. There is no code in this book, only practical theory backed up by countless hours of riding Apache Camel.Other Resources
FREE sample chapter: http://samples.leanpub.com/camel-design-patterns-sample.pdfHardcover book: http://www.lulu.com/spotlight/camel_design_patterns
E-book from Leanpub: https://leanpub.com/camel-design-patterns
In Detail
With new APIs and technologies emerging every day, the need for integrating applications is greater than ever before. With the right tools, integrating applications is not hard. Apache Camel is the leading open source integration and message orchestration framework. Apache Camel, which has a variety of connectors and features numerous well-known integration patterns, has an enormous advantage over home grown integration solutions.
Instant Apache Camel Message Routing helps you to get started using the Camel routing engine and Enterprise Integration Patterns. This book will show you how to create integration applications using Apache Camel. You will learn how Camel works and how to leverage the Enterprise Integration Patterns for message routing.
Instant Apache Camel Message Routing is a practical and step-by-step guide to Apache Camel and integration patterns. This book will show you how Apache Camel works and how it integrates disparate systems using Enterprise Integration Patterns. The book starts with an advanced level overview of the Camel architecture before diving into message routing principles. Then, it introduces a number of patterns, complete with diagrams, common use cases, and examples about how to use them with Camel. The book also shows you how to test and monitor Camel applications and cope with failure scenarios.
Approach
Filled with practical, step-by-step instructions and clear explanations for the most important and useful tasks. This short, instruction-based guide shows you how to perform application integration using the industry standard Enterprise Integration Patterns.
Who this book is for
This book is intended for Java developers who are new to Apache Camel and message- oriented applications.