To study
Jump to navigation
Jump to search
Organization
Scrum
Jira
Stories
- ☑ Improving Speed and Stability of Software Delivery Simultaneously at Siemens Healthineers
- ☑ Business and Technical Agility with Team Topologies
Career
Critical
Architecture
- ☑ Why Do We Need Architectural Diagrams?
- ☑ Tecnologias no Nubank
- ☐ Let’s talk about React and MVP
- ☑ Modeling Uncertainty With Reactive DDD
- ☑ The Clean Architecture [Robert C. Martin]
- ☑ The Principles of Clean Architecture [Robert C. Martin]
- ☑ Passive View [Martin Fowler]
- ☑ About Consistency, Coupling, and Complexity at the Edge, and Separation of Concerns
Patterns
History
- ☑ 1970 - model view controller (Trygve Reenskaug)
- ☑ 1996 - multilayered architecture (multiple refs)
- ☑ 2005 - hexagonal architecture (Alistair Cockburn)
- ☑ 2008 - onion architecture (Jeffrey Palermo)
- ☑ 2012 - clean architecture (Uncle Bob)
Clean Architecture
Hexagonal
the domain depends on nothing but itself
- ☐ Hexagonal Architecture 101: Decoupling your technical code from your business logic (HexArch)
- ☐ Ports and Adapters Pattern (Hexagonal Architecture)
- ☐ Hexagonal Architecture: three principles and an implementation example
- ☑ Hexagonal Architecture with Spring Boot
- ☑ Domain-Driven Design and the Hexagonal Architecture
Examples
- ☑ Go
Microservices
- ☑ Microservices (by Martin Fowler)
- ☑ Microservices vs. SOA – Is There Any Difference at All?
- ☑ Managing Data in Microservices
- ☑ Quick Guide to Microservices With Spring Boot 2.0, Eureka, and Spring Cloud
- ☑ Part 1: Creating microservice using Spring Cloud, Eureka and Zuul
- ☑ Part 2: Creating microservices – monitoring with Spring Cloud Sleuth, ELK and Zipkin
- ☑ Part 3: Creating Microservices: Circuit Breaker, Fallback and Load Balancing with Spring Cloud
- ☑ Beyond Microservices: Streams, State and Scalability
- ☑ Istio as an Example of When Not to Do Microservices
- ☑ Minimizing Design Time Coupling in a Microservice Architecture
Service Discovery
Async communication
- ☑ Understanding When to use RabbitMQ or Apache Kafka
- ☑ Is there any reason to use RabbitMQ over Kafka?
Event Sourcing
- ☑ Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 1
- ☑ Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 2
Message Brooker
Message Streams
Kafka vs Kinesis
- ☑ Apache Kafka and Amazon Kinesis
- ☑ Apache Kafka VS Amazon Kinesis
- ☑ Kafka vs Kinesis: Comparing Real-time Data Streaming Tools
- ☑ Which of Amazon Kinesis and Apache Kafka is the more proven and high performance-oriented?
Kafka vs RabbitMQ
Service Mesh
- ☑ A sidecar for your service mesh
- ☑ Service Mesh Ultimate Guide (with several references linked)
- ☑ Service mesh data plane vs. control plane - Envoy Proxy
Synapse
Synapse (and its main docs in github repo) is a project small enough to get the big picture of a complete service-mesh environment:
Envoy
Istio Service Mesh architecture
- ☐ Sample application composed of four separate microservices using Envoy and Istio
- ☐ What Is a Service Mesh, by Nginx, explaining Istio service mesh architecture
Backends for Frontends
- ☑ Backends for Frontends @ SoundCloud
- ☑ Service Architecture at SoundCloud — Part 1: Backends for Frontends
- ☑ Service Architecture at SoundCloud — Part 2: Value-Added Services
Containers
- ☑ A Beginner-Friendly Introduction to Containers, VMs and Docker
- ☑ Moving from Docker to rkt
- ☑ I just want to run a container!
- ☐ Webinar Series: Getting Started with Containers
- ☑ Systemd vs. Docker
- ☐ Systemd and Containers: An Introduction to systemd-nspawn
Big Data
- ☐ Open Source Big Data Landscape
- ☐ Hadoop, Storm, Samza, Spark, and Flink: Big Data Frameworks Compared
- ☐ Stream-based Architecture
- ☐ 125 open source Big Data architecture papers for data professionals.
- ☐ Log Analysis with Spark
- ☐ Apache Storm
- ☐ Apache Flink
- ☐ Apache Flume
- ☐ Architecting BigData for Real Time Analytics
- ☐ Re-Structure Ahead in Big Data & Spark
- ☐ Getting Started with Big Data Architecture
- ☐ Case Study of Batch Processing with Spring Cloud Data Flow Server in Cloud Foundry
- ☐ The Future of Data Engineering: Chris Riccomini at QCon San Francisco
- ☑ Streaming SQL to Unify Batch & Stream Processing w/ Apache Flink @Uber
- ☑ The Whys and Hows of Database Streaming
Hadoop
- ☑ The Hadoop Ecosystem Table
- ☑ Hadoop 3.0 improvements (Q&A with Saumitra Buragohain on Hortonworks Data Platform 3.0)
Kafka
- ☐ Cloud-Native and Scalable Kafka Architecture
- ☐ Kafka as Streaming Transport
- ☐ Flafka: Apache Flume Meets Apache Kafka for Event Processing
- ☐ Publishing with Apache Kafka at The New York Times
- ☐ Traffic Data Monitoring Using IoT, Kafka and Spark Streaming
- ☐ Migrating Batch ETL to Stream Processing: A Netflix Case Study with Kafka and Flink
- ☐ Kafka Streams: Catching Data in the Act (Part 1)
ElasticSearch
Serialization
- ☑ Protocol Buffer vs Thrift vs Avro
- ☑ Thrift vs Protocol Buffers vs Avro - Biased Comparison]
- ☐ Schema evolution in Avro, Protocol Buffers and Thrift
Protobuf
- open source,
- ☐ written in c++
- supports {C++, Java, Python, Javascript} plust thrd third-party
- smallER, fastER, IDL-to-code-generation
Thrift
- Apache
- open source
- ☐ written in c++
- supports {C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi}, RPC
- small, fast, IDL-to-code-generation
Avro
- Apache
- open source
- ☐ written in java
- supports {Java, C, C++, C#, Python, Ruby}
- interoperability (Binary or JSON, read and write Protobuf and Thirft), JSON schema, does not need to be generated, RPC, splitable by hadoop mapreduce
Infra
AWS
Lambda
Java
- ☑ Implementing a Maven Archetype to Generate Spring Boot-Based Services
- ☐ A Quick Catch up Before Java 11
Ruby
Jamal
Cloud Computing
- ☑ Cloud Computing for Beginners
- ☑ Cloud Computing AWS: Introduction to EC2
- ☐ AWS Cloud Practicitoner Essentials
Infrastructure as Code
- ☐ Setting up and executing basic Ansible playbook
- ☐ 10 Things you should start using in your Ansible Playbook
Continuous Delivery and Continuous Deployment
- ☐ Exploring new frontiers in CI/CD and DevOps
- ☐ Martin Fowler ContinuousDelivery
- ☐ Martin Fowler Continuous Integration
- ☑ Best practices for continuous integration and delivery - Google Cloud
Tests
- ☐ The Practical Test Pyramid
- ☐ Martin Fowler Test Pyramid
- ☐ Unit Testing with JUnit - Tutorial
- ☐ Mocks Aren't Stubs
- ☐ Write tests. Not too many. Mostly integration
Devops
- ☐ Tips for High Availability
- ☑ A Beginner-Friendly Introduction to Containers, VMs and Docker
- ☐ Monitoring and Observability
- ☐ Observability and Instrumentation
- ☐ Monitoring and Observability
- ☐ Understanding Devops
Software Architecture
- ☑ Modelling Reactive Systems with Event Storming and Domain-Driven Design
- ☐ Reactive Architecture
- ☐ Martin Fowler Microservices
- ☐ Resiliency in Distributed Systems