Qafoo GmbH - passion for software quality

To stand apart, with confidence in one's own beliefs, is one of the greatest challenges for an innovator. By providing inspiration, our expertise helps you fly further and faster.

Architecture Workshop

German Version

When scaling web applications and introducing new requirements their complexity increases. Most web applications do not run on a single web and database server any more but include multiple different systems. This may include micro services (PHP, Node.js, Go, …) but also search servers (Elastic Search, Solr, …), queue systems (RabbitMQ, ZeroMQ, …) and databases optimized for certain use cases (Redis, CouchDB, MongoDB, …).

While scaling web applications and increasing the number of systems there are a several problems occurring:

  • Consistency of data across multiple systems
  • Verification that the chosen systems fulfil their requirements
  • Risk estimation for new systems (technical, operation, business)
  • Working with latencies and system failures
  • Resilience against failure (domino effects)

The business cases must be know before the analysis is started or they will be created at the beginning of the analysis. Technology assessment for operations and business is essential to ensure the successful integration of a new architecture. A special focus should always be the modifiability of a system to be able to adapt the system to future requirement changes.

What Can We Do?

Qafoo can, together with developers and management, analyse what are the current requirements and which new requirements will occur in the near future. An analysis of the current architecture most often already shows the most critical issues.

Possible solutions can be discussed based on this initial analysis. Important criteria for such an analysis are:

  • Consistency and security of data
  • Performance (latency, transaction throughput))
  • Modifiability (New products, change costs)
  • Availability (Hardware failure, software bugs)

To either analyse an existing architecture or create a new architecture a workshop usually follows the following agenda:

  1. Presentation of business cases (functional requirements)
  2. Analysis & evaluation of architecture requirements (Performance, consistency, …)
  3. Identification of possible architectures
  4. Assessment of possible architectures (technologies)
  5. Documentation of respective benefits and drawbacks
  6. Prioritization of business cases and decision

When identifying and evaluating different approaches we work technology agnostic. Some technologies have direct consequences on the system properties (PHP vs. Node.js, MySQL vs. MongoDB). Other decisions should be based on the team structure & experience.

Stay up to Date With Our Newsletter

We are offering a newsletter with technical articles you can register for right now.

We Can Help

Qafoo executed multiple workshops with small and large customers to find the optimal architecture for the environment of the respective customer. We incorporate technical and business requirements in the process. We especially have a lot of experience with distributed systems with different requirements for data consistency and transaction security.

An architecture workshop should be part of the initial development of a new product so that every stakeholder is aware of the trade-offs. The analysis should especially happen before any data consistencies occurred which might be impossible to repair afterwards. A good system architecture can improve performance, failure resilience, latencies and development speed more than any code refactoring.

Get in contact now for a workshop together with Qafoo to analyze your requirements and create a new architecture or to refactor your existing architecture.

Customers

Clients who already trust Qafoo.

Blog

Technical insights in our blog.

Presentations

Presentations we gave at conferences.

Related Posts From Our Blog

    Get In Touch!