└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Backend-Architecture 2 | A single point of reference to start learning about backend. 3 | 4 | If you are trying to dive into the world of backend-architecture and are overwhelmed with the information out there, here is concise and currated list for you to start. If you find it helpful, don't forget to star and share it. 5 | 6 | ## Index 7 | - [Basic Information as you start](#basic-information-as-you-start) 8 | - [Microservice Architecture](#microservice-architecture) 9 | - [Monolith vs Microservice](#monolith-vs-microservice) 10 | - [Scalable Infrastucture](#scalable-infrastructure) 11 | - [Engineering Blogs of Tech Companies](#engineering-blogs-of-tech-companies) 12 | - [Interesting Articles](#interesting-articles) 13 | - [Miscellaneous](#miscellaneous) 14 | - [Dedicated Websites](#dedicated-websites) 15 | - [MOOCs](#moocs) 16 | 17 | ## Basic Information as you start 18 | 19 | 1. [Back-end Architechture](https://www.codecademy.com/articles/back-end-architecture) 20 | - The article describes an overview of servers, databases and routing. 21 | 2. [Getting started with Backend Developmen](https://codeburst.io/getting-started-with-backend-development-bfd8299e22e8) 22 | - A basic intro into what backend is along with some info on frameworks 23 | 3. [What is Backend Developer](https://www.guru99.com/what-is-backend-developer.html) 24 | - A basic overview on backend developer 25 | 4. [Introduction to Monolith Architecture and Microservices Architecture](https://medium.com/koderlabs/introduction-to-monolithic-architecture-and-microservices-architecture-b211a5955c63) 26 | - An overview on two most popular architecture 27 | 5. [What is Continuous Integration/Continuous Delivery](https://dzone.com/articles/what-is-cicd) 28 | - The fundamental cornerstones of any DevOps 29 | 6. [CAP Theorem](https://blog.andyet.com/2014/10/01/right-database/) 30 | - Introduction to CAP theorem and its trade-offs 31 | 7. [SQL vs NoSQL](https://www.upwork.com/hiring/data/sql-vs-nosql-databases-whats-the-difference/) 32 | - Detailed article on both the database systems 33 | 8. [ACID vs BASE](https://neo4j.com/blog/acid-vs-base-consistency-models-explained/) 34 | - Basics of both consistency models 35 | 36 | ## Microservice Architecture 37 | 38 | 1. [Dedicated website with detailed content](https://martinfowler.com/microservices/) 39 | 2. [Large collection of articles related to Microservices](https://dzone.com/microservices-news-tutorials-tools) 40 | 3. [Microservices in Practice: Architecture to Deployment](https://dzone.com/articles/microservices-in-practice-1) 41 | 42 | ## Monolith vs Microservice 43 | 44 | 1. [Should you always start with Monolith?](https://buttercms.com/books/microservices-for-startups/should-you-always-start-with-a-monolith) 45 | - An amazing blog where the author gives insights based on his interviews with some of the CTOs. 46 | 2. [Monolithic vs. Microservices Architecture](https://articles.microservices.com/monolithic-vs-microservices-architecture-5c4848858f59) 47 | 48 | 3. [Monolithic vs. Microservices Architecture: Which is Right for Your App](https://mlsdev.com/blog/128-microservices-vs-monoliths-how-to-understand-when-it-s-time-to-use-the-former-option) 49 | 50 | 4. [Monolithic Architecture vs. Microservices: Choosing the Right Architecture for the Project](https://yellow.systems/blog/monolithic-architecture-vs-microservices-choosing-the-right-architecture-for-the-project) 51 | 52 | ## Communication Protocols in Microservices in Ballerina 53 | 54 | 1. [Grpc](https://github.com/ballerina-guides/grpc-service) 55 | 2. [RestFul](https://github.com/ballerina-guides/restful-service) 56 | 57 | ## Scalable Infrastructure 58 | 59 | 1. [Designing scalable backend infrastructures from scratch](https://medium.com/@helloansh/designing-scalable-backend-infrastructures-from-scratch-af80f5767ccc) 60 | 61 | ## Engineering Blogs of Tech Companies 62 | 63 | 1. [Facebook Engineering Blog](https://engineering.fb.com/web/welcome-to-the-facebook-engineering-blog/) 64 | 2. [Uber Engineering Blog](https://eng.uber.com/) 65 | 3. [Netflix Tech Blog](https://medium.com/netflix-techblog) 66 | 4. [Paypal Engineering](https://medium.com/paypal-engineering) 67 | 5. [Pinterest Engineering](https://medium.com/pinterest-engineering) 68 | 6. [Hotstar](https://blog.hotstar.com/tagged/engineering) 69 | 7. [Swiggy Engineering Blog](https://blog.hotstar.com/tagged/engineering) 70 | 71 | ## Interesting Articles 72 | 73 | 1. [7 years of youtube scalability lessons in 30 minutes](http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html) 74 | 2. Apache Kafka for Large Scale Applications 75 | - (https://blog.twitter.com/engineering/en_us/topics/infrastructure/2020/streaming-logging-pipeline-of-home-timeline-prediction-system.html) 76 | - (https://blog.twitter.com/engineering/en_us/a/2015/handling-five-billion-sessions-a-day-in-real-time.html) 77 | - (https://www.confluent.io/blog/how-kafka-is-used-by-netflix/) 78 | - (https://medium.com/@NetflixTechBlog/inca-message-tracing-and-loss-detection-for-streaming-data-netflix-de4836fc38c9) 79 | - (https://netflixtechblog.com/keystone-real-time-stream-processing-platform-a3ee651812a) 80 | - (https://engineering.linkedin.com/blog/2019/apache-kafka-trillion-messages) 81 | 82 | ## Miscellaneous 83 | 84 | 1. [System Design Primer](https://github.com/donnemartin/system-design-primer) 85 | 2. [DevOps-Guide](https://github.com/Tikam02/DevOps-Guide) 86 | 3. [Collection of CI/CD Tutorials](https://dzone.com/articles/the-complete-cicd-collection-tutorials) 87 | 88 | ## Dedicated Websites 89 | 90 | 1. [High Scalability](http://highscalability.com/) 91 | - Highly respected among the tech community with blogs covering the entire spectrum of backend infrastructure 92 | 2. [Microservices Practitioner Articles](https://articles.microservices.com/) 93 | - A collection of blogs that give detailed use cases of Microservice architecture 94 | 3. [Microservice Architecture](https://microservices.io/index.html) 95 | - A detailed list of articles explaining Microservice achitecture with detailed infographics 96 | 97 | ## MOOCs 98 | 99 | 1. [CS 436: Distributed Computers](https://www.youtube.com/playlist?list=PLawkBQ15NDEkDJ5IyLIJUTZ1rRM9YQq6N) 100 | - Classroom lecture videos for CS 436, Recorded Winter 2012, University of Waterloo, Instructor: S. Keshav. 101 | 102 | ## Great Projects to Learn from 103 | 104 | 1. Event Sourcing and CQRS 105 | - (https://github.com/cer/event-sourcing-examples) 106 | - (https://github.com/eventuate-tram/eventuate-tram-examples-java-spring-todo-list) 107 | 108 | 2. [Microservices Demo on Google Cloud Platform](https://github.com/GoogleCloudPlatform/microservices-demo) 109 | 110 | 111 |
112 | 113 | As I embark on the journey to understand the world of servers, database, or infrastrucutre in general, I thought it would be a good Idea to make a list of blogs/resources that helped me along the way. 114 | --------------------------------------------------------------------------------