InfoQ Homepage Design Content on InfoQ
-
Building a Scalable Minimum Viable Product
Scalability should be considered when developing a Minimum Viable Product (MVP). An MVP needs to be technically scalable and you need to have a plan on how to scale quickly when your MVP attracts many users and becomes successful. Knowing your possible performance bottlenecks and using common sense while developing your MVP will get you very far, says Erik Duindam, CTO at Unboxd.
-
How GitHub Designed its New Load Balancer
GitHub has been at work for the last year to develop a new load balancer, the GitHub Load Balancer (GLB), aimed to be able to scale to billions of connections per day running on commodity hardware. GitHub engineers Joe Williams and Theo Julienne explain how GLB was designed.
-
Refactoring and Code Smells – A Journey Toward Cleaner Code
Refactoring helps to move towards cleaner code that is easier to understand and maintain. It takes practice and experience to recognise code smells: symptoms of bad design which indicate deeper problems in the code. Tools can be helpful to refactor in small steps and prevent breaking the code.
-
How Agile and Architecture Parted and Finally Became Friends
People stopped seeing the need to define the architecture or do software design due to incorrect interpretation of the agile manifesto, argued Simon Brown. Many software developers don’t seem to have a sufficient toolbox of practices and the software industry lacks a common vocabulary for architecture. A good architecture enables agility with just enough up front design to create firm foundations.
-
Experiences with Behaviour-Driven Development
Behaviour-Driven Development (BDD) recognizes that software development is fundamental to businesses of today and helps to improve how business stakeholders and software developers communicate with each other, Kevin Smith claims in a recent blog post about his experiences working with BDD.
-
Data is the Hard Part Working with Microservices
One of the hardest problem when creating and developing microservices for an enterprise is their data. Analysing the business domain using Domain-Driven Design (DDD) and reason about what your data represents will help in achieving a microservices architecture, Christian Posta claims in one of a series of blog posts about microservices implementations.
-
How and Why Etsy Moved to an API-First Architecture
At QCon New York 2016, Etsy software engineer Stefanie Schirmer told how her company successfully transitioned to an API-first architecture that supports multiple devices, addresses server-side performance problems, and was quickly adopted by development teams.
-
Vaughn Vernon on Microservices and Domain-Driven Design
Although a monolith can be modeled in a respectable way, often they are turned into a big ball of mud. This is caused by multiple domain models becoming entangled within the monolith, and in Vaughn Vernon's experience this can happen within a few weeks or months, he claimed in a presentation at the Scala Days conference earlier this year.
-
Microsoft REST API Guidelines Are Not RESTful
Microsoft has published their guidance for creating “RESTful” APIs. Roy Fielding calls them HTTP APIs that have little to do with REST.
-
The Body as Interface and Interpreting the Body talks at Bristol Girl Geek Dinner Event
Tamara Chehayeb Makarem and Jenny Gaudion of Scott Logic will be speaking at a Girl Geek Dinner event on 20th July in Bristol, UK on the complimentary topics of ‘Body as Interface’ and ‘Interpreting the body’. They spoke to InfoQ about the different ways the body can be an interface with technology systems, how our thinking about user experience needs to change and interpreting body-based data.
-
Design for Continuous Evolution: Immutable Model Is Key for Robustness
At QCon New York, Eric Brewer described how advancing from continuous delivery to fast and stable continuous evolution requires a discrete construction step to define an immutable model of the system. Brewer’s compute infrastructure design team uses Helm to construct and safely validate new deployment models, prior to attempting real deployment, although the concepts are technology agnostic.
-
Juval Löwy: Why Every Class Should Be a Service
Juval Löwy has pioneered a method of building service-oriented applications in which each class represents a service onto itself. While these applications may initially seem like 'class explosion', they are actually the product of a truly decomposed system; one that has been properly analyzed and designed. Juwal explains his intent and describes how development teams can improve from this process.
-
Experiences Using Event Storming
In the context of Domain-Driven Design (DDD), Event Storming is incredibly useful and valuable, Dan North claimed in his presentation at the recent DDD eXchange conference in London, explaining the basic mechanics of Event Storming and sharing his experiences from modelling different systems during the last few years.
-
Eric Evans: Is Domain-Driven Design Beneficial for Software Development?
The last couple of years the interest in Domain-Driven Design (DDD) has increased, Eric Evans noted in his keynote at the recent DDD eXchange conference in London. He thinks that we are in a time when developers care more about design, partially because we are working more with distributed systems where models have a higher value.
-
How to Effectively Debug Software
InfoQ interviewed Diomidis Spinellis, author of the books Code Reading and Code Quality, about finding and fixing errors in software, principles for debugging software and how to improve the effectiveness of debugging, how to write code that requires less debugging, and what managers can do to support error prevention and handling.