Media is too big
VIEW IN TELEGRAM
10. Considerations Q&A
Erik answers student questions about domain-driven design and when to re-implement or re-architect an existing system.
#lesson
Erik answers student questions about domain-driven design and when to re-implement or re-architect an existing system.
#lesson
Media is too big
VIEW IN TELEGRAM
11. Requirements
Erik explains that the implementation process consists of three stages: research, implementation, and iteration. He discusses setting requirements, understanding user expectations, determining functionality, considering performance and constraints, and addressing scalability, security, and regulatory requirements.
#lesson
Erik explains that the implementation process consists of three stages: research, implementation, and iteration. He discusses setting requirements, understanding user expectations, determining functionality, considering performance and constraints, and addressing scalability, security, and regulatory requirements.
#lesson
Media is too big
VIEW IN TELEGRAM
12. Research
Erik discusses how to choose the right tools for the job by defining the project requirements and exploring different options. He also emphasizes the value of technical documentation in documenting and sharing the research and exploration process and facilitating communication and collaboration.
#lesson
Erik discusses how to choose the right tools for the job by defining the project requirements and exploring different options. He also emphasizes the value of technical documentation in documenting and sharing the research and exploration process and facilitating communication and collaboration.
#lesson
Media is too big
VIEW IN TELEGRAM
13. Development
Erik discusses the development process after creating a workflow or diagram. He discusses the handoff between the principal engineer and the developer, highlighting the need for collaboration and communication. He also covers testing the architecture and the importance of integration tests.
#lesson
Erik discusses the development process after creating a workflow or diagram. He discusses the handoff between the principal engineer and the developer, highlighting the need for collaboration and communication. He also covers testing the architecture and the importance of integration tests.
#lesson
Media is too big
VIEW IN TELEGRAM
14. Maintenance
Erik discusses the importance of maintaining a system after it has been deployed and how it can impact the overall design. He also covers best practices such as using a modular approach, planning for scalability, ensuring robustness and flexibility, addressing security concerns, keeping up with technology trends, and incorporating user feedback to continuously improve the system.
#lesson
Erik discusses the importance of maintaining a system after it has been deployed and how it can impact the overall design. He also covers best practices such as using a modular approach, planning for scalability, ensuring robustness and flexibility, addressing security concerns, keeping up with technology trends, and incorporating user feedback to continuously improve the system.
#lesson
Media is too big
VIEW IN TELEGRAM
15. Monolithic Architectures
Erik discusses monolithic architecture as a model where all the necessary code and components for a software application are combined into a single unit. He highlights the pros of monolithic architecture, such as simplicity, testing, and efficiency. However, he also mentions the cons, including limited scalability, lack of flexibility, and complexity.
#lesson
Erik discusses monolithic architecture as a model where all the necessary code and components for a software application are combined into a single unit. He highlights the pros of monolithic architecture, such as simplicity, testing, and efficiency. However, he also mentions the cons, including limited scalability, lack of flexibility, and complexity.
#lesson
Media is too big
VIEW IN TELEGRAM
16. Monolithic Use Cases
Erik discusses that monoliths are suitable for small-scale applications or startups where the application scope is clear and unlikely to drastically change or scale. He also addresses students' questions regarding scaling monoliths, security concerns, and sharing types between frontend and backend.
#lesson
Erik discusses that monoliths are suitable for small-scale applications or startups where the application scope is clear and unlikely to drastically change or scale. He also addresses students' questions regarding scaling monoliths, security concerns, and sharing types between frontend and backend.
#lesson
Media is too big
VIEW IN TELEGRAM
17. Distributed Architectures
Erik discusses the differences between generic services and microservices, emphasizing the importance of correctly designing microservices. He highlights the benefits of service-oriented architectures, such as continuous delivery, deployment of large applications, and faster time to market for new features.
#lesson
Erik discusses the differences between generic services and microservices, emphasizing the importance of correctly designing microservices. He highlights the benefits of service-oriented architectures, such as continuous delivery, deployment of large applications, and faster time to market for new features.
#lesson
This media is not supported in your browser
VIEW IN TELEGRAM
18. Generic Services
Erik discusses generic services as part of a monolithic application or a distributed system, and highlights the benefits of separating front-end and back-end services, such as scalability, fault tolerance, and easier deployment and management. Erik also mentions that this separation allows for better security, as the front-end and back-end are isolated from each other, reducing the risk of unauthorized access to the database.
#lesson
Erik discusses generic services as part of a monolithic application or a distributed system, and highlights the benefits of separating front-end and back-end services, such as scalability, fault tolerance, and easier deployment and management. Erik also mentions that this separation allows for better security, as the front-end and back-end are isolated from each other, reducing the risk of unauthorized access to the database.
#lesson
Media is too big
VIEW IN TELEGRAM
19. Microservices
Erik explains that microservices are small, independent, and loosely coupled services that run in their own process. He discusses the importance of separation between microservices, as well as the use of protocols like HTTP/REST or messaging queues for communication between services. He also mentions the possible benefits of using Go and gRPC for building microservices.
#lesson
Erik explains that microservices are small, independent, and loosely coupled services that run in their own process. He discusses the importance of separation between microservices, as well as the use of protocols like HTTP/REST or messaging queues for communication between services. He also mentions the possible benefits of using Go and gRPC for building microservices.
#lesson
Media is too big
VIEW IN TELEGRAM
20. Microservices Q&A
Erik answers students' questions regarding having databases in the same service and communication between microservices, such as RESTful transactions, event-based systems, and queues, and emphasizes the need to consider latency and adapt to specific requirements.
#lesson
Erik answers students' questions regarding having databases in the same service and communication between microservices, such as RESTful transactions, event-based systems, and queues, and emphasizes the need to consider latency and adapt to specific requirements.
#lesson
Media is too big
VIEW IN TELEGRAM
21. Distributed Pros & Cons
Erik highlights the benefits of independent development and deployment in service-oriented architecture. He also discusses the challenges and complexities that come with distributed systems, such as the need for developers to consider how other systems work and the difficulties in development, testing, and data management.
#lesson
Erik highlights the benefits of independent development and deployment in service-oriented architecture. He also discusses the challenges and complexities that come with distributed systems, such as the need for developers to consider how other systems work and the difficulties in development, testing, and data management.
#lesson
Media is too big
VIEW IN TELEGRAM
22. Distributed Use Cases
Erik provides use cases for distributed service-oriented architecture such as e-commerce platforms, social media platforms, streaming services, online gaming platforms, and large-scale IoT systems. He explains how decoupling systems and dividing functionalities into separate microservices can improve performance, scalability, and user experience in these different use cases.
#lesson
Erik provides use cases for distributed service-oriented architecture such as e-commerce platforms, social media platforms, streaming services, online gaming platforms, and large-scale IoT systems. He explains how decoupling systems and dividing functionalities into separate microservices can improve performance, scalability, and user experience in these different use cases.
#lesson
This media is not supported in your browser
VIEW IN TELEGRAM
23. Serverless Architectures
Erik introduces serverless architecture and explains that serverless doesn't just mean functions as a service (FaaS), but also includes backend as a service (BaaS) platforms like Firebase and Superbase. He highlights that serverless involves shifting the responsibility of infrastructure management to the cloud provider, letting developers concentrate on running their code without worrying about scalability or uptime.
#lesson
Erik introduces serverless architecture and explains that serverless doesn't just mean functions as a service (FaaS), but also includes backend as a service (BaaS) platforms like Firebase and Superbase. He highlights that serverless involves shifting the responsibility of infrastructure management to the cloud provider, letting developers concentrate on running their code without worrying about scalability or uptime.
#lesson
Media is too big
VIEW IN TELEGRAM
24. Serverless, API Gateways, & Lambdas
Erik discusses hosting a serverless front-end in an S3 bucket, eliminating the need for constantly running processes and saving costs. He also discusses the use of an API gateway to connect serverless functions and the scalability and cost-effectiveness of serverless databases like DynamoDB.
#lesson
Erik discusses hosting a serverless front-end in an S3 bucket, eliminating the need for constantly running processes and saving costs. He also discusses the use of an API gateway to connect serverless functions and the scalability and cost-effectiveness of serverless databases like DynamoDB.
#lesson
Media is too big
VIEW IN TELEGRAM
25. Serverless Pros & Cons
Erik discusses the pros and cons of serverless architecture. He highlights the benefits of not having to manage servers, cost savings based on usage, and automated scaling capabilities. He also mentions the potential drawbacks, such as increased costs for long-term applications, difficulties in testing due to reliance on the internet, and troubleshooting and debugging complexities when relying on third-party services.
#lesson
Erik discusses the pros and cons of serverless architecture. He highlights the benefits of not having to manage servers, cost savings based on usage, and automated scaling capabilities. He also mentions the potential drawbacks, such as increased costs for long-term applications, difficulties in testing due to reliance on the internet, and troubleshooting and debugging complexities when relying on third-party services.
#lesson
This media is not supported in your browser
VIEW IN TELEGRAM
26. Serverless Use Cases
Erik provides various use cases for serverless computing including real-time file processing, ETL (Extract, Transform, Load) processes, and serving static websites. He emphasizes the cost-effectiveness and ease of management that serverless offers for these use cases.
#lesson
Erik provides various use cases for serverless computing including real-time file processing, ETL (Extract, Transform, Load) processes, and serving static websites. He emphasizes the cost-effectiveness and ease of management that serverless offers for these use cases.
#lesson
Media is too big
VIEW IN TELEGRAM
27. Evolution of Backend System Architectures
Erik discusses the evolution of backend system architectures, starting with a monolith, splitting the monolith into services, and finally, serverless architecture.
#lesson
Erik discusses the evolution of backend system architectures, starting with a monolith, splitting the monolith into services, and finally, serverless architecture.
#lesson
Media is too big
VIEW IN TELEGRAM
28. Amazon & Netflix Backend Systems
Erik discusses how Amazon utilizes a microservices architecture and how they built their own infrastructure and software to solve instead of leaning on another provider. He also discusses how Netflix employs a hybrid of serverless and microservice architectures and how they have designed their architecture to solve specific problems within the company.
#lesson
Erik discusses how Amazon utilizes a microservices architecture and how they built their own infrastructure and software to solve instead of leaning on another provider. He also discusses how Netflix employs a hybrid of serverless and microservice architectures and how they have designed their architecture to solve specific problems within the company.
#lesson
This media is not supported in your browser
VIEW IN TELEGRAM
29. Google & Uber Backend Systems
Erik explains how Google's search engine architecture has evolved over time, starting with a monolithic architecture and eventually transitioning to microservices. He also highlights how Uber expanded its services by transitioning from a monolithic to a microservice architecture, allowing them to scale and customize their services for different markets.
#lesson
Erik explains how Google's search engine architecture has evolved over time, starting with a monolithic architecture and eventually transitioning to microservices. He also highlights how Uber expanded its services by transitioning from a monolithic to a microservice architecture, allowing them to scale and customize their services for different markets.
#lesson
Media is too big
VIEW IN TELEGRAM
30. Wrapping Up
Erik wraps up the course by discussing the importance of seeking out blogs and resources from reputable sources to expand your understanding and exposure to new ideas and backend architectures. He also highlights the main conclusions to take away from this course, including systematic planning, flexibility and scalability, and continuous learning.
#lesson
Erik wraps up the course by discussing the importance of seeking out blogs and resources from reputable sources to expand your understanding and exposure to new ideas and backend architectures. He also highlights the main conclusions to take away from this course, including systematic planning, flexibility and scalability, and continuous learning.
#lesson