Command Query Responsibility Segregation (CQRS) is the starting point of a change that will have a profound impact on system architecture, Dino Esposito claims in three articles in MSDN Magazine. It’s the first step in an evolution transitioning software architects from the idea of “models-to-persist” to the idea of “events-to-log” and about event-based data instead of data snapshots.
Software architecture is a process; a sequence of strategic design decisions mapping specification and business goals to architecture design, and a thing; a set of views produced by the process that address different stakeholders, Michael Stal states describing how to define a software architecture.
After failing with two proof of concept, mainly with scalability issues, when trying to renew their main website the business decided to take a more agile and incremental approach and in a restart of the project inspired by Domain-Driven Design (DDD) having developers talk with domain experts, Chris Patuzzo explains describing the principles of DDD in the context of a real project.
Preparing for problems like partial failure is the best thing you can do when working with distributed systems, Vaughn Vernon explains in a conversation with InfoQ and refers to a blog post by Jeff Hodges noting its down-to-earth approach and practical advices e.g. designing for partial availability, and using capped exponential back off to restore full operation when dependencies are unavailable.
Redfish 1.0 is defined as a standard and a RESTful API for the management of scale-out commodity servers. Although it was created with the current needs of scalable architectures in mind, Redfish can be used for the management or the integration of the older platforms and their tool chains.
GameAnalytics, maker of a free analytics platform, has recently open sourced gascheduler an Erlang library that provides a generic scheduler for parallel execution of distributed tasks. InfoQ has spoken to Chris de Vries, one of gascheduler’s creators.
Intel has introduced a new feature for its Integrated Native Development Experience (INDE) called Multi-OS Engine that aims to make it easier for Java developers to port their Android apps to the iOS platform.
Olaf Lewitz gave a keynote about Integral Quality at the Agile Testing Day Netherlands 2015. InfoQ asked Lewitz about quality attributes, what causes poor quality software, the relationship between the structure and culture of the organization and software quality and about clarifying intent and increasing trust.
Looking at Command Query Responsibility Segregation (CQRS) in a larger architectural context there are other architectural styles available. There are database technologies solving the same problems but in a simpler way, Udi Dahan states looking into ways of approaching CQRS. There is also a way that fulfils a lot of the CQRS goals but with fewer moving parts when CQRS is really needed.
ELIoT (Extensible Language for the Internet of Things) is a simple and small programming language aiming to make distributed programming easier. A program in ELIoT may appear as a sigle program, but it actually runs on different computers, so, e.g., a variable or function declared on one computer is transparently used on another.
At the GOTO Amsterdam 2015 conference Mary Shaw talked about progress towards an engineering discipline of software. She explored what it means to have an engineering discipline, how far we have progressed toward having one for software, and what can be the next steps.
REST and hypermedia has a lot of benefits but they significantly complicates building both the client and the server API, thus useful only in some scenarios Jimmy Bogard states in a series of blog posts highlighting what’s needed to get a full hypermedia solution from server to client including choosing a hypermedia-rich media type.
Reuse has been a watch word for almost everything that has happened in system development during the last thirty years, but reuse is like cyanide; in really small portions it can be healthy, using it too much it starts doing a lot of damage, Udi Dahan claimed in his presentation giving a different perspective on business logic at this year’s DDD Exchange conference in London.
At the London Microservice User Group July meetup, Kai Davenport presented a live demonstration of ClusterHQ’s Flocker v1.0 container data volume manager tool migrating a Docker storage volume between multiple containers running within a Docker Swarm.
Fred George talked about the Challenges in Implementing MicroServices and The Secret Assumption of Agile at the GOTO Amsterdam 2015 conference. InfoQ interviewed him about how make microservices as small as possible, challenges when implementing microservices and how to deal with them, why programming style matters, and what developers can do to develop their code writing skills.