InfoQ Homepage Architecture Content on InfoQ
-
Chaos Engineering
Modern software-based services are implemented as distributed systems with complex behavior and failure modes. Many large tech organizations are using experimentation to verify such systems' reliability. Netflix engineers call this approach chaos engineering. They've determined several principles underlying it and have used it to run experiments. This article is part of a theme issue on DevOps.
-
How Difficult Can It Be to Integrate Software Development Tools? The Hard Truth
Integrating tools used in software development and delivery is very hard. Getting endpoints to inter-operate is not a purely technical challenge, it’s more of a business problem. While there are a few choices in selecting the technical integration infrastructure (integration via APIs or at the database layer), the real challenges have more to do with friction caused by the dissimilarities.
-
Harnessing the Power of Architectural Design Principles
Architecture principles epitomize architecture's function: to clearly define the necessary constraints on a system's design without prescriptively defining all the design details. A good set of principles can provide context and justification for design decisions and can foster team collaboration and communication.
-
Navigating the Ins and Outs of a Microservice Architecture (MSA)
A microservices architectures (MSA) is increasingly becoming an important way to deliver efficient functionality, but are just one aspect of a much larger picture. A good MSA implementation requires a solid understanding and design of both the inner architecture and the outer architecture of the system.
-
How Zalando Delivers APIs with Radical Agility
InfoQ interviewed Thomas Fraustein, architect at Zalando, about his team’s radical agility development organization that is optimized for an API-first approach. He explains what an API-first approach is, and provides tips on building good APIs for scalable microservice architectures where a large number of services are offered efficiently.
-
Refactoring to Reactive - Anatomy of a JDBC migration
Reactive programming offers built-in solutions for some of the most difficult challenges in programming, including concurrency management and flow control. So you might ask - how do I get there; can I introduce it in phases? In this article we transform a legacy application to a reactive model using RxJava.
-
Key Takeaway Points and Lessons Learned from QCon San Francisco 2016
The 10th annual QCon San Francisco was the biggest yet, bringing together over 1500 team leads, architects, project managers, and engineering directors. Over 125 practitioner-speakers presented 92 full-length technical sessions and 32 in-depth tutorials, providing deep insights into real-world architectures and state of the art software development practices from a practitioner’s perspective.
-
Article Series: Getting a Handle on Data Science as a Software Developer
Software developers and managers are realizing that they need data science among their skills, to be able to tackle pressing problems. In this series, field experts provide guidance to help us navigate among the available data analysis options. They explore ways of understanding where data science is needed and where it’s not, and how to turn it into an asset.
-
Ultimate Kanban: Scaling Agile without Frameworks at Ultimate Software
Ultimate Software settled on Kanban as its scaled methodology which went hand-in-hand with the company’s culture of autonomy. Teams define their own process and apply policies specific to their own context. Through the innovative use of flow practices and principles, Ultimate has been able to achieve many of the benefits of a Lean-Agile implementation without the use of a heavyweight framework.
-
Agile Sailors - A Journey from a Monolithic Approach to Microservices
Over the last couple of years eSailors IT solutions has implemented big technological and organisational changes: from functional silos to cross-functional teams, from a work flow that looked like an assembly line to dynamic loops, from a monolithic platform to microservices, from hierarchical command-and-control to leadership as a team sport. This article provides a summary of their journey.
-
How to Boost Your Skills to Become a Better Developer
Katas are great for learning new skills or to improve existing ones but don't address the intensity we face at work when there is a raging fire such as a deadline, release date, fixing a bug in huge legacy code, etc. This article covers the skills of good developers and highlights changing your training approach to improve your skills for high-intensity and challenging environments.
-
Q&A with the Author on "Designing the Requirements”, an Alternative Approach
In the book “Designing the Requirements: Building Applications that the User Wants and Needs”, the author Chris Britton proposes an alternative path that goes from understanding the requirements to deliver spot on solutions.