Devops for Growth
112.5K views | +1 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: 'micro-services'. Clear
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 15, 2021 7:37 AM
Scoop.it!

Modèles de conception pour les microservices - Azure Architecture Center | Microsoft Docs

Modèles de conception pour les microservices - Azure Architecture Center | Microsoft Docs | Devops for Growth | Scoop.it
Découvrez comment les conceptions qui utilisent des microservices peuvent optimiser la vélocité des lancements d’application en déployant de petits services autonomes de façon indépendante.
No comment yet.
Scooped by Mickael Ruau
September 15, 2021 6:03 AM
Scoop.it!

Microservices Design Patterns | Microservices Patterns

Microservices Design Patterns | Microservices Patterns | Devops for Growth | Scoop.it
This article on Microservices Design Patterns talks about the top design patterns you must follow to build a successful microservices architecture.
Mickael Ruau's insight:

Principles Used to Design Microservice Architecture

The principles used to design Microservices are as follows:

  1. Independent & Autonomous Services
  2. Scalability
  3. Decentralization
  4. Resilient Services
  5. Real-Time Load Balancing
  6. Availability
  7. Continuous delivery through DevOps Integration
  8. Seamless API Integration and Continuous Monitoring
  9. Isolation from Failures
  10. Auto -Provisioning

Design Patterns of Microservices

    1. Aggregator
    2. API Gateway
    3. Chained or Chain of Responsibility
    4. Asynchronous Messaging
    5. Database or Shared Data
    6. Event Sourcing
    7. Branch
    8. Command Query Responsibility Segregator
    9. Circuit Breaker
    10. Decomposition
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 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
July 5, 2021 6:14 AM
Scoop.it!

Microfrontends

Martin Fowler defined the Micro-Frontend architecture as ""An architectural style where independently deliverable frontend applications are composed into a greater whole"

No comment yet.
Scooped by Mickael Ruau
April 28, 2021 5:22 AM
Scoop.it!

The InfoQ eMag: Re-Examining Microservices after the First Decade

The InfoQ eMag: Re-Examining Microservices after the First Decade | Devops for Growth | Scoop.it
We have prepared this eMag for you with content created by professional software developers who have been working with microservices for quite some time. If you are considering migrating to a microservices approach, be ready to take some notes about the lessons learned, mistakes made, and recommendations from those experts.
No comment yet.
Scooped by Mickael Ruau
April 27, 2021 1:55 AM
Scoop.it!

''Microservices Antipatterns and The Things You're Doing Wrong'' With Chris Richardson - DZone Microservices

''Microservices Antipatterns and The Things You're Doing Wrong'' With Chris Richardson - DZone Microservices | Devops for Growth | Scoop.it
Chris Richardson talks about the common antipatterns found in microservice architectures and discusses the decision-making process for their adoption.
Mickael Ruau's insight:

 

DB: Interesting. You said previously, in order to migrate to microservices, you have to learn how to strangle the monolith. Can you explain it to us a little a bit?

CR: You know, interestingly, it's sort of a slightly violent term. And it actually goes back to an application modernization strategy that Martin Fowler promoted in 2006, I believe, known as the Strangler Application. And he has since modified it to the Strangler Fig Pattern. And so I guess one day he was going for a walk in a rainforest, I think in Queensland, right? Do they have rainforests?

DB: They do in Northern Queensland.

CR: Yeah. And so he got inspired. He came across a Strangler Fig, which is this plant that starts off life in the canopy of a tree and then actually grows down to the ground and establishes roots and basically grows so large it envelopes or sort of, you could say shades out the tree, and that can actually cause the tree to die.
And so that was where he got inspired to think about modernizing applications that way. So instead of doing a big bang rewrite, which is extremely time consuming and risky, you actually incrementally build up a strange regular application around the legacy application. Sort of migrating functionality out of it, you know? Very intuitively. And so the legacy applications shrink, and the Strangler Application continues to grow. And so that was his generic application modernization pattern. And that's how you should migrate to a microservices architecture.

No comment yet.
Scooped by Mickael Ruau
January 15, 2021 6:25 AM
Scoop.it!

Architecting for Reactive Microservices - an O'Reilly book pack. Download now.

Architecting for Reactive Microservices - an O'Reilly book pack. Download now. | Devops for Growth | Scoop.it
In these concise O'Reilly reports, Jonas Bonér, co-author of the Reactive Manifesto & creator of the Akka project, provides architects and technology leaders with an overview of the principles and str
No comment yet.
Scooped by Mickael Ruau
October 1, 2020 9:35 AM
Scoop.it!

What are microservices?

What are microservices? | Devops for Growth | Scoop.it
Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.
No comment yet.
Scooped by Mickael Ruau
July 16, 2020 8:17 AM
Scoop.it!

The essential difference between microservices and APIs | by Alex Mosso | The Startup | Jun, 2020

The essential difference between microservices and APIs | by Alex Mosso | The Startup | Jun, 2020 | Devops for Growth | Scoop.it
When a client makes a request to a microservice, behind it will be a network of microservices to cooperate and all together will produce a response. In this kind of architecture, a single client request is dispatched by a network of microservices.
On the other hand, a single API will handle a client request, and the request will be dispatched with the cooperation of several components organized in layers inside the same API. Usually, one layer will have the controller, other layer will contain services, and at the bottom you will find repository objects.

In that way, an API architecture is arranged in layers, while a microservice architecture is disposed as a network.

If you want to know more about cloud computing and microservices you can review related content in below references.
No comment yet.
Scooped by Mickael Ruau
March 30, 2020 2:00 AM
Scoop.it!

The RED Method: key metrics for microservices architecture

The RED Method: key metrics for microservices architecture | Devops for Growth | Scoop.it
Tom Wilkie shares Weaveworks monitoring philosophy and the three most important metrics to use in your microservices architecture.
Mickael Ruau's insight:

Where does The RED Method come from?

I can’t take any credit for this philosophy, as it is 100% based on what I learned as a Google SRE. Google calls it their “The Four Golden Signals”. The Google SRE book is a great read, and goes into way more depth that I can.

Google include an extra metric, Saturation, over and above the RED method. I don’t include Saturation because, in my opinion, it is a more advanced use case. I think the first three metrics are really the most important, and people remember things in threes… But it you’ve mastered the first three, by all means include Saturation.

The name “The RED Method” started life as a tongue-in-cheek play on Brendan Gregg’s USE Method - another recommended read. The USE Method was being circulated around the office when we started Weave Cloud and were discussing how to monitor it. I felt like I needed a catchy name for the monitoring strategy I was proposing, so The RED Method was born. The USE Method is a fantastic way to think about how to monitor resources; we use it as a framework to monitoring the infrastructure behind Weave Cloud. However, I think the abstraction becomes a little strained when talking about services.

No comment yet.
Scooped by Mickael Ruau
March 19, 2020 5:29 AM
Scoop.it!

FaaS : tout savoir sur le Function-as-a-Service Cloud

FaaS : tout savoir sur le Function-as-a-Service Cloud | Devops for Growth | Scoop.it
Le FaaS ou Function-as-a-Service (fonction en tant que service) % est un type de service Cloud permettant de déployer une fonction de logiciel sur le Cloud.
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 15, 2021 6:04 AM
Scoop.it!

Microservice Architecture and Design Patterns - DZone Microservices

Microservice Architecture and Design Patterns - DZone Microservices | Devops for Growth | Scoop.it
Learn about the design patterns of microservice software architecture to overcome challenges like loosely coupled services, defining databases, and more.
Mickael Ruau's insight:

 

There are many other patterns used with microservice architecture, like Sidecar, Chained Microservice, Branch Microservice, Event Sourcing Pattern, Continuous Delivery Patterns, and more. The list keeps growing as we get more experience with microservices.

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 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 8, 2021 1:26 AM
Scoop.it!

Les Défis Des Tests De Bout En Bout Des Microservices

Les Défis Des Tests De Bout En Bout Des Microservices | Devops for Growth | Scoop.it
Assurer la qualité des microservices grâce à des tests de bout en bout peut entrer en conflit avec l'intégration et la publication rapides de composants logiciels grâce à un pipeline CI/CD automatisé. Si un test de bout en bout échoue, les pipelines CI/CD de tous les microservices impliqués sont bloqués jusqu'à ce que le problème provoquant l'échec du test soit résolu.
No comment yet.
Scooped by Mickael Ruau
May 3, 2021 5:33 AM
Scoop.it!

The InfoQ eMag - Microservices: Testing, Observing, and Understanding

The InfoQ eMag - Microservices: Testing, Observing, and Understanding | Devops for Growth | Scoop.it
This eMag takes a deep dive into the techniques and culture changes required to successfully test, observe, and understand microservices.
No comment yet.
Scooped by Mickael Ruau
April 27, 2021 5:21 AM
Scoop.it!

The InfoQ eMag - Service Mesh: Past, Present, and Future

The InfoQ eMag - Service Mesh: Past, Present, and Future | Devops for Growth | Scoop.it
This eMag aims to remove some of the confusion around the topic of "service mesh", and help architects and technical leaders to choose if, when, and how to deploy a service mesh. A "service mesh" manages service-to-service communications across a compute cluster, and handles dynamic service discovery and routing, and also provides cross-cutting support for observability, reliability, and security
No comment yet.
Scooped by Mickael Ruau
February 8, 2021 8:16 AM
Scoop.it!

Après Les Microservices, Retour Au Monolithe - Ou Comment L’Entreprise Segment A Fait Retour Arrière

Après Les Microservices, Retour Au Monolithe - Ou Comment L’Entreprise Segment A Fait Retour Arrière | Devops for Growth | Scoop.it
Segment a choisi une architecture microservices pour gagner en isolation système, quitte à avoir un coût opérationnel plus élevé. Trois ans plus tard, l'équipe a décidé de revenir à un monolithe. A la QCon de Londres, Alexandra Noonan a expliqué pourquoi, et a souligné l'importance d'évaluer les contreparties de nos choix d'architecture.
Mickael Ruau's insight:

En 2013, Segment a démarré avec une architecture monolithique. Cela permettait des coûts d'exploitation réduits, mais n'apportait pas d'isolation système. Les fonctionnalités de Segment s'appuient sur l'intégration de données de différents fournisseurs. Dans le monolithe, des problèmes de connexions à un fournisseur peuvent avoir un effet négatif sur l'ensemble des connexions et sur le système entier.

Le manque d'isolation à l’intérieur du monolithe fut adressé par l'adoption des microservices, avec un "service worker" par destination (fournisseur). Les Microservices ont également amélioré la modularité et la lisibilité au travers du système, permettant à l'équipe de monitorer les queues et identifier les problèmes facilement. Alexandra Noonan nous a fait remarquer que l'on peut concevoir un monolithe en le rendant plus lisible, mais que les microservices ont cette qualité par défaut. Par contre, ceux-ci engendrent un surcoût sur les opérations et posent problème quant à la réutilisabilité du code.

No comment yet.
Scooped by Mickael Ruau
October 16, 2020 6:28 AM
Scoop.it!

#48 – Les défis de Java et du cloud natif : GraalVM native image avec Sébastien Deleuze | Electro Monkeys

#48 – Les défis de Java et du cloud natif : GraalVM native image avec Sébastien Deleuze | Electro Monkeys | Devops for Growth | Scoop.it
La JVM est une pièce centrale de l'écosystème #Java, mais elle s'adapte mal aux #microservices ayant une courte durée de vie ou aux conteneurs. L'alternative ? native image. @sdeleuse nous invite à découvrir pros et cons de cette technologie !
No comment yet.
Scooped by Mickael Ruau
July 28, 2020 10:23 AM
Scoop.it!

Testing Strategies in a Microservice Architecture

Testing Strategies in a Microservice Architecture | Devops for Growth | Scoop.it

The microservice architectural style presents challenges for
organizing effective testing, this deck outlines the kinds of
tests you need and how to mix them.
No comment yet.
Scooped by Mickael Ruau
July 8, 2020 2:13 AM
Scoop.it!

EventStorming; Continuous discovery beyond software modelling

EventStorming; Continuous discovery beyond software modelling | Devops for Growth | Scoop.it
Organisations need to adopt EventStorming for domain modelling their microservices, even ThoughtWorks agrees. But EventStorming goes beyond that.
No comment yet.
Scooped by Mickael Ruau
March 27, 2020 2:54 AM
Scoop.it!

The RED Method: A New Approach to Monitoring Microservices

The RED Method: A New Approach to Monitoring Microservices | Devops for Growth | Scoop.it
Monitoring microservices effectively still can be a challenge, as many of the traditional performance monitoring techniques are ill-suited for providing the required granularity of system performance. Now a former Google and Weave engineer has developed an approach, called the RED Method, that seems to be gaining favor with administrators. RED “encourages you to come to …
No comment yet.