All Projects → NikAshanin → Software Architect Cheat Sheet

NikAshanin / Software Architect Cheat Sheet

Projects that are alternatives of or similar to Software Architect Cheat Sheet

Vaquarkhan
Stars: ✭ 1,199 (+1162.11%)
Mutual labels:  architecture
App Test Arch
Android 单元测试、Monkey、LeakCanary测试demo项目【粗略示例】
Stars: ✭ 90 (-5.26%)
Mutual labels:  architecture
Aws Lambda Vpc Nat Examples
Example of setting up AWS lambda function with VPC and NAT
Stars: ✭ 92 (-3.16%)
Mutual labels:  architecture
Suas Android
Unidirectional data flow architecture implementation for Android
Stars: ✭ 80 (-15.79%)
Mutual labels:  architecture
Fisco Bcos Doc
Document of FISCO BCOS
Stars: ✭ 86 (-9.47%)
Mutual labels:  architecture
Ios Architectures
Sample app for iOS architectures
Stars: ✭ 90 (-5.26%)
Mutual labels:  architecture
Awesome Architecture
架构师技术图谱,助你早日成为架构师
Stars: ✭ 8,843 (+9208.42%)
Mutual labels:  architecture
Cleanarchitecture
Android Kotlin Clean Architecture
Stars: ✭ 94 (-1.05%)
Mutual labels:  architecture
Microservices Architecture Guidelines
Designing a Microservices Architecture
Stars: ✭ 86 (-9.47%)
Mutual labels:  architecture
Cake Slayer
🍰🔪 Architecture of Haskell backend applications
Stars: ✭ 92 (-3.16%)
Mutual labels:  architecture
Monday
⚡️ A dev tool for microservice developers to run local applications and/or forward others from/to Kubernetes SSH or TCP
Stars: ✭ 1,246 (+1211.58%)
Mutual labels:  architecture
Ribot Android Boilerplate Kotlin
Kotlin version of android boilerplate app that showcases architecture and libraries used at ribot http://ribot.co.uk
Stars: ✭ 85 (-10.53%)
Mutual labels:  architecture
Freecad
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler. Issues are managed on our own bug tracker at https://www.freecadweb.org/tracker
Stars: ✭ 10,366 (+10811.58%)
Mutual labels:  architecture
Architecture Center
Azure Architecture Center
Stars: ✭ 1,207 (+1170.53%)
Mutual labels:  architecture
Architecture.wechat Tencent
互联网公司架构: 微信技术架构, 腾讯技术架构
Stars: ✭ 1,315 (+1284.21%)
Mutual labels:  architecture
React Cognito Auth
A sample authentication app implemented with a server-less architecture, using cognito User Pools, API Gateway, react
Stars: ✭ 76 (-20%)
Mutual labels:  architecture
Alfonz
Mr. Alfonz is here to help you build your Android app, make the development process easier and avoid boilerplate code.
Stars: ✭ 90 (-5.26%)
Mutual labels:  architecture
1975
1975 - Modelando Domínios Ricos
Stars: ✭ 94 (-1.05%)
Mutual labels:  architecture
Measureit arch
An expansion of Antonio Vazquez's MeasureIt addon to add features to create Architectural Drawings in Blender 2.8
Stars: ✭ 93 (-2.11%)
Mutual labels:  architecture
Easymvp
A full-featured framework that allows building android applications following the principles of Clean Architecture.
Stars: ✭ 1,312 (+1281.05%)
Mutual labels:  architecture

System design cheat sheet

It can be used for interviews or assessments.

1. Understand problem and scope:

  • Recognize stakeholders and prioritize them. Create RACI matrix
  • Understand business drivers of the project
  • Recognize end-users of the project and understand how they will use that system
  • Check functional requirements
  • Define external dependencies
  • Suggest additional features
  • Remove items that interviewer considers out of scope

2. Think about constraints and non-functional requirements:

  • (use PASS ME if you do not remember all of NFRs)
  • Recognize number of users
  • Estimate users growth rate (for the next year/next 5 years)
  • Define average response time
  • Understand database size (current / for the next year/ for the next 5 years)
  • Understand storage size (current / for the next year/ for the next 5 years)
  • Recognize security needs
  • Define acceptable downtime of the system
  • Recognize number of requests (per month/per second)
  • Estimate reads vs. writes operations percentage
  • Define time to market
  • Check customer related nfr: legacy/proprietary soft, etc

3. Detect Architecture Significant Requirements

  • Mix between FRs and NFRs to detect ASRs

4. Abstract design:

  • Choose which architectural views to define based on the stakeholders matrix. Use common C4/4+1/etc otherwise
  • Choose Architecture Style (Monolith, SOA - microservices, layered architecture, etc)
  • Choose between cloud solution or on-premise servers
  • Consider authentication/authorization and privacy
  • Suggest security rules and protocols
  • Define infrastructure: load balancing, messaging
  • Make rough overview of any key algorithm that drives the service
  • Consider bottlenecks and determine solutions
  • Choose storage type (SQL or NoSQL)
  • Understand what data should be cached and how to improve performance/security/availability with caching
  • Choose monitoring system and logging. Analytics and automatically reboot system in case of exceptions
  • Define separation between public and restricted areas
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].