architecture.md

July 15, 2021 · View on GitHub

Bookmarks tagged [architecture]

www.codever.land/bookmarks/t/architecture

Microservice Trade-Offs

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


Fundamentals of Software Architecture — Neal Ford and Mark Richards - 57min

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


Ngrx Store - An Architecture Guide

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


The Onion Architecture : part 1 | Programming with Palermo

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


Unit test your Java architecture - ArchUnit home page

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


Ségrégation des interfaces : codez uniquement le nécessaire

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.


Breaking up the monolith: A layered GraphQL architecture - Johannes Schickling @ GraphQL Europe 2018 - 17min

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

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


Replacing Throwing Exceptions with Notification in Validations

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.


Simple Made Easy

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.


Out of the Tar Pit | Ben Moseley & Peter Marks

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


Why is Babel a monorepo?

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


donnemartin/system-design-primer

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

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


fpereiro/backendlore: How I write backends

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


Why Google Stores Billions of Lines of Code in a Single Repository

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


What is the best way to upload and store pictures on the site?

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


Application Capacity Optimizations with Global Load Balancing

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


An Introduction to Elm

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


Flux Home Page

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

Application architecture for building user interfaces


Design Microservice Architectures the Right Way - YouTube

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


The best architecture with Docker and Kubernetes — myth or reality? - Medium

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


Level-triggered and edge-triggered

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.


SCS - Self-Contained Systems home page

https://scs-architecture.org/

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


Self Contained Systems (SCS) - Microservices Done Right

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.


Berufe der ICT – Berufe der ICT

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

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


awesome-software-architecture

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

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


Topical Guide · Spring Security 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...


Migrating a Retail Monolith to Microservices: Sebastian Gauder at MicroXchg Berlin

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


Oliver Gierke - Whoops! Where did my architecture go

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


Layers, hexagons, features and components

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

Layers, hexagons, features and components - Coding the Architecture


BoundedContext

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


The Clean Architecture

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:


Strategic Domain Driven Design with Context Mapping

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


Big Ball of Mud

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


Feature Toggles (aka Feature Flags)

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


GOTO 2017 • The Many Meanings of Event-Driven Architecture • Martin Fowler - YouTube

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


The Paved PaaS To NodeJS MICROSERVICES (JavaScript @ Netflix) - YouTube

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


Design Patterns: PubSub Explained – CodeKraft

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


Angular Architecture - Smart Components vs Presentational Components

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


PlantUML Home Page

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


Publish–subscribe pattern

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


Apache Kafka as an Event-Driven Backbone for Service Architectures

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.


How Apache Kafka Inspired Our Platform Events Architecture

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.


Sharding & IDs at Instagram – Instagram Engineering

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


Application-level multi-tenancy: the promise and pitfalls of shared-everything architectures

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


Multi-tenant SaaS patterns - Azure SQL Database

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.


The Architecture of Open Source Applications (Volume 2) - nginx

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


Sidecar pattern | Microsoft Docs

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.


Dan McKinley :: Choose Boring TechnologyCrazySane

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

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

Building Microservices: Inter-Process Communication

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


12 factor app configuration vs leaking environment variables · GitHub

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

結城浩


DesignStaminaHypothesis

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


Who Needs An Architect?

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

Few questions are answered:

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

Making Architecture Matter - Martin Fowler Keynote - YouTube [14min]

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) "...


GOTO 2014 • Software Architecture vs. Code • Simon Brown - YouTube [45min]

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


NT Coding Blog: Improve your communication skills with expert diagrams

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


DevTernity 2016: Simon Brown - The Art of Visualising Software Architecture - YouTube [48min]

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


Slaying Monoliths with Docker and Node.js, a Netflix Original - Yunong Xiao, Netflix.com - YouTube

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


Microservices Architecture-Retail

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