InfoQ Homepage Development Content on InfoQ
-
Envoy Service Mesh Case Study: Mitigating Cascading Failure at Lyft
Over the past four years, Lyft has transitioned from a monolithic architecture to hundreds of microservices. As the number of microservices grew, so did the number of outages due to cascading failure or accidental internal denial of service. Today, these failure scenarios are largely a solved problem within the Lyft infrastructure due to the use of the Envoy Proxy as a service mesh.
-
The Cloud Native QA
The advent and widespread adoption of the cloud ecosystem presents a new challenge to the modern-day QA. What does it mean to be QA in a Cloud Native software business?
-
Evaluating Hyperledger Composer
Hyperledger Composer is a new open source project which makes it easy for developers to write chaincode for Hyperledger Fabric and the decentralized applications (DApps) that can call them. This article summarizes a technical evaluation of the performance characteristics of using Composer in a test application.
-
Q&A on the Book "Microservices, a Practical Guide, Principles, Concepts, and Recipes"
The book “Microservices, a Practical Guide, Principles, Concepts and Recipes” by Eberhard Wolff explores technology stacks for microservices-based architectures that can be used on the implementation decisions at the overall system level. Targeted to architects, developers and operations, it provides a set of recipes along with executable samples that can be used to address different needs.
-
PSD2: Blessing or Curse for Banks?
PSD2 will force all European banks to offer three APIs (Accounts, Transactions and Payments) free of charges to all 3rd parties approved by the ECB. This will allow new players to bring new and innovative products to the financial sector. For a successful transformation into a digital company, banks must evolve on three axis: Culture & People, Technology & Skills and Technical debt management.
-
Key Takeaway Points and Lessons Learned from QCon New York 2018
This year, at the seventh annual QCon New York, we had in total 143 speakers across the 117 sessions, workshops, AMAs, Open Spaces and mini-workshops. Topics included containers and orchestration, machine learning, ethics, modern user interfaces, microservices, blockchain, empowered teams, modern Java, DevEX, Serverless, chaos and resilience, Go, Rust, Elixir, and security.
-
Improving Testability of Java Microservices with Container Orchestration and a Service Mesh
In enterprise test scenarios, software needs to be tested in the same way as it will run in production. This article provides a practical demonstration of testing Java microservices that are running on Kubernetes with the Istio service mesh. K8s service abstractions enable mocking, and Istio enables us to re-route traffic and inject faulty responses or delays to verify our services' resiliency.
-
How Contract Tests Improve the Quality of Your Distributed Systems
Catching bugs at the end of a development cycle is costly, but how do you incrementally test complex distributed systems? In this article, Marcin Grzejszczak looks at an integration testing approach for communication between components. He reviews contract testing, and Spring Cloud Contract, as one solution.
-
Understanding Software System Behaviour with ML and Time Series Data
David Andrzejewski presented "Understanding Software System Behaviour with ML and Time Series Data". This article is a summary of his presentation and an overview on what to look out for. Know about the traditional approaches to time series, how to handle missing values, and know about possibly occurring seasonality in your data. Be careful about what threshold you set for anomaly detection.
-
C# 8 Ranges and Recursive Patterns
C#8 adds Ranges and Recursive Patterns. Ranges define a sequence of data while the use of Recursive Patterns provides the ability to deconstruct objects that match a given pattern. This expands on the basic pattern matching that debuted in C#7.
-
Packaging Applications for Docker and Kubernetes: Metaparticle vs Pulumi vs Ballerina
Metaparticle, Ballerina, and Pulumi have introduced different approaches by empowering developers to handle deployment automation within programing language itself without having handwriting YAMLs. This is becoming a trend and will change the DevOps practice in the software industry.
-
Coaching Technical Practices
In the past 4-5 years I have been working as a software development coach, helping organizations around London improve their technical practices. I focus on XP practices, specifically TDD, Pair Programming, Refactoring and Simple Design. In this article I share my experiences organizing coaching sessions, including subject selection and sequencing, exercises for each subject and session formats.