Skip to content

Latest commit

 

History

History
439 lines (368 loc) · 31.1 KB

architecture.md

File metadata and controls

439 lines (368 loc) · 31.1 KB

Bookmarks tagged [architecture]

https://martinfowler.com/articles/microservice-trade-offs.html

Many development teams have found the microservices architectural style to be a superior approach to a monolithic architecture. But other teams have found them to be a productivity-sapping burden. Lik...


https://www.youtube.com/watch?v=fvSZ7gocaxI

Software architecture is frequently highlighted as one of the most desirable careers. But there's never been a handbook that gives you everything you need to know to succeed — until now. In this webin...


https://blog.angular-university.io/angular-ngrx-store-and-effects-crash-course/

Using a store architecture represents a big architectural shift: with the arrival of single page applications, we moved the Model to View transformation from the server to the client.

Store architect...


https://jeffreypalermo.com/2008/07/the-onion-architecture-part-1/

I’ve spoken several times about a specific type of architecture I call “Onion Architecture”.  I’ve found that it leads to more maintainable applications since it emphasizes separation of concerns thro...


https://www.archunit.org/

ArchUnit is a free, simple and extensible library for checking the architecture of your Java code using any plain Java unit test framework. That is, ArchUnit can check dependencies between packages an...


https://itexpert.fr/blog/principe-segregation-interfaces/

Les interfaces en POO. Bien qu’elles semblent totalement inutiles, elles sont absolument primordiales pour créer des programmes robustes et flexibles.


https://www.youtube.com/watch?v=_MmyTahR9ok

Learn how GraphQL helps you build, clean & layered-architectures with a clear separation of concerns.


https://martinfowler.com/articles/replaceThrowWithNotification.html

If you're validating some data, you usually shouldn't be using exceptions to signal validation failures. Here I describe how I'd refactor such code into using the Notification pattern.


https://www.infoq.com/presentations/Simple-Made-Easy/

Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.


http://curtclifton.net/papers/MoseleyMarks06a.pdf


https://github.com/babel/babel/blob/master/doc/design/monorepo.md

Juggling a multimodule project over multiple repos is like trying to teach a newborn baby how to ride a bike.

Babel follows a monorepo approach, all officially maintained modules are in the same repo...


https://github.com/donnemartin/system-design-primer

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.


https://github.com/fpereiro/backendlore

From late 2012 to the present I have been writing backends (server-side code) for web applications. This document summarizes many aspects of how I write these pieces of code.

I'm writing this lore do...


https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single...

This article outlines the scale of that codebase and details Google's custom-built monolithic source repository and the reasons the model was chosen. Google uses a homegrown version-control system to ...


https://stackoverflow.com/questions/8922056/what-is-the-best-way-to-upload-and-store-pictures-on-the...

All big websites don't save pictures to the database they store them in the disk. They save a reference to the picture's position in a table. And then link from there.

Why? Performance.

Pulling heav...


https://cloud.google.com/solutions/about-capacity-optimization-with-global-lb

Most load balancers use a round-robin or flow-based hashing approach to distribute traffic. However, load balancers that use this approach can have difficulty adapting when demand spikes beyond availa...


https://guide.elm-lang.org/

Elm is a functional language that compiles to JavaScript. It competes with projects like React as a tool for creating websites and web apps. Elm has a very strong emphasis on simplicity, ease-of-use, ...


https://facebook.github.io/flux/

Application architecture for building user interfaces


https://www.youtube.com/watch?v=j6ow-UemzBc

Download the slides & audio at InfoQ: https://bit.ly/2ypNF04

Michael Bryzek highlights specific key decisions that very directly impact the quality and maintainability of ...


https://medium.com/@dpaunin/the-best-architecture-with-docker-and-kubernetes-myth-or-reality-77b4f8f...

This article will take you on a journey from real life to development processes to architecture and back to real life, giving answers to the most important questions at each of these stops along the w...


https://gengnosis.blogspot.com/2007/01/level-triggered-and-edge-triggered.html

Edge triggered things happen when some stimulus changes; level-triggered things happen when some stimulus crosses a threshold.


https://scs-architecture.org/

Self-contained Systems (SCS) is a software architecture focused on a separation into independent systems - similar to microservices


https://www.infoq.com/articles/scs-microservices-done-right/

Everybody seems to be building microservices these days, and Self-contained Systems (SCS) are an opinionated approach to building services. Each SCS is effectively an autonomous web application.


https://www.berufe-der-ict.ch/

Branchenübliche ICT- und Organisations-Berufsbilder mit erforderlichen Kompetenzen und Ausbildungen


https://github.com/simskij/awesome-software-architecture#readme

A curated list of resources on software architecture - simskij/awesome-software-architecture


https://spring.io/guides/topicals/spring-security-architecture

This guide is a primer for Spring Security, offering insight into the design and basic building blocks of the framework. We only cover the very basics of application security but in doing so we can cl...


https://www.infoq.com/news/2019/04/monolith-microservices-migration

In his presentation at MicroXchg in Berlin, Sebastian Gauder described how he and his teams migrated an existing food retail monolith at REWE, a large German company, into several business domains wit...


http://olivergierke.de/2013/01/whoops-where-did-my-architecture-go/

Summary

The basic approach I recommend is to move the vertical slices into the focus of the package naming and try to model them in a way that the public API of a slice is as tiny as possible in...


http://www.codingthearchitecture.com/2016/04/25/layers_hexagons_features_and_components.html

Layers, hexagons, features and components - Coding the Architecture


https://martinfowler.com/bliki/BoundedContext.html

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 d...


https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html

Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include:


https://www.infoq.com/articles/ddd-contextmapping

Many approaches to object oriented modeling tend not to scale well when the applications grow in size and complexity. Context Mapping technique can be used to manage the complexity in large softwa...


http://www.laputan.org/mud/

While much attention has been focused on high-level software architectural patterns, what is, in effect, the de-facto standard software architecture is seldom discussed. This paper examines the most ...


https://martinfowler.com/articles/feature-toggles.html

Feature Toggles (often also refered to as Feature Flags) are a powerful technique, allowing teams to modify system behavior without changing code. They fall into various usage categories, and it's imp...


https://www.youtube.com/watch?v=STKCRSUsyP0

During my career, I've often people heard people describe their systems as "event-driven". But when looking deeper that phrase seems to lead to some very different architectural assumptions. On a rece...


https://www.youtube.com/watch?v=QcNqfvMeWow

Traditionally, a tug of war has existed between service reliability (availability, consistency, and fault tolerance), and engineering velocity. Increasing speed to fuel product innovation has meant ma...


https://abdulapopoola.com/2013/03/12/design-patterns-pub-sub-explained/

I actually wanted to write about PubSub alone: it’s a fascinating design pattern to me however, the thought occurred to me, why not write a design patterns’ series? It’ll be good knowledge for me and ...


https://blog.angular-university.io/angular-2-smart-components-vs-presentation-components-whats-the-d...

Smart Components: also know sometimes as application-level components, container components or controller components

Presentation Components: also known sometimes as pure components or dumb component...


http://plantuml.com/

Open-source tool that uses simple textual descriptions to draw UML diagrams. Easily create UML Diagrams from simple textual description. There are also numerous kind of available diagrams. It's also p...


https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern

In software architecture, publish–subscribe is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribe...


https://www.confluent.io/blog/apache-kafka-for-service-architectures/

Learn how Apache Kafka differs from traditional messaging technologies, configurations you should consider, and patterns you should implement or avoid.


https://engineering.salesforce.com/how-apache-kafka-inspired-our-platform-events-architecture-2f351f...

There’s a class of scalability challenges that are best approached using an asynchronous, event-driven architecture — particularly when it comes to doing data integrations.


https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c

With more than 25 photos and 90 likes every second, we store a lot of data here at Instagram. To make sure all of our important data fits into memory and is available quickly for our users, we’ve begu...


https://distrinet.cs.kuleuven.be/news/2015/multitenancy.pdf

One of the key enablers to leverage economies of scale in SaaS applications is multi-tenancy [3, 5], i.e. the sharing of resources among multiple customer organisations, the so-called tenants. While i...


https://docs.microsoft.com/en-us/azure/sql-database/saas-tenancy-app-design-patterns

Learn about the requirements and common data architecture patterns of multi-tenant software as a service (SaaS) database applications that run in the Azure cloud environment.


http://www.aosabook.org/en/nginx.html

nginx (pronounced "engine x") is a free open source web server written by Igor Sysoev, a Russian software engineer. Since its public launch in 2004, nginx has focused on high performance, high concurr...


https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecar

Deploy components of an application into a separate process or container to provide isolation and encapsulation.


http://mcfunley.com/choose-boring-technology

  • Embrace boredom
  • Optimize Globally
  • Choose New Technology, Sometimes
  • Just Ship
  • 📆 published on: 2015-03-30
  • tags: coding, architecture

https://www.nginx.com/blog/building-microservices-inter-process-communication/

Learn the pros and cons of the different technologies you can choose for inter-process communication in your microservices-based application


https://gist.github.com/telent/9742059

App configuration in environment variables: for and against


http://www.techscore.com/tech/DesignPattern/

シナジーマーケティング株式会社


http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-1.html

Agata Toshitaka


http://www.hyuki.com/dp/cat_index.html

結城浩


https://martinfowler.com/bliki/DesignStaminaHypothesis.html

From time to time I have indirect conversations about whether good software design is a worthwhile activity. I say these conversations are indirect because I don't think I've ever come across someone ...


https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

Few questions are answered:

  • What is architecture?
  • The architect's role
  • Getting rid of software architecture
  • tags: architecture

https://www.youtube.com/watch?v=DngAZyWMGR0

What is architecture? "the set of decisions that must be made early" > "the decisions that you wich you could make early on" > "the decisions that are hard to change (e.g. programming language) "...


https://www.youtube.com/watch?v=GAFZcYlO5S0

This presentation was recorded at GOTO Amsterdam 2014 Ravioli vs lasagna architecture, aka layered architecture vs component architecture


http://ntcoding.co.uk/blog/2013/02/improve-your-communication-skills-with.html

If you’re a developer who wants to contribute to the big picture – the high-level design of the systems you work on – you need to be able to communicate your ideas clearly for your peers to understand...


https://www.youtube.com/watch?v=zcmU-OE452k

Ask somebody in the building industry to visually communicate the architecture of a building and you'll be presented with site plans, floor plans, elevation views, cross-section views and detail drawi...


https://www.youtube.com/watch?v=ovqDdH9ngFs

See how the architecture of this cross-cutting project allows us to build isolated microservices with Node.js and Docker. Examine the tools and infrastructure we’re building across our stack that enab...


https://www.linkedin.com/pulse/microservices-architecture-retail-rajesh-gundapaneni

Architectural choices are purely depending on technical and business needs, you need a solution when there is a problem or an opportunity, so the first thing is to work on identifying the problems and...