During the last months Martin Fowler among others have claimed that a microservices architecture should always start with a monolith, but Stefan Tilkov is convinced this is wrong, building a well-structured monolith with cleanly separated modules that later may be pulled apart into microservices is extremely hard, if not impossible in most cases.
Improving on his understanding of the architecture and patterns involved in Command Query Responsibility Segregation (CQRS), Sacha Barber has created a complete CQRS demo application including event sourcing and an article with a cross examination of the inner workings.
Astrid Atkinson, director at Google, drew on their experiences over the last decade to present some rules and advice on engineering for the long term. The Velocity Conference 2015 attendees at Santa Clara learned that it's crucial to imagine that you're going to be wildly successful, that complexity mustn't be eliminated but managed and that the focus should be on scaling systems not teams.
Capgemini are currently working on Apollo, an open source application platform built on top of the Apache Mesos cluster manager and Docker, which is designed to power next generation web services, microservices and big data platforms running at scale.
Hans van Wezep, software architect at Philips Healthcare, talked about model-based migration at the Bits&Chips Software Engineering conference. InfoQ did an interview with van Wezep about the challenges in maintaining legacy software, why manual refactoring is error prone, using models to refactor and migrate a codebase, and the benefits of using models when maintaining legacy software.
Parse has announced its new Schema API, which allows to programmatically manipulate the database schema used by an app, and the Parse API Console, which aims to make it easier to use Parse REST API without writing any code.
At WSO2Con EU 2015, WSO2 has announced API Cloud and App Cloud, two complete solutions for managing APIs and respectively enterprise applications throughout their lifecycle.
Total Cost of Ownership (TCO) can be used for investment decisions and financial benefit analysis. When applied to software it covers the initial development costs and subsequent maintenance costs until phase out of a product. TCO can support architectural decisions and management of technical debt.
With GCM 3.0, Google has attempted to simplify the registration process and to make their cloud notification system work similarly on Android, iOS and Chrome. There is a new topic group and a messaging diagnostic tool.
New Relic has released a set of new features to its Software Analytics Platform. Service Maps is a real time visual map focused on services. Together with a tool for Docker monitoring, a database dashboard for NoSQL databases and an unified alerts platform, the company wants to reduce complexity in modern software architecture.
Latest version of MemSQL, in-memory database with support for transactions and analytics, includes a new Community Edition for free use by organizations. MemSQL 4, released last week, also supports integration with Apache Spark, Hadoop Distributed File System (HDFS), and Amazon S3.
Last month, Teamleader won the HenQ award of the Boost competition at The Next Web Europe 2015 in Amsterdam, Netherlands. Benny Waelput from Teamleader discusses about the present and future of CRM systems.
Cisco is currently working on an open source ‘microservice-infrastructure’ project, which will support the continuous deployment of microservice-based applications, and is built upon technologies such as Mesos, Consul and Docker. Development is occurring primarily in the open, via the CiscoCloud Github account.
In a recent article Martin Fowler tries to answer the question about when to consider using microservices, hoping that developers understand that there is an inherent complexity involved in making such an architectural change. Sometimes staying with a well-designed monolith may be more appropriate.
Computer-checked models can be used to prove that core communications and state management in a software program are 100% logically correct. Such models can also be used to generate 100% correct source code. The usage of formal methods can reduce costs and time to market and help to deliver highly reliable software products.