InfoQ Homepage Infrastructure Content on InfoQ
-
Interview with Raffi Krikorian on Twitter's Infrastructure
Raffi Krikorian, Vice President of Platform Engineering at Twitter, gives an insight on how Twitter prepares for unexpected traffic peaks and how system architecture is designed to support failure.
-
Non-functional Requirements in Architectural Decision Making
In this article, authors present an empirical study based on a survey about the software architecture practices for managing non-functional requirements (NFRs) and decision making in software development process. They also discuss about how these requirements are elicited, documented, and validated at different organizations.
-
Minding the API Hierarchy of Needs with RAML and APIkit
Reza Shafii explains how to satisfy two fundamental needs of API design and implementation, as defined by the API hierarchy of needs, with RAML, API Designer and APIkit.
-
Intelligent Evolution: Making Change Work
Some 80% of all improvement and change programmes fail: they did not achieve the expected results, the investment in the change programme was greater than the value achieved, “improvements” were seen as mostly bureaucratic, or changes were abandoned soon after the implementation. Intelligent Evolution ensures long-term business success rather than short-term satisfaction of a standard or theory.
-
Beyond Piracy: Software Publishers Battle Greater Threats to Their Intellectual Property
Software is in everything from our automobiles to our mobile devices, and as the world becomes even further immersed in the digital era, new security threats are arising beyond the software industry. Today, software products are becoming more susceptible to incidences of reverse-engineering and code tampering – not just outright theft.
-
Preparing for Your First MongoDB Deployment: Backup and Security
This article we focuses on the database backup tools and security policies when deploying MongoDB NoSQL databases. Topics like cloud backups with MongoDB Management Service (MMS), authentication, and authorization are covered.
-
Design Patterns: Magic or Myth?
In this article, author discusses the effectiveness of the usage of design patterns in software development. The analysis is based on surveys and mapping studies conducted to indicate which patterns were considered useful under what circumstances.
-
Pragmatic Techniques for Maintaining a Legacy Application
Maintaining a legacy application can make you feel like mice in a maze. In this article Ping Chen shares her experiences on how to pragmatically maintain a large legacy application. "Pragmatic” is the operative word; since a legacy application can have lots of technical debt, one has to be strategic in choosing the right battles.
-
Monty Taylor and Jim Blair on CI and Test Automation at OpenStack
Monty Taylor and James Blair talk about the build and test challenges they face at OpenStack, and how they managed to tackle them. Managing hundreds of VMs on public clouds, integrating up to 400 commits a day and running thousands of test jobs on them are some of the challenges described.
-
Building a Real-time, Personalized Recommendation System with Kiji
Jon Natkins explains in this article how to create a personalized recommendation system fed with large amounts of real-time data using Kiji, which leverages HBase, Avro, Map-Reduce and Scalding.
-
Visualizing Java Garbage Collection
Garbage Collection, like Backgammon takes minutes to learn and a lifetime to master. In this article Master trainer/consultant Ben Evans summarizes his recent InfoQ presentation "Visualizing Garbage Collection" where he discusses Garbage Collection from the ground up.
-
Architecture and Agility: Married, Divorced, or Just Good Friends?
This article describes the relationship between architecture and process of software development and how architecture can responds to a set of needs, such as functional requirements, operational characteristics, and developer habitability. It also talks about the role of pragmatic architects when working with developers and stakeholders.