Devops for Growth
112.1K views | +9 today
Follow
Devops for Growth
For Product Owners/Product Managers and Scrum Teams: Growth Hacking, Devops, Agile, Lean for IT, Lean Startup, customer centric, software quality...
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Current selected tag: 'architecture'. Clear
Scooped by Mickael Ruau
September 21, 2021 5:09 AM
Scoop.it!

9 Best Software Architecture Books and Sites - DZone Agile

9 Best Software Architecture Books and Sites - DZone Agile | Devops for Growth | Scoop.it
In the following article, you can take a look at nine of the best books and sites to learn to become a software architect.
No comment yet.
Scooped by Mickael Ruau
September 16, 2021 7:59 AM
Scoop.it!

Les architectures microservices, c’est un peu trop fort pour toi mon p’tit gars ! | OCTO Talks !

Les architectures microservices, c’est un peu trop fort pour toi mon p’tit gars ! | OCTO Talks ! | Devops for Growth | Scoop.it

 

Note : Cet article propose les grands principes d’une architecture microservices et ce que cela implique dans un SI. Vous y trouverez des basiques, qui sont utiles aux néophytes mais aussi aux plus experts pour qui un rappel fait parfois du bien. Nous passerons en revue les grands types de questions qu’il nous paraît indispensables de poser avant d’adopter les architectures microservices.

Il y a 5 ans Martin Fowler en parlait déjà et en 2020, nous avons désormais du recul sur les architectures microservices. Nous savons qu’elles sont pertinentes dans certains contextes où on a besoin de modularité, de performance et / ou d’indépendance des équipes. Nous savons aussi que ce ne sont pas des “silver bullets”. Enfin et surtout nous savons qu’en simplifiant chaque service elles repoussent la complexité dans l’intégration inter services et augmentent ainsi l’entropie des SI. Pour mieux sentir cette complexité, rappelons que dans ce type d’architecture chaque service s’apparente à une application dans l’idéal autonome. 

Toutes les problématiques d‘intégration inter-applications que vous avez pu croiser par le passé dans votre SI vous les retrouvez au beau milieu de ce type d’architecture autour de chaque microservice. 

Les architectures microservice augmentent le nombre d’applications qu’il faut maintenir en cohérence, gérer en déploiement et en monitoring. Les besoins en ressources infra IT, les besoins en compétences devops et en architecture d’intégration dans le SI augmentent. 

La question est donc de savoir si dans votre contexte cela en vaut la peine et si vous êtes en mesure de pouvoir vous l’offrir ?

No comment yet.
Scooped by Mickael Ruau
September 16, 2021 7:04 AM
Scoop.it!

Microservices. The good, the bad and the ugly – sanderhoogendoorn.com

Microservices. The good, the bad and the ugly – sanderhoogendoorn.com | Devops for Growth | Scoop.it

What will make microservices the winning paradigm, where its predecessors clearly were not? What makes it tick? As a developer, there’s no doubt that I am rather enthusiastic about microservices, but I was enthusiastic as well (more or less) when people came up with CBD and SOA.

I do suppose there are differences. For the first time we seem to have the technology in place to build these type of architectures. All the fancy and complex middleware is gone, and we rely solely on very basic and long-time existing web protocols and technologies. Just compare REST to CORBA. Also we seem to understand deployment much better, due to the fact that we’ve learned how to do continuous integration, unit testing, and even continuous delivery. These differences suggest that we can get it to work this time around.

Still, from my historical viewpoint some skepticism is unavoidable. Ten years ago, we also really believed that service oriented architecture would be technologically possible, it would solve all our issues, and we would be able to build stuff faster, reusable and more reliable. So, to be honest, the fact that we believe that the technology is ready, is not much of an argument. Meanwhile the world also got more complex.

Over the last year I’ve been involved with a company that is moving away from their mainframe (too expensive) and a number of older Java monoliths (too big, and hard to maintain). Also time-to-market plays an important role. IT need to support introducing a new product in months, if not in weeks. So we decided to be hip and go microservices. Here’s my recap of the good, the bad and the ugly of microservice architectures, looking back on our first year on the road.

No comment yet.
Scooped by Mickael Ruau
September 16, 2021 6:57 AM
Scoop.it!

L’architecture microservices sans la hype : qu’est-ce que c’est, à quoi ça sert, est-ce qu’il m’en faut ? | OCTO Talks !

L’architecture microservices sans la hype : qu’est-ce que c’est, à quoi ça sert, est-ce qu’il m’en faut ? | OCTO Talks ! | Devops for Growth | Scoop.it

Avant d’entrer dans le vif du sujet, il est nécessaire de préciser deux notions :

  • On désigne par service un service métier, c’est à dire un groupe de services techniques (REST, SOAP…​) qui, ensemble, fournissent une fonctionnalité qui a un sens métier.
  • Projet designe un projet de développement informatique sur l’ensemble de son cycle de vie
    et pas seulement pendant sa « phase projet » avant une bascule en mode maintenance.
1) Pourquoi les microservices : les problèmes des gros projets

L’architecture microservices a été inventée pour résoudre certaines des difficultés causées par les gros projets.

Avec le temps, les projets informatiques ont tendance à grossir : on étend petit à petit les fonctionnalités existantes, on en ajoute d’autres, et on supprime rarement les anciennes.

En même temps que le code et le projet s’étendent, un certain nombre de douleurs apparaissent

Mickael Ruau's insight:

Stratégie et gouvernance

Pour des gros projets liés aux produits de l’entreprises, la vision stratégique vient directement du métier. Les partenaires étant peu nombreux, il est facile d’arbitrer entre les différentes demandes en fonction du poids de chacun.

Avec des microservices, beaucoup de projets techniques seront éloignés du business et auront de nombreux interlocuteurs. Il faut donc une organisation mature dans sa communication, sa gestion des priorités et dans ses mécanismes de priorisation.

5) Est-ce qu’il m’en faut ?

L’approche fondamentale de la SOA consiste à garder le contrôle de la complexité organisationnelle et métier en la distribuant.

En séparant les projets, on diminue la complexité sur certains axes en échange d’un surcoût à d’autres endroits, notamment celui d’avoir un système plus distribué.

On peut avoir des monolithes bien organisés, scalables, évolutifs…​, mais cela demande une forte discipline de tous les instants. L’architecture microservices choisit de ne pas prendre ces risques pour être certain de garder le contrôle.

Par contre, si cela est mis en œuvre dans un environnement mal adapté ou d’une mauvaise manière, on va cumuler les inconvénients sans bénéficier des avantages, et on prend alors beaucoup plus de risques que dans une architecture de services plus classique.

Donc surtout ne vous dites pas qu’il vous faut des microservices, demandez-vous :

  • si vous avez les problèmes que cette approche résoud ;
  • si vous avez les prérequis nécessaires, ou si vous êtes prêt à faire en sorte de les atteindre avant d’entamer la migration.

Dans ce cas seulement posez vous la question.

Et n’oubliez pas qu’une architecture est un outil qu’on adapte à ses besoins et pas un dogme à respecter : si ce qui vous convient est une solution hybride reprennant certaines des idées des microservices et pas d’autres, lancez vous !

6) Comment j’y vais

Une fois décidé qu’une architecture microservices est la bonne solution, encore faut-il parvenir à la mettre en place.

S’il n’y a pas de solution magique, quelques approches semblent émerger.

Le cas difficile : partir de zéro

La situation la plus attirante est celle d’un nouveau système à créer à partir de zéro : rien à remettre en cause ni à gérer, cela semble la situation idéale.

Malheureusement partir sur des microservices à partir de rien représente le cas le plus difficile :

  • il est compliqué de déterminer a priori les limites où il faut découper les différents projets, car on ne sait pas comment le système va évoluer
  • comme on l’a déjà vu, les évolutions sont plus coûteuses, car il faut faire du refactoring cross-projet.

À moins d’être déjà mature sur un sujet, il vaut mieux donc partir sur un monolithe dans un premier temps.

Le cas favorable : peler un monolithe

Le cas le plus favorable est celui monolithe qu’on « pèle ». En examinant son organisation et sa structure, on va externaliser les morceaux à la bordure du système suivant les lignes de découpe qui sont apparues naturellement.

L’objectif n’est pas de se retrouver avec 50 mini-projets mais plutôt :

  • une ou plusieurs applications « cœur » de taille moyenne, cohérentes entre elles ;
  • des microservice qui gravitent autour, et qui vont s’en éloigner avec le temps.
No comment yet.
Scooped by Mickael Ruau
September 16, 2021 4:26 AM
Scoop.it!

Architecture hexagonale (logiciel) — Wikipédia

Architecture hexagonale (logiciel) - Wikipédia

Un article de Wikipédia, l'encyclopédie libre. L' architecture hexagonale, ou architecture à base de ports et d'adaptateurs, est un patron d'architecture utilisé dans le domaine de la conception des logiciels. Elle vise à créer des systèmes à base de composants d'application qui sont faiblement couplés et qui peuvent être facilement connectés à leur environnement logiciel au moyen de ports et d'adaptateurs.

No comment yet.
Rescooped by Mickael Ruau from Enterprise Architecture
September 20, 2021 3:13 AM
Scoop.it!

A comparison of the top four enterprise architecture frameworks | BCS

A comparison of the top four enterprise architecture frameworks | BCS | Devops for Growth | Scoop.it
For many people, the very notion of enterprise architecture (EA) is closely associated with EA frameworks, if not entirely synonymous to them, writes Svyatoslav Kotusev, Enterprise Architecture researcher.

Via Emeric Nectoux
Richard Platt's curator insight, September 17, 2021 7:46 PM

Overall, the phenomenon of EA frameworks most certainly is a grand management fad that was shamefully swallowed by the EA community. Moreover, it arguably represents one of the most ridiculous fads in the history of management, or ‘the fad of the century, which proposed so few new ideas relative to the previously existing approaches, wasted so much money in organizations globally, brought so little value to practice and, taking all that into account, is still not unanimously acknowledged as a fad. Even worse, instead of being rejected outright as impractical and forgotten, EA frameworks slowly get institutionalized into the fabric of society in the form of university courses and prerequisite certifications for architects, perpetuating themselves and causing permanent cognitive dissonance between rhetoric and reality throughout the EA community.  As it requires a rich imagination, unshakeable faith, or strong commercial motivation to find any resemblance between how successful EA practices actually work and what popular EA frameworks prescribe, these frameworks do not deserve to be discussed seriously, but only to be derided and thrown out. Do not try to implement EA frameworks and, please, beware of the next fads!

Scooped by Mickael Ruau
September 10, 2021 7:53 AM
Scoop.it!

Role of Enterprise Architecture in DevOps Adoption - DZone DevOps

Role of Enterprise Architecture in DevOps Adoption - DZone DevOps | Devops for Growth | Scoop.it
The role and structure of an enterprise architecture in a DevOps environment comes down to developing a common culture and connnecting processes and tools.
No comment yet.
Scooped by Mickael Ruau
August 24, 2021 8:44 AM
Scoop.it!

LA SEPTIEME ÉTAPE D’UN PROJET C’EST “LE DAT” –

LA SEPTIEME ÉTAPE D’UN PROJET C’EST “LE DAT” – | Devops for Growth | Scoop.it

Le DAT est un document formidable, il permet de définir la vision technique de l'application et de répondre aux questions suivantes: Quel type d'architecture? Quelle base de données, et quel type d'utilisation ? Quel Framework d'accès aux données ? Quelle technologie d'interface utilisateur ? ...  

Mickael Ruau's insight:

Rédiger un DAT peut parfois ressortir de l’exploit si celui-ci est mis en application et évolue avec la réalisation de l’application.

Je vous propose de nous reposer sur l’urbanisation des services d’informations. Cela consiste à découper le SI en modules autonomes, de taille de plus en plus petite :

  • les zones,
  • les quartiers (et les îlots si nécessaire),
  • les blocs (blocs fonctionnels)

Ce principe peut être mis en place pour les architectures applicatives.

No comment yet.
Scooped by Mickael Ruau
July 31, 2021 7:51 AM
Scoop.it!

The Most Innovative Thing About Amazon Is Not What You Think

The Most Innovative Thing About Amazon Is Not What You Think | Devops for Growth | Scoop.it
How Amazon's service oriented architecture ensures they are building unrivalled capabilities
No comment yet.
Scooped by Mickael Ruau
July 14, 2021 1:54 AM
Scoop.it!

The C4 Model for Software Architecture

The C4 Model for Software Architecture | Devops for Growth | Scoop.it

Software architecture diagrams can be a very useful communication tool, but many teams have scaled back on the creation of diagrams, and when diagrams are created, they are often confusing and unclear. The C4 model consists of a hierarchical set of software architecture diagrams for context, containers, components, and code.

No comment yet.
Scooped by Mickael Ruau
July 12, 2021 1:57 AM
Scoop.it!

PresentationDomainSeparation

PresentationDomainSeparation | Devops for Growth | Scoop.it

One of the most useful design principles that I've found and followed is that of keeping a good separation between the presentation aspects of a program (the user interface) and the rest of the functionality. Over the years where I've seen this done, I've seen plenty of benefits:

  • Presentation logic and domain logic are easier to understand when separate.
  • You can support multiple presentations on the same base program without duplicating code.
  • User interfaces are hard to test, separation keeps more logic in more testable places.
  • You can easily add a programmatic API for scripting or exposed as services (I actually see these as alternative presentations).
  • Presentation code requires different skills and knowledge to domain code.
Mickael Ruau's insight:

 

Remember that such things as web services are also presentations, even though they are used by computer users rather than human users. So don't intermix domain code with the code required to support a web service, or indeed any other external API.

No comment yet.
Scooped by Mickael Ruau
July 12, 2021 1:22 AM
Scoop.it!

Organizing Presentation Logic

Organizing Presentation Logic | Devops for Growth | Scoop.it

There are several ways to split up the logic of the presentation.

Mickael Ruau's insight:

Observer Gotchas

Many interactions in a rich client presentation make use of the Observer pattern. Observer is a useful pattern, but it comes with some important issues that you need to be aware of.

The great strength, and weakness, of observer is that control passes from the subject to the observer implicitly. You can't tell by reading code that an observer is going to fire, the only way you can see what's happening is to use a debugger. As a result of a complex chain of observers can be a nightmare to figure out, change, or debug as actions trigger other actions with little indication why. As a result I strongly recommend that you use observers only in a very simple manner.

  • Don't have chains of objects observing other objects, observing other objects. One layer of observer relationships is best (unless you use an Event Aggregator
  • Don't have observer relationships between objects in the same layer. Domain objects shouldn't observe other domain objects, presentations should not observer other presentations. Observers are best use across the layer boundary, the classic use is for presnetations to observer the domain.

Another issue for observers lies in memory management. Assume we have some screens observing some domain objects. Once we close a screen we want it to be deleted, but the domain objects actually carry a reference to the screen though the observer relationship. In a memory-managed environment long lived domain objects can hold onto a lot of zombie screens, resulting in a significant memory leak. So it's important for observers to de-register from their subjects when you want them to be deleted.

A similar issue often occurs when you want to delete the domain object. If you rely on breaking all the links between the domain objects this may not be enough since screens may be observing the domain. In practice this turns out be a problem less frequently as the screen departs and the domain objects lifetime are usually controlled through the data source layer. But in general it's worth keeping in mind that observer reltionships often hang around forgotton and a frequent cause of zombies. Using an Event Aggregator will often simplify these relationships - while not a cure it can make life easier.

No comment yet.
Scooped by Mickael Ruau
July 8, 2021 7:27 AM
Scoop.it!

Micro Front End Architecture — Design Principles and Final Thoughts | Razroo

I personally feel that micro (service) architecture has officially made it’s way over to front end architecture. This means that it is now important for a UI Engineer, to be aware of wha
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 5:08 AM
Scoop.it!

State management avec BLoC en Flutter

State management avec BLoC en Flutter | Devops for Growth | Scoop.it
Découvrez le modèle architectural BLoC qui améliorera la maintenabilité à long terme de vos projets logiciels.
No comment yet.
Scooped by Mickael Ruau
September 16, 2021 7:13 AM
Scoop.it!

Micro-frontends decisions framework | by Luca Mezzalira

Micro-frontends decisions framework | by Luca Mezzalira | Devops for Growth | Scoop.it
In the past year (2019) I spent a lot of time talking, writing, podcasting and just chatting with people about micro-frontends.
No comment yet.
Scooped by Mickael Ruau
September 16, 2021 7:01 AM
Scoop.it!

MonolithFirst

MonolithFirst | Devops for Growth | Scoop.it
Going directly to a microservices architecture is risky, so consider building a monolithic system first. Split to microservices when, and if, you need it.
No comment yet.
Scooped by Mickael Ruau
September 16, 2021 5:22 AM
Scoop.it!

Architecture logicielle — Wikipédia

Architecture logicielle - Wikipédia

L' architecture logicielle décrit d'une manière symbolique et schématique les différents éléments d'un ou de plusieurs systèmes informatiques, leurs interrelations et leurs interactions. Contrairement aux spécifications produites par l' analyse fonctionnelle, le modèle d'architecture, produit lors de la phase de conception, ne décrit pas ce que doit réaliser un système informatique mais plutôt comment il doit être conçu de manière à répondre aux spécifications.

No comment yet.
Scooped by Mickael Ruau
September 15, 2021 7:40 AM
Scoop.it!

Microservice Architecture and its 10 Most Important Design Patterns | by Md Kamaruzzaman | Towards Data Science

Microservice Architecture and its 10 Most Important Design Patterns | by Md Kamaruzzaman | Towards Data Science | Devops for Growth | Scoop.it

Microservice Architecture, Database per Microservice, Event Sourcing, CQRS, Saga, BFF, API Gateway, Strangler, Circuit Breaker, Externalize Configuration, Consumer-Driven Contract Testing

Mickael Ruau's insight:

Tackling complexity in large Software Systems was always a daunting task since the early days of Software development (1960's). Over the years, Software Engineers and Architects made many attempts to tackle the complexities of Software Systems: Modularity and Information Hiding by David Parnas (1972), Separation of Concern by Edsger W. Dijkstra (1974), Service Oriented Architecture (1998).

All of them used the age-old and proven technique to tackle the complexity of a large system: divide and conquer. Since the 2010s, those techniques proved insufficient to tackle the complexities of Web-Scale applications or modern large-scale Enterprise applications. As a result, Architects and Engineers developed a new approach to tackle the complexity of Software Systems in modern times: Microservice Architecture. It also uses the same old “Divide and Conquer” technique, albeit in a novel way.

Software Design Patterns are general, reusable solutions to the commonly occurring problem in Software Design. Design Patterns help us share a common vocabulary and use a battle-tested solution instead of reinventing the wheel. In a previous article: Effective Microservices: 10 Best Practices, I have described a set of best practices to develop Effective Microservices. Here, I will describe a set of Design Patterns to help you implement those best practices. If you are new to Microservice Architecture, then no worries, I will introduce you to Microservice Architecture.

By reading this article, you will learn:

  • Microservice Architecture
  • Advantages of Microservice Architecture
  • Disadvantages of Microservice Architecture
  • When to use Microservice Architecture
  • The Most important Microservice Architecture Design Patterns, including their advantages, disadvantages, use cases, Context, Tech Stack example, and useful resources.

Please note that most of the Design Patterns of this listing have several contexts and can be used in non-Microservice Architecture.

No comment yet.
Scooped by Mickael Ruau
September 10, 2021 8:17 AM
Scoop.it!

Open Agile Architecture™

Open Agile Architecture™ | Devops for Growth | Scoop.it

This document is The Open Group Open Agile Architecture™ standard, also known as The Open Group O-AA™ standard. It has been developed and approved by The Open Group.

This document follows a modular structure and is organized in the following parts:

Examples and case studies are provided as illustrations to foster understanding of the standard. Examples and case studies are not a normative part of the standard and therefore do not include requirements.

The target audience for this document includes:

  • Agilists who need to understand the importance of architecture when shifting toward an Agile at scale model, and who want to learn architecture skills

  • Enterprise Architects, solution architects, security architects, and software architects who want to stay relevant in an Agile at scale world and who need to learn new architecture skills for the digital age

  • Business managers and executives who need to learn the importance of the architecture discipline, and who need to influence architecture decisions

No comment yet.
Scooped by Mickael Ruau
August 30, 2021 1:12 AM
Scoop.it!

Architecting for Focus, Flow, and Joy: beyond the Unicorn Project

Architecting for Focus, Flow, and Joy: beyond the Unicorn Project | Devops for Growth | Scoop.it
The panelists discuss some of the most fun and least fun moments coding, how functional programming practices have helped, and how productivity can be unleashed at a team-of-teams scale.
No comment yet.
Scooped by Mickael Ruau
August 17, 2021 5:54 AM
Scoop.it!

Microservices design and deployment with NGINX | Free Ebook

Microservices design and deployment with NGINX | Free Ebook | Devops for Growth | Scoop.it
Use the guidance in this ebook about building microservices to learn what a microservice is, and why you might need a microservices architecture to make your applications faster, more flexible, and more stable.
Mickael Ruau's insight:
 
In this Ebook you will learn:
  • What a microservice is, when and why it makes sense to adopt microservices

  • How to implement an API gateway to route traffic to microservices

  • Pros and cons of different microservices patterns for design and deployment

  • Different strategies for refactoring a monolith to microservices

No comment yet.
Scooped by Mickael Ruau
July 21, 2021 10:05 AM
Scoop.it!

Part 1: Microservices: Technical, Business, or Organizational Architecture? Yes | AWS Cloud Enterprise Strategy Blog

Part 1: Microservices: Technical, Business, or Organizational Architecture? Yes | AWS Cloud Enterprise Strategy Blog | Devops for Growth | Scoop.it

With a bucket of Legos, you can tell any story. You can build an airplane or a dragon or a pirate ship—it’s whatever you can imagine.
Christopher Miller

One of the hallmarks of any digital transformation is increased speed and agility. Decisions need to be made more quickly using data and algorithms. Digital services need to be created rapidly to capture new revenue streams and increase customer experience. You might have heard your CTO or Chief Architect (or AWS) talk excitedly about a new software architecture that is going to save your business, make it more agile, innovative, and solve world hunger called microservices. Much has been written about the technical aspects of microservices architecture, but the non-technical aspects (business, organization, etc.) of microservices I find are not covered with the same frequency or energy. But before I cover the non-technical aspects of microservices, I think it’s worth trying to explain it in layman’s terms and the connection to business value.

Mickael Ruau's insight:

Microservices is a technical architecture approach that emphasizes modularity and independence of software and hardware components. The separation and independence are arguably the most important characteristics. Just as physical objects cannot share the same space, microservices should not share the same digital space. If you have younger kids, you know that having them share the same toys is a recipe for a fight. Therefore, as crazy it sounds, you end up buying the same toy for each kid, like I have. In the IT world, buying everyone the same toy is equivalent to giving everyone their own servers or data centers, which seems very expensive, but this leads to “fighting” in civilized forums like Change Control Board meetings. In the world of cloud, the economics change because of the pay-as-you-go utility model and new paradigms where you don’t even have to worry about servers at all called, wait for it…Serverless. So, PlayStations for all!

No comment yet.
Scooped by Mickael Ruau
July 13, 2021 10:21 AM
Scoop.it!

AWS Well-Architected - Créer des applications cloud sécurisées et efficaces

AWS Well-Architected - Créer des applications cloud sécurisées et efficaces | Devops for Growth | Scoop.it
L'infrastructure AWS correctement architecturée fournit des conseils afin d'aider les développeurs à créer et à déployer leurs applications plus rapidement, à réduire les risques et à prendre des décisions éclairées, conformément aux bonnes pratiques d'AWS.
No comment yet.
Scooped by Mickael Ruau
July 12, 2021 1:45 AM
Scoop.it!

Micro Frontends

Micro Frontends | Devops for Growth | Scoop.it
How to split up your large, complex, frontend codebases into simple, composable, independently deliverable apps.
No comment yet.
Scooped by Mickael Ruau
July 9, 2021 12:55 PM
Scoop.it!

Software Design: Tidy First?

Software design is an exercise in human relationships.
No comment yet.