InfoQ Homepage Articles
-
App Architecture, iOS Application Design Patterns in Swift Review and Author Q&A
App Architecture, iOS Application Design Patterns in Swift by Chris Eidhof, Matt Gallagher, and Florian Kugler presents a number of architectures for iOS Swift applications, from the ubiquitous Model-View-Controller to a few more experimental ones. The book is accompanied by a set of videos that are available as a separate purchase and add a live-coding dimension to the book content.
-
The C4 Model for Software Architecture
Software architecture diagrams can be a very useful communication tool, but many teams have scaled back on the creation of diagrams, and when diagrams are created, they are often confusing and unclear. The C4 model consists of a hierarchical set of software architecture diagrams for context, containers, components, and code.
-
Q&A on the Book The Pragmatist's Guide to Corporate Lean Strategy
The book The Pragmatist's Guide to Corporate Lean Strategy explores how to practically adopt lean enterprise and lean startup concepts to turn your company into a lean agile enterprise promoting business agility. It provides examples from companies that have applied these concepts, describes the strategy, best practices, anti-patterns, and gives insights into lean and agile transformations.
-
The SOA Journey: from Understanding Business to Agile Architecture
If your monolith is tightly coupled and not cohesive, you could split it in order for a business to be more agile. There are a lot of wrong ways that you can do that. They result in the same tightly coupled and non-cohesive monolith, but which is distributed across a network. This article examines how you can align your technical services and business-capabilities.
-
How BuzzFeed Migrated from a Perl Monolith to Go and Python Microservices
Starting in 2016 BuzzFeed began a re-architecture project moving from a single monolithic application written in Perl to a set of microservices. The main reason for the move was that the Perl application was proving hard to scale, essential given that buzzfeed.com alone serves about 7 billion page views/month.
-
Can People Trust the Automated Decisions Made by Algorithms?
The use of automated decision making is increasing. These algorithms can produce results that are incomprehensible, or socially undesirable. How can we determine the safety of algorithms in devices if we cannot understand them? Public fears about the inability to foresee adverse consequences has impeded technologies such as nuclear energy and genetically modified crops.
-
Retrospectives are Weak - Here is How to Make Them Stronger
This article explains why organisations settle for mediocre results from retrospectives and how a great coach can transform the results by bringing the real issues to the surface and creating an environment where a team can learn to trust each other, deal with conflict and experience extraordinary results.
-
Istio and the Future of Service Meshes
A service mesh provides a transparent and language-independent way to flexibly and easily automate networking, security, and observation functions. This article examines the past, present and future of the Istio service mesh. The near-term goal is to launch Istio to 1.0, when the key features will all be in beta, including support for Hybrid environments.
-
Default Interface Methods in C# 8
Default interface methods are included in a new feature proposal for C# 8, which will allow developers to use the traits programming technique. Based on an existing language feature found in Java, traits are an OOP technology that promotes the reuse of methods between unrelated classes.
-
Q&A on the Book Changing Times: Quality for Humans in a Digital Age
In the book Changing Times, Rich Rogers explores how technology can help people and describes the role that quality plays in this. He tells a story about how technology affects the life of a journalist, and shows what development teams can do to deliver better products.
-
Democratizing Stream Processing with Apache Kafka and KSQL - Part 1
In this article, author Michael Noll discusses the stream processing with KSQL, the streaming SQL engine for Apache Kafka. Topics covered include challenges of stateful stream processing and how KSQL addresses them, and how KSQL helps to bridge the world of streams and databases through streams and tables.
-
Refactoring to Eclipse Collections: Making Your Java Streams Leaner, Meaner, and Cleaner
Eclipse Collections is a high performance collections framework for Java, adding rich functionality to the native JDK Collections. In this article, key framework contributors demonstrate techniques for refactoring standard Java code to Eclipse Collections data structures and APIs, and also demonstrate some of the memory savings you can achieve.