background preloader

Microservices

Microservices
"Microservices" - yet another new term on the crowded streets of software architecture. Although our natural inclination is to pass such things by with a contemptuous glance, this bit of terminology describes a style of software systems that we are finding more and more appealing. We've seen many projects use this style in the last few years, and results so far have been positive, so much so that for many of our colleagues this is becoming the default style for building enterprise applications. Sadly, however, there's not much information that outlines what the microservice style is and how to do it. In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. To start explaining the microservice style it's useful to compare it to the monolithic style: a monolithic application built as a single unit. Related:  DWH/BI/PM Methodik & Konzeption

BI-Architektur – Konzepte und praktische Umsetzung – Winfwiki Aus Winfwiki 1 Einleitung 1.1 Zielsetzung und Abgrenzung Ziel der Fallstudie ist es in einem ersten Schwerpunkt, die Konzepte, die sich hinter dem Begriff "Business Intelligence" verbergen, zu beleuchten und ein Grundverständnis zunächst einmal des Begriffes selbst und anschließend der Architektur moderner BI-Systeme im Allgemeinen zu schaffen. Dabei liegt der Fokus auf den allgemeingültigen theoretischen Architekturkonzepten der Business Intelligence und es werden keine konkreten herstellerspezifischen Konzepte betrachtet. In einem zweiten Schwerpunkt werden Konzepte der praktischen Umsetzung vorgestellt, d.h. unter welchen Voraussetzungen sind gewisse Architekturkonzepte gut geeignet oder weniger gut geeignet. 1.2 Vorgehensweise Die Fallstudie hat zwei Themenschwerpunkte: "Konzepte" und "praktische Umsetzung". 2 Business Intelligence 2.1 Begriffsklärung Business Intelligence (Abkz. 2.2 Geschichte 2.3 Anwendungsgebiete für BI Abb. 1: BI-Framework 3 Architekturkonzepte 3.1 Fachliche Architektur

BoundedContext team organization · requirements analysis · application integration · domain driven design tags: Bounded Context is a central pattern in Domain-Driven Design. It is the focus of DDD's strategic design section which is all about dealing with large models and teams. DDD deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships. DDD is about designing software based on models of the underlying domain. As you try to model a larger domain, it gets progressively harder to build a single unified model. In those younger days we were advised to build a unified model of the entire business, but DDD recognizes that we've learned that "total unification of the domain model for a large system will not be feasible or cost-effective" [1]. Bounded Contexts have both unrelated concepts (such as a support ticket only existing in a customer support context) but also share concepts (such as products and customers). . .

Microservices architecture Did you Buy a Self-Service BI Fantasy? As I gaze outside my quiet home office window watching an alligator in the pond, I am reminded of my mostly isolated virtual reality. Not even a rare splurge on chocolate chip cookie dough cheered me up. Thank goodness for IT/Dev Connections next week! Even introverts need to socialize a little bit to stay sane. Speaking of sanity, I continue to hear insane expectations that self-service BI tools can replace the need for a data warehouse. “I like nonsense, it wakes up brain cells. Accurate Reporting Data Models have Not Changed While contemporary self-service BI tools are totally amazing and revolutionizing business intelligence everywhere with rapid, simple, visual reporting for everyone, data model design patterns for reporting accurate values over time, across multiple data sources in an organization have not changed. Self-service BI tools in the market today are ideal for personal and team level reporting, quick prototypes and fire-drill, on the spot insights.

Starbucks Does Not Use Two-Phase Commit - Enterprise Integration Patterns Hotto Cocoa o Kudasai I just returned from a 2 week trip to Japan. One of the more familiar sights was the ridiculous number of Starbucks (スターバックス) coffee shops, especially around Shinjuku and Roppongi. While waiting for my "Hotto Cocoa" I started to think about how Starbucks processes drink orders. Starbucks, like most other businesses is primarily interested in maximizing throughput of orders. More orders equals more revenue. Correlation By taking advantage of an asynchronous approach Starbucks also has to deal with the same challenges that asynchrony inherently brings. Exception Handling Exception handling in asynchronous messaging scenarios can be difficult. Write-off - This error handling strategy is the simplest of all: do nothing. All of these strategies are different than a two-phase commit that relies on separate prepare and execute steps. Conversations The coffee shop interaction is also a good example of a simple, but common Conversation pattern.

Microservices Guide "Microservices" became the hot term in 2014, attracting lots of attention as a new way to think about structuring applications. I'd come across this style several years earlier, talking with my contacts both in ThoughtWorks and beyond. It's a style that many good people find is an effective way to work with a significant class of systems. But to gain any benefit from microservice thinking, you have to understand what it is, how to do it, and why you should usually do something else. This is a guide to useful resources to find out more about microservices.

How "Good" is Your Data Model?: Validating a Database Design to Pass the Test of Time - Safari Blog by Steve Hoberman Steve Hoberman is the author of the recently released “Data Model Scorecard: Applying the Industry Standard on Data Model Quality” which is published by Technics Publications. He also teaches the “Data Modeling Master Class” which is a leading data modeling course in the industry. He is the founder of the Design Challenges group, Conference Chair of the Data Modeling Zone conference, and recipient of the 2012 Data Administration Management Association (DAMA) International Professional Achievement Award. For many years I have been reviewing data models. A data model is a diagram (along with supporting documentation) that describes business terms (such as Order and Product) and the relationships between these terms (such as a Product may appear on many Orders). I created the Data Model Scorecard to proactively determine how “good” a data model, and therefore improve the structures before the database and code work have begun. To Learn More About Data Model Scorecards

Rules - Auth0 Docs Rules are code snippets written in JavaScript that are executed as part of the authentication pipeline in Auth0. This happens every time a user authenticates to an application. Rules enable very powerful customizations and extensions to be easily added to Auth0. An App initiates an authentication request to Auth0 (Step 1), Auth0 routes the request to an Identity Provider through a configured connection (Step 2). The user authenticates successfuly (Step3), the user object that represents the logged in user is passed through the rules pipeline and returned to the app (Step 4). Rules run on Step 4. Here are a few examples. Auth0 Rules are implemented in JavaScript. Notice you can chain rules together to keep functionality modular and easy to understand. The simplest example: a Hello World This rule will add a hello attribute to all users authenticating through any provider. HINT: You can try the rule while editing and you can see the output and any console.log output. user context

SQL vs NoSQL: The Differences SQL (Structured Query Language) databases have been a primary data storage mechanism for more than four decades. Usage exploded in the late 1990s with the rise of web applications and open-source options such as MySQL, PostgreSQL and SQLite. NoSQL databases have existed since the 1960s, but have been recently gaining traction with popular options such as MongoDB, CouchDB, Redis and Apache Cassandra. You’ll find many tutorials explaining how to use a particular flavor of SQL or NoSQL, but few discuss why you should choose one in preference to the other. Most examples apply to the popular MySQL SQL and MongoDB NoSQL database systems. The SQL vs NoSQL Holy War Before we go further, let’s dispel a number of myths … MYTH: NoSQL supersedes SQL That would be like saying boats were superseded by cars because they’re a newer technology. MYTH: NoSQL is better / worse than SQL Some projects are better suited to using an SQL database. (That said, don’t make life purposely difficult for yourself!

Related: