Devops for Growth
112.5K views | +10 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
December 20, 2023 2:13 PM
Scoop.it!

8 Steps in the Event Storming Process

8 Steps in the Event Storming Process | Devops for Growth | Scoop.it
In this blog post, we will explain what event storming is, and the steps in the event storming process.
No comment yet.
Scooped by Mickael Ruau
December 15, 2021 1:20 AM
Scoop.it!

Branching strategies: Git-flow vs. trunk-based development

Branching strategies: Git-flow vs. trunk-based development | Devops for Growth | Scoop.it
With Git platforms like Bitbucket, GitLab, GitHub, Azure DevOps offered on the cloud, it is now easier than ever to create code repositories on a platform that you prefer. Devbridge can help to choose the right platform in an unbiased way.
Mickael Ruau's insight:

 

Below, we compare git-flow vs. trunk-based noting key considerations for each.

Philosophy

Git-flow Trunk-based As far as possible from main branch As close as possible to main branch New features started from develop branch Short-lived feature branches started from main branch New release branch derived from develop branch, after stabilized release branch deployed Main branch always in a state ready to be deployed to production Only hotfixes derived from main branch Hotfixes start from main or release branch, need to be cherry-picked back to main

Team composition

Git-flow Trunk-based Lack of seniority within the team Well-composed and experienced team Working with other vendors/third-party Team augmentation model

Product type

Git-flow Trunk-based Complex, mature, monolithic product Microservices Brown-field product Modern single page application (SPA) / Mobile apps   Proof-of-concept (POC) / Prototype   Distributed system components

Authoring process

Git-flow Trunk-based Governed Team-driven

Deployment

Git-flow Trunk-based Various deployment models used Continuous Deployment practices recommended, such as feature toggles, quality gates, canary testing, self-service automation (e.g.. ChatOps), and monitoring

Release frequency

Git-flow Trunk-based Slower release cadence, pre-determined schedule Teams able to iterate quickly and independently

 

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

Microservices — La Lettre Et L’Esprit

Microservices — La Lettre Et L’Esprit | Devops for Growth | Scoop.it
L’architecture Microservices est puissante et populaire, et nous verrons dans cet article les bonnes et mauvaises implémentations: “petits services” vs “services découplés” ou “Lettre” vs “Esprit”.
No comment yet.
Scooped by Mickael Ruau
December 1, 2021 1:01 AM
Scoop.it!

Is SOLID Still Relevant in Modern Software Architecture?

Is SOLID Still Relevant in Modern Software Architecture? | Devops for Growth | Scoop.it
Daniel Orner published a recent article arguing that SOLID principles are still the foundation for modern software architecture. According to Daniel, while the practice of software development has changed in the past 20 years, SOLID principles are still the basis of good design. The author explains how they also apply to functional programming and microservices architecture, with examples.

SOLID is a mnemonic and acronym for five software design principles enumerated in 2000 by Robert C. Martin. According to the article’s author, these "SOLID principles are a time-tested rubric for creating good software" and can be adapted to modern software engineering practices.
No comment yet.
Scooped by Mickael Ruau
November 29, 2021 11:12 AM
Scoop.it!

Sober Look at Microservices - DZone Microservices

Sober Look at Microservices - DZone Microservices | Devops for Growth | Scoop.it
Curious observation: this is not always possible to do a transition from single to multiple deployable artifacts, or “break the monolith”. Not necessarily because “monolith” is poorly designed or implemented (this also happens, but it’s another story). The actual reason is that internal architecture might be not service-based. For example, Hexagonal Architecture is hard or impossible to refactor into service-based architecture. Another possible cause — for business reasons, it might be impossible to split domains into services. After all, applications are created to solve business problems, not vice versa.
No comment yet.
Scooped by Mickael Ruau
November 25, 2021 5:07 AM
Scoop.it!

Comprendre le patron de conception Circuit breaker

Comprendre le patron de conception Circuit breaker | Devops for Growth | Scoop.it
L'évolution des besoins (réductions des coûts et du time to market, concept d'ATAWAD (AnyTime, AnyWhere, AnyDevice)…) a mis en avant certaines architectures (architecture applicative cloud ready, architecture microservices, architecture distribuée…).

Cela a engendré de nouvelles problématiques, en particulier l'augmentation du nombre de dépendances et donc potentiellement soumises à la latence du réseau.

C'est à ce moment qu'apparaissent à nouveau les Illusions de l'informatique distribuée :

Le réseau est fiable.
Le temps de latence est nul.
La bande passante est infinie.
Le réseau est sûr.
La topologie du réseau ne change pas.
Il y a un et un seul administrateur réseau.
Le coût de transport est nul.
Le réseau est homogène.

Et ces illusions ne prennent pas en compte la partie dépendance et son lot de problèmes (crash, temps de réponse lent, réponse non conforme…).

Pour répondre à ces défis, la philosophie de design for failure (les traitements applicatifs doivent, dès leur conception, prévoir le cas où les composants qu'ils appellent pourraient tomber en erreur) a pris encore plus d'importance.

Et donc nous sommes passés de : « prévenir toutes les défaillances » à : « les défaillances font partie du jeu ».

Parmi toutes les solutions composant le design for failure, nous allons nous pencher sur le patron de conception (design pattern) « Circuit Breaker » popularisé par Michael Nygard dans le livre « Release It! ».

Mais avant cela, faisons un tour rapide sur d'autres solutions permettant de gérer des problèmes de dépendances.
Mickael Ruau's insight:

 

Table des matières

No comment yet.
Scooped by Mickael Ruau
November 19, 2021 7:43 AM
Scoop.it!

Adoption D'une Architecture Cloud Native, 3ème Partie : Orchestration De Services Et Service Mesh

Adoption D'une Architecture Cloud Native, 3ème Partie : Orchestration De Services Et Service Mesh | Devops for Growth | Scoop.it
La première partie de cette série d'articles évoque l'évolution de l'architecture et les patterns stratégiques d'architecture pour les tendances technologiques comme les microservices, le serverless et la conteneurisation. Les architectures s'appuyant sur des principes comme le couplage faible, l'extensibilité, et la programmation par interfaces seront plus résilients lors de changements majeurs de plateforme technologique. Les solutions bien conçues résistent au temps en isolant la logique métier des composants technologiques, ceux-ci devenant obsolètes tôt ou tard.

La seconde partie décrit le temps nécessaire à la stabilisation de l'architecture et certains anti-patterns comme le monolithe distribué et l'architecture "Etoile de la Mort". Il démontre le besoin d'équilibrer l'architecture et la stabilité technologique.

Cette troisième partie étudie l'importance des interactions entre les services dans une architecture microservices, les difficultés récurrentes des systèmes distribués, et comment des patterns d'architecture modernes comme l’orchestration de services et le Service Mesh peuvent y répondre.
No comment yet.
Scooped by Mickael Ruau
November 11, 2021 5:32 AM
Scoop.it!

A Cloud-Native Architecture for a Digital Enterprise

A Cloud-Native Architecture for a Digital Enterprise | Devops for Growth | Scoop.it
This article describes a vendor/technology-neutral reference architecture for a cloud native digital enterprise that can be mapped into different cloud-native platforms (Kubernetes and service mesh), cloud providers (Microsoft Azure, Amazon AWS, and Google GCP), and infrastructure services.
Mickael Ruau's insight:

Key Takeaways

  • By becoming a digital enterprise, a company can integrate and expose its business capabilities as APIs by digitizing an entire value chain.
  • API-led integration provides a platform to enable enhanced digital experiences for consumers. Agility, flexibility, and scalability are key to becoming a successful digital enterprise.
  • Cloud-native applications are all about dynamism; microservice architecture is critical to accomplish this goal. Combining cloud-native technologies with an API-led integration platform helps to increase productivity by having agility, flexibility, and scalability through automation and services.
  • This article describes a vendor/technology-neutral reference architecture for a cloud native digital enterprise and this can be mapped into different cloud-native platforms (Kubernetes and service mesh), cloud providers (Microsoft Azure, Amazon AWS, and Google GCP), and infrastructure services.
No comment yet.
Scooped by Mickael Ruau
November 3, 2021 10:20 AM
Scoop.it!

Pitfalls and Patterns in Microservice Dependency Management

Pitfalls and Patterns in Microservice Dependency Management | Devops for Growth | Scoop.it
Key Takeaways

When managing dependencies for distributed microservices, you must consider different types of growth when evolving the product, such as the number of users, user behavior, and the interactions between services and subsystems.
Stateless services are often easier to manage than stateful ones.
Colocate service components for greater performance, easier failure isolation, and SLO alignment.
Having isolated serving stacks may prevent a global outage of your service. This includes the dependencies of your service run by 3rd parties or in the Cloud.
Some architectural strategies may allow your service to have a graceful degradation during an outage instead of immediately returning errors to the user, e.g., having a cache between the API and the database.
When building an SLO, take into account the current SLO of all backends and the different user journeys, including edge cases for bad responses and degraded experiences.
Work with backend owners and allow extra time for resource allocation and architectural changes.

Last year, during QCon Plus, I shared some of the Pitfalls and Patterns in Microservice Dependency Management that I encountered while working at Google for over 10 years. Rather than being focused on any particular product or team, this talk was about sharing my own experiences and personal learnings as a software engineer at Google.

With that in mind, I presented. Each of these scenarios had key moments of epiphany, where I realized the importance of various aspects within the microservices environment.
No comment yet.
Scooped by Mickael Ruau
October 28, 2021 4:47 AM
Scoop.it!

Complex Systems: Microservices and Humans

Complex Systems: Microservices and Humans | Devops for Growth | Scoop.it
Katharina Probst discusses some of the best practices to build, evolve, and operate microservices, learnings from containers, service meshes, DevOps, Chaos & load testing, and planning for growth.
No comment yet.
Scooped by Mickael Ruau
October 11, 2021 8:54 AM
Scoop.it!

Les Pièges Et Les Patterns Dans La Gestion Des Dépendances Dans Une Architecture Microservice

Les Pièges Et Les Patterns Dans La Gestion Des Dépendances Dans Une Architecture Microservice | Devops for Growth | Scoop.it
Silvia Esparrachiari nous explique comment un changement mineur peut impacter un système, et souligne l’importance d’en avoir une vision globale pour mieux comprendre l’impact d’une modification.
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 7:00 AM
Scoop.it!

How we ended up with microservices.

How we ended up with microservices. | Devops for Growth | Scoop.it

 

My last 12 months at the company were really focused on the economies of scope and scale we wanted to exploit. As much as I keep repeating that the term microservices doesn’t mean much, the one thing you can be sure when somebody uses this word to describe their architecture is that there will be a lot of services. As organisations grow, they need to be mindful about the fixed cost of each service.

My teams and I have spent a lot of time thinking about how to exploit our constraints and make sure operating this architecture was less expensive and complex than operating the monolith. Hopefully some of the work will be made open-source, so make sure you subscribe to their engineering blog. I’ll also write a bit more about this in future posts.

Over the years we’ve learnt a lot, and as I leave SoundCloud I am fairly certain that the general architecture and team organisation (these things go hand-in-hand) will empower the company in achieving their moonshots over the next few years—maybe until unikernels and the nanoservices they allow for become a thing?

No comment yet.
Scooped by Mickael Ruau
February 3, 2022 1:01 AM
Scoop.it!

Forget monoliths vs. microservices. Cognitive load is what matters.

Forget monoliths vs. microservices. Cognitive load is what matters. | Devops for Growth | Scoop.it
For innovative software organizations, managing the overall cognitive load on their teams is a guiding development and operational principle.
Mickael Ruau's insight:

The "monoliths versus microservices" debate often focuses on technological aspects, ignoring strategy and team dynamics. But instead of starting with technology, smart-thinking organizations are beginning with the team's cognitive load as the guiding principle for the effective delivery and operation of modern software systems. 

Excessive cognitive load works against effective team ownership and supportability of software. Here's why, and how to approach the problem.

No comment yet.
Scooped by Mickael Ruau
December 13, 2021 1:13 PM
Scoop.it!

Software Architecture is Overrated, Clear and Simple Design is Underrated

Software Architecture is Overrated, Clear and Simple Design is Underrated | Devops for Growth | Scoop.it


I had my fair share in designing and building large systems. I've taken part in rewriting Uber's distributed payment systems, designing and shipping Skype on Xbox One and open-sourcing RIBs, Uber's mobile architecture framework. All of these systems had thorough designs, going through multiple iterations and had lots of whiteboarding and discussion. The designs then boiled down to a design document that was circulated for more feedback before we started building.

All of these systems were large at scale: hundreds of developers build them - or on top of them - and they power systems used by millions of people per day. They were also not just greenfield projects. The payments system rewrite had to replace two, existing payments systems, used by tens of systems and dozens of teams, all without having any business impact. Rewriting the Uber app was a project that a few hundred engineers worked simultaneously on, porting existing functionality to a new architecture.

Let me start with a few things that might sound surprising. First, none of these designs used any of the standard software architecture planning tools. We did not use UML, nor the 4+1 model, nor ADR, nor C4, nor dependency diagrams. We created plenty of diagrams, but none of them followed any strict rules. Just plain old boxes and arrows, similar this one describing information flow or this one outlining class structure and relationships between components. Two diagrams within the same design document often had a different layout and were often added and modified by different engineers.

Second, there were no architects on the teams that owned the design. No IT architects or enterprise architects. True, neither Uber nor Skype/Microsoft have hands-off software architect positions. Engineers at higher levels, like staff engineers, are expected to still regularly code. For all the projects, we did have experienced engineers involved. However, no one person owned the architecture or design. While these experienced developers drove the design process, even the most junior team members were involved, often challenging decisions and offering other alternatives to discuss.

Third, we had practically no references to the common architecture patterns and other jargon referenced in common software architecture literature, such as Martin Fowler's architecture guide. No mentions of microservices, serverless architecture, application boundaries, event-driven architecture, and the lot. Some of these did come up during brainstormings. However, there was no need to reference them in the design documents themselves.
Mickael Ruau's insight:

The best software design is simple and easy to understand. The next time you're starting a new project, instead of thinking, "How will I architect this system, what battle-tested patterns should I use and what formal methodology should I document it with?", think "How can I come up with the simplest possible design, in a way that's easy for anyone to understand?".

Software architecture best practices, enterprise architecture patterns, and formalized ways to describe systems are all tools that are useful to know of and might come in handy one day. But when designing systems, start simple and stay as simple as you can. Try to avoid the complexity that more complex architecture and formal tools inherently introduce.

No comment yet.
Scooped by Mickael Ruau
December 13, 2021 1:14 AM
Scoop.it!

Build Scalable and Robust Enterprise Web Apps - DZone Web Dev

Build Scalable and Robust Enterprise Web Apps - DZone Web Dev | Devops for Growth | Scoop.it
This blog provides various aspects that need to be considered while developing scalable and robust enterprise applications. I will discuss the following areas of enterprise applications development and considerations:

An application should have capabilities to accommodate growth and scale, should be modular to enhance or add new functionalities, and support gradual or abrupt surge. At the same time, it should be seamless for users and efficient for the organizations.
Factors or Characteristics that influence the application scalability and robustness
The different architecture patterns, pros, cons, and considerations: The standard architecture brings many advantages for development and better flexibility of the system for scaling.
How to build scalable enterprise applications: What are the different design methods to consider across various components of the applications?
Different technology, tools, framework, software that can be used while designing enterprise applications: Mostly we will highlight open source technologies as much as possible.
Basic Architectural Design principles to consider for designing large scale applications

In the end, I will provide very high-level architecture considering most of the aspects discussed in this blog. I will provide information in the form of mind maps which I captured for the above areas.
No comment yet.
Scooped by Mickael Ruau
November 30, 2021 12:59 AM
Scoop.it!

Microservices — the Letter and the Spirit

Microservices — the Letter and the Spirit | Devops for Growth | Scoop.it

Key Takeaways

Microservices pattern doesn’t refer to the size of the services, decomposing your solution into ‘micro’ pieces is not the goal of the pattern, think of your solution as one whole then look at the requirements to guide you through what pieces to partition out. The article gives you an example of doing that.

Mickael Ruau's insight:

Central to the microservices pattern is the concept that services must be decoupled; the end goal of the pattern is to make a distributed solution easy to develop, operate and maintain which can be easier achieved when the services are decoupled.


Decoupling the services is twofold

 

1) Services don’t interact directly with each other, instead they use an integration service.

2) Services are versioned.

 

Using an integration service (e.g. service bus) frees your microservices from depending on each other, a failure of one service shouldn’t cause the other services to fail.

 

Versioning shouldn’t be an afterthought in microservices, implement it at day one. If Versioning seems an overkill you’re probably prematurely ‘microservicing’ your solution.

No comment yet.
Scooped by Mickael Ruau
November 29, 2021 11:07 AM
Scoop.it!

What Are Microservices and The Event Aggregator Pattern? - DZone Cloud

What Are Microservices and The Event Aggregator Pattern? - DZone Cloud | Devops for Growth | Scoop.it
Learn about the Event Aggregator pattern for organizing event communication in a microservices architecture with an example.
No comment yet.
Scooped by Mickael Ruau
November 24, 2021 1:19 PM
Scoop.it!

API vs. Microservices: The Complete Guide

API vs. Microservices: The Complete Guide | Devops for Growth | Scoop.it
These definitions might seem a bit obtuse, so here's how I would define them:

API stands for Application Programming Interface. APIs define how two pieces of software can connect and talk to each other. If your application were a big company, your API's job would be to keep in touch with external parties (customers or company partners, for example). Most APIs are organized around some standard, like REST or GraphQL, so that everybody knows how to use them.

Microservices are pieces of software (often just isolated functions) that do a single, tiny, independent part of a bigger application. If your application were a big company, each employee would be a microservice, each playing their own specific and small role, working alongside but independently from their coworkers. This lets you make changes to individual microservices without affecting the rest of the application. In a big company replacing or retasking one employee in a large team would probably not affect the rest of the company all that much.

It's the evolution of the monolith architecture. Instead of having one block composing the whole application, every component is divided into smaller building blocks.

Put like that, does it make a bit more sense how they're different and how they can work together?
No comment yet.
Scooped by Mickael Ruau
November 11, 2021 6:10 AM
Scoop.it!

The Human Side of Airbnb’s Microservice Architecture

The Human Side of Airbnb’s Microservice Architecture | Devops for Growth | Scoop.it
Jessica Tai discusses lessons learned by Airbnb from its migration to microservices, covering cross-team collaboration strategies, designing observability access control, and planning for unified APIs.
Mickael Ruau's insight:
 

Trying to address some of those challenges, we decided to have a hybrid between micro and macroservices. This is what we're working on now. The micro and macroservice hybrid model focuses on unification of APIs. How can we consolidate and make things easier as a clear one place to go for certain pieces of data or functionality? Our backend services previously able to call any other service in our microservice world, would go through a GraphQL interface and get the data only from our central data aggregator. This central data aggregator then federates out its schema using a simple GraphQL interface as well into our service blocks. Our service blocks have a facade API that abstracts away the microservices beneath it. In our previous microservice only world, our services were talking to each other with Thrift. We preserved that within the blocks and allowed our existing microservices to continue using Thrift but have this abstraction layer encapsulating them in the service block. Our team structure changed as well. Now our teams are more specialized. Our product teams are just focusing on that, the product. They no longer need to be responsible for optimizing performance of data fetching, because now we have a dedicated team to do this. We also had dedicated teams for our service blocks, which is really important to have cohesive ownership over the larger domains that power our Airbnb product.

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

nginxinc/mra-ingenious: A photo-sharing app built by NGINX and implemented using the Fabric Model from the Microservices Reference Architecture.

nginxinc/mra-ingenious: A photo-sharing app built by NGINX and implemented using the Fabric Model from the Microservices Reference Architecture. | Devops for Growth | Scoop.it
A photo-sharing app built by NGINX and implemented using the Fabric Model from the Microservices Reference Architecture. - GitHub - nginxinc/mra-ingenious: A photo-sharing app built by NGINX and implemented using the Fabric Model from the Microservices Reference Architecture.
No comment yet.
Scooped by Mickael Ruau
November 3, 2021 10:12 AM
Scoop.it!

Panel: What Have We Learned over the Last Decade of Microservices?

Panel: What Have We Learned over the Last Decade of Microservices? | Devops for Growth | Scoop.it
Chris Richardson, James Lewis, and Katie Gamanji discuss what the industry has learned over the last decade building and delivering Microservices architectures.
Mickael Ruau's insight:
 Common micro services anti patterns
 

Watt: We've had quite a while having a go at microservices. There's been I think a lot of things we've done maybe right, but there's quite a few, what I would say, are antipatterns out there. What are your guys' opinions in terms of the most prevalent or common antipatterns that you see coming up over and over again, in terms of how people implement microservices and use them?

Richardson: I would say one obvious one is people believing it's like a magic pixie dust. Our engineering organization delivers software slowly, we'll just do microservices and everything will be great. Whereas in reality, if your software delivery is slow because of your process, because of lack of automated testing, and that you write code that's unmaintainable, then adding microservices to the mix will most likely make things worse. I feel like you actually have to clean up your act and raise the maturity of your organization before adopting microservices or simultaneously with adopting microservices. Assuming that microservices are actually the part of the solution, because somehow you just improve all the other stuff. That can be good enough.

Gamanji: I could echo that. I think this is a pattern that I've seen, when the adoption of containers got a bit more momentum. It's not about the containers, it's not about the technology, it's about understanding what your problem is, and actually getting to the core of it. Most of the time, this comes with a cultural shift as well, or development. It's not just about adopting a microservice, it's about you truly understand what you're trying to solve, and with that, try to apply some of the best practices. Talking about antipatterns, there have been a lot of use cases where microservices were adopted, but there still was code which was not very well maintained. It was still difficult to deploy. Automation was not part of it. Pretty much some of the functionalities that Chris already mentioned as well. Metrics of success as well is not something which is necessarily truly well defined. Some other organizations measure their success by number of microservices they have, which is not actually what you should aim for, isn't it? It's not about just the technology, it's about the cultural shift and truly understanding the root of the problem that you're trying to solve.

Richardson: There was once an organization I did some work with. The CIO read an eBook that I wrote, then got all gung ho about microservices, and top-down, 8000-person organization, he just announced that do microservices. That got translated into KPIs, which translate into bonuses and stuff, and it was like do a number of microservices determined your bonus, basically.

No comment yet.
Scooped by Mickael Ruau
October 28, 2021 4:46 AM
Scoop.it!

Unwinding a Decade of Assumptions - Architecting New Experiences

Unwinding a Decade of Assumptions - Architecting New Experiences | Devops for Growth | Scoop.it
Cole Turner shares his experience in implementing new experiences across dozens of Netflix microservices, how they navigate assumptions, from ideation to delivery, and how those assumptions impact decision-making.
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: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.