Getting the Basics - Software Architecture Introduction (part 1)

Поделиться
HTML-код
  • Опубликовано: 12 дек 2024

Комментарии • 298

  • @ADevStory
    @ADevStory  5 месяцев назад

    Hey folks!👋 Want to have hands-on practice on these concepts? 🤓
    Try out CodeCrafters.io we have partnered and you can get 40% off 💸with this link: app.codecrafters.io/join?via=DevStory
    They have great hands-on tutorials and easy to get up to speed with complex systems. Check them out!

  • @onhazrat
    @onhazrat Год назад +2

    🎯 Key Takeaways for quick navigation:
    00:00 🏢 Software architecture involves planning, designing, and constructing software solutions, combining art and science like architecture in buildings.
    01:00 🏛️ Software architecture focuses on the structure and important decisions that impact quality and cost-effectiveness.
    02:02 📈 Non-functional requirements (e.g., scalability, reliability) and restrictions (e.g., legal compliance) play a crucial role in software architecture.
    03:25 🎯 Prioritization is key; some requirements may conflict, and trade-offs must be made.
    04:27 💡 Start with one important aspect at a time in architecture design, avoid over-engineering, and follow the "You Ain't Going to Need It" (YAGNI) principle.
    05:29 🏗️ Layered architecture is a common approach, dividing the system into database, logic, and UI layers.
    06:28 🔄 The architecture can evolve over time, and different architectural patterns should be considered based on the use case.
    07:25 🌐 Scaling is a critical consideration in architecture, and it's important to plan for scalability when serving a large number of user requests.
    Made with HARPA AI

  • @vikscta
    @vikscta 3 года назад +117

    I have been looking for a simple explanation of Software Architecture for a long time and then stumbled upon this video. So happy that I found this, the concepts are made very clear and appreciate the tutor taking us thru the definitions in simple words. Kudos!!

    • @ADevStory
      @ADevStory  3 года назад +2

      Thank you! Glad you enjoyed it!

  • @прикоп3см
    @прикоп3см 3 года назад +48

    I am from Russia, I watched your video for 30 minutes (all unfamiliar words were translated for me). but your video made me very happy. thanks for this (:

    • @ADevStory
      @ADevStory  3 года назад +3

      Glad to hear this! If there's anything I can do to make it easier let me know. I don't speak Russian but I set the subtitles in English so it's easier to read. Hopefully that helps;

    • @прикоп3см
      @прикоп3см 3 года назад +6

      @@ADevStory Yes. your subtitles helped me a lot. otherwise I won't understand your video completely. thank you for your time

    • @ADevStory
      @ADevStory  3 года назад

      Anytime!

  • @amirhoseinbk0019
    @amirhoseinbk0019 3 года назад +32

    Thank you I think every programmer have to learn software architect after learning a programming language and a framework but information in internet are not practical most of time , thanks again ❤️

    • @ADevStory
      @ADevStory  3 года назад

      Glad it was useful! :)

  • @nikolatesla399
    @nikolatesla399 Год назад +3

    Finally youtube recommended me this amazing video after two years

    • @ADevStory
      @ADevStory  Год назад

      Nice! Hope you liked it!

  • @iShobhakar
    @iShobhakar 10 месяцев назад +2

    I love this way , and I am searching for this approach only where people don’t think about technical words but do align with the some practical examples. I really appreciate this and very thankful for sharing and serving to community

    • @ADevStory
      @ADevStory  10 месяцев назад

      Thank you very much! Glad you liked it! Let me know if you have other topics you'd like me to cover.

  • @MyHealth100
    @MyHealth100 Год назад +2

    I was struggling to kick start the journey of Architecture learning. Finally found the best place to begin. Thanks a ton for a beautiful and simple explanation. 💯

    • @ADevStory
      @ADevStory  Год назад

      Glad to hear that! Good luck in your journey!

  • @marianemashkalo4182
    @marianemashkalo4182 3 года назад +10

    Great video, special thanks for the free ebook reference. I just started working as a Business Analyst and I need understanding that on a fundamental level, even if I'm not coding.
    Thanks a lot!

    • @ADevStory
      @ADevStory  3 года назад +1

      Glad it was useful! 😁 Feel free to suggest additional topics that may be interesting

  • @MbonisiM
    @MbonisiM Год назад +1

    I loved the beginning of this part 0.30

  • @KudaMan
    @KudaMan Год назад +4

    Using practical engineering fields to extrapolate onto software engineering is so helpful since we can't materially see the inner workings of the products we are using. Good stuff man

  • @joshuaebhoria8046
    @joshuaebhoria8046 2 года назад +1

    your introduction alone was enough for a subscription. THANKS!! for the clarity of the said topic

    • @ADevStory
      @ADevStory  2 года назад

      Oh thank you! Cheers!

  • @GuilleMorton
    @GuilleMorton 8 месяцев назад +2

    Love it! I've just decided to go all in into software architecture. This is a great place to start

    • @ADevStory
      @ADevStory  7 месяцев назад +1

      Glad you found it useful! Thanks for the feedback! Let me know if there's specific content you'd like to see

    • @GuilleMorton
      @GuilleMorton 7 месяцев назад +1

      @@ADevStory DDD and hexagonal architecture. Basically to know if it's worth it

    • @ADevStory
      @ADevStory  7 месяцев назад +1

      Sounds good!

  • @tush800
    @tush800 2 года назад +2

    Thanks, your simple way of explaining is priceless

    • @ADevStory
      @ADevStory  2 года назад

      Thank you for the feedback! Glad you enjoyed it!

  • @reinesstory2659
    @reinesstory2659 3 года назад +2

    Building a site ...
    What the system should do ?(Functional requirements)
    Search inventory
    Check reviews
    Buy a product
    Review past orders
    How should a system behave?(Non-functional requirements)
    Maintainability(work for several yrs)
    Scalability(able to serve millions)
    Reliability(available 24/7)
    Efficiency(Short response latency)
    Restriction-
    Legal compilance
    Time to market
    Cost
    Standards
    Talent hiring
    Prioritize-
    Some of the restrictions and requirements can conflict for eg - portability vs scalability/maintainability
    After prioritizing we need to think if it will be acceptable or not then we star designing the architecture.
    How to design architecture ?
    Try to tackle one thing at a time.
    Recommended book- Software architecture pattern.

  • @chtdv
    @chtdv 3 года назад +8

    Best introductory content on software architecture I've ever seen so far, thanks for the hard work!

    • @ADevStory
      @ADevStory  3 года назад

      Thanks! Glad you enjoyed it!

  • @henrypellowski3394
    @henrypellowski3394 2 года назад +12

    Not only was the video incredibly informative, but it was one of the cleanest, most beautiful, engaging experiences I've had with a youtube video to date. Very professional. Well done, my man! Subscribed.

    • @ADevStory
      @ADevStory  2 года назад +1

      Thank you! 🙂 Really glad tou enjoyed it so much!

  • @timarthur1884
    @timarthur1884 2 года назад +2

    Good job!
    Sincerely,
    Overengineer

  • @NathanWilkie
    @NathanWilkie 3 года назад +17

    Fantastic overview! The approach is so much clearer than the current textbook I'm reading. Thank you for helping make sense of the topic. Also thanks for the book recommendation.

    • @ADevStory
      @ADevStory  3 года назад

      Thank you! glad you enjoyed it

  • @morganvitale
    @morganvitale 6 месяцев назад +1

    I really enjoyed this playlist on SW Arc. Well done!

    • @ADevStory
      @ADevStory  6 месяцев назад +1

      Oh thank you! Glad you liked it!

  • @amitsingh7684
    @amitsingh7684 2 года назад +2

    Explained in a simplistic manner, easy to understand. Loved It !

    • @ADevStory
      @ADevStory  2 года назад

      Awesome glad you enjoyed it!

  • @meysamkhansari3151
    @meysamkhansari3151 2 года назад +8

    Among numerous contents over the web, I found this simple and clear definition of Software Architecture very very useful. The key success of your content is simplicity. Please continue making more contents about software architecture and development team management in a super super simple way to be understandable for all. Thanks man 🤞

    • @ADevStory
      @ADevStory  2 года назад

      Oh thank you! Glad you enjoyed it!

  • @mohamedlaminecheblaoui1401
    @mohamedlaminecheblaoui1401 Год назад +1

    just wanna thank u, I found it very helpful and I really enjoyed watching this video. thank you for your time.

    • @ADevStory
      @ADevStory  Год назад

      Thank you for watching and sharing your feedback! Glad it was useful!
      If you like a video on a specific topic please let me know

  • @sumant2000
    @sumant2000 2 года назад +2

    When to go for Distributed Systems? --- This was the interview Question, After some quick google search got clues such as Fault / Failure, Parallelism, etc.

    • @ADevStory
      @ADevStory  2 года назад +1

      Yeah it's quite an interesting question. It can depend on multiple things, but distributed systems are way more complex than local systems. All web applications or mobile applications with a backend are distributed, and if you add more communications between systems is even more complex.
      If you can handle the load and the architecture is maintainable in a monolith for example, you can save yourself some headaches. Besides some of the reasons you mentioned, one of the motivations to go with distributed systems or things like Microservices is to scale the organization: being able to split the work with more team without needing so much coordination.

    • @sumant2000
      @sumant2000 2 года назад

      @@ADevStory thanks for the response. Any other channel or way to connect? I am looking for job so need such guidance.

    • @ADevStory
      @ADevStory  2 года назад

      Sure! Reddit: www.reddit.com/user/a_dev_story/ or my LinkedIn: www.linkedin.com/in/cvielma/?original_referer=

  • @marcelukeje3510
    @marcelukeje3510 5 месяцев назад

    I love how you started the video.
    Great work Christian❤

    • @ADevStory
      @ADevStory  5 месяцев назад

      Thank you! Glad you liked it!

  • @manga_Anime
    @manga_Anime 2 года назад +1

    i was leaving as sound of video was damn slow, but read comments and watched whole video. Gr8 content.

    • @ADevStory
      @ADevStory  2 года назад

      Thanks for the chance and to the people like you leaving comments!
      Always learning and specially learning on how to edit videos and record sound 🤣 latest videos hopefully are better

  • @sebastianchavez2172
    @sebastianchavez2172 2 года назад +2

    Hello! I’ve been wanting to look at videos on careers to see what I enjoyed the most. Thankfully I found this career and hoping I actually make it. I adore your content, keep up the amazing work! Much love!

    • @ADevStory
      @ADevStory  2 года назад

      Thank you! And good luck in this career!

  • @raitup00
    @raitup00 9 месяцев назад +1

    La intro me gustó ❤

  • @davidmargulis8542
    @davidmargulis8542 3 года назад +6

    For me this is very helpful. Presented in a very clear, structured and short ( without overengineering :)) way. Definitely will watch the rest of videos in the playlist. Subscribed. Thanks a lot.

  • @ntcuong01ct1
    @ntcuong01ct1 2 года назад +1

    Dear Friends,
    When I design a software system, I divide it into 3 categories:
    1/ Conceptual: I will state the names of the software that will respond to the requirements of the business process from users, describe the names of the software to be processed and the behaviors.
    2/ Logical: I can define software architecture by applying architectural pattern in this step and I will include constraints on availability, scalability, maintainability. I also describe in detail the function of each component. This step
    3/ Physical: Define programming language, platform to realize the description in Logical step.
    Could you recommend?. Thank you.

  • @fabianaleonardi981
    @fabianaleonardi981 Год назад +1

    Great video! I work in a start-up and we have multiple customizez software design for our needs (Admin panel, App, POS, Shopify), but no documentation at all. So we want to start doing our Architecture system documentation, but no idea to how to start, there're is lot of info. What kind of professional does this task? A solution architect? we might need a profesional guidance for sure.

    • @ADevStory
      @ADevStory  Год назад

      Oh wow, you have a good challenge on your hands!
      So a developer with some time can help. No need for a solution architect (unless the tools are very common or standard and you can find experts). There are different ways to document architectures (for example the 4+1 view model: en.wikipedia.org/wiki/4%2B1_architectural_view_model) but being pragmatic I would start from a very high overview to the details. For example:
      - Start first with network communications: Which systems need to talk to which other systems? Does the Admin Panel talk to a database? does it talk to Shopify? these type of things. If you can have a big space for a diagram (in a whiteboard or diagramming tools like Miro) you can add it incrementally over some time.
      - Then continue going into more and more details. For example: Why does system A need to talk to system B? (there will probably be an API, like "PurchaseAPI" or something like that) so you can start having some names to those lines.
      In very complex systems it may be hard or time consuming to find all these communications, so I would recommend you to start with the most critical ones (the most used, the most risky, the most buggy, whatever the most critical ones mean to you) instead of trying to do all at once.
      Another approach is to do it by "use cases". Again, pick the most critical use cases for you and dig into the details of what's happening. For example: if the main use case is "user purchase", check all the systems, classes, databases that are affected throughout the interactions.
      Good luck!

    • @fabianaleonardi981
      @fabianaleonardi981 Год назад +1

      Thank you very much for the detailed answer! it has been a great help. @@ADevStory

    • @ADevStory
      @ADevStory  Год назад

      You're welcome!

  • @bmfitzgerald3
    @bmfitzgerald3 3 года назад +2

    Nice job man! Good luck with your channel. You are hitting on some important topics.

  • @pedrofreitaslima
    @pedrofreitaslima 2 года назад +2

    thank you very much, I really liked the content you taught, you made this subject very simple and objective

    • @ADevStory
      @ADevStory  2 года назад

      Thank you! Glad it was useful!

  • @abrahameduardoordoricaisla9103
    @abrahameduardoordoricaisla9103 2 года назад +2

    Simple and clear, thank you so much, now I have a base concept to beginning to study about this topic. Thanks dude!

    • @ADevStory
      @ADevStory  2 года назад

      That was the idea! Glad you found it useful!

  • @sunnyj1967
    @sunnyj1967 2 года назад +1

    Awesome Presentation. Superbly Explained. Many thanks Cheers

  • @mohdshawalsidek1452
    @mohdshawalsidek1452 2 года назад +1

    love to watch and gain knowledge beside hand on and reading programing book.

    • @ADevStory
      @ADevStory  2 года назад

      Yeah. There are different ways to learn that are helpful. Glad you enjoyed the video!

  • @SY-tk2eg
    @SY-tk2eg Год назад +1

    You've earned a subscriber sir!

    • @ADevStory
      @ADevStory  Год назад

      Amazing! Glad you liked it and happy to have you onboard!

  • @curious.biochemist
    @curious.biochemist 7 месяцев назад +1

    As a chemist, I appreciae your T-shirt! ^-^

    • @ADevStory
      @ADevStory  7 месяцев назад

      Hahaha thanks!

  • @nick322
    @nick322 2 года назад

    Don't understand 1:27 "SA is about making the expensive choises that are coslty to change after they are implemented" and the picture shows "anticipate expensive choises"

    • @ADevStory
      @ADevStory  2 года назад

      There are cheap and expensive choices to make when designing software. So for example, changing the parameters of a function is way cheaper than deciding the persistent layer of the application.
      Software architecture is about making those expensive choices wisely. Decide what are the things that are harder to change in your application.
      Hope it's clearer

  • @CombiningMindsPKM
    @CombiningMindsPKM 3 года назад +2

    Great video! Thanks for the simple explanation and great resources.

  • @bryanperez4148
    @bryanperez4148 3 года назад +5

    Great video thank you. One question. What is the difference between Software Architecture and System Design? For developer interviews we are sometimes asked a System Design problem. Isn't this architecture?

    • @ADevStory
      @ADevStory  3 года назад +3

      Some people tend to use them without paying too much attention to the difference (like me :S), but Systems Design is more tilted towards the implementation details while Software Architecture it's more about the "big picture". As I see it, for example, in Software Architecture you would say: "I'll have a 3 layer application with one layer being the persistence layer/database", and when you start designing the system you decide how to actually setup the tables, which indexes you want to create on the data, etc.
      You are not alone in the confusion, I'll leave you with a couple of links with discussions/explanations on the differences. Hopefully they are clearer:
      - stackoverflow.com/questions/704855/software-design-vs-software-architecture
      - medium.com/@concisesoftware/whats-the-difference-between-software-architecture-and-design-b705c2584631

    • @bryanperez4148
      @bryanperez4148 3 года назад +1

      @@ADevStory This is extremely helpful information and resources, thank you so much for sharing this! I am currently at the senior software engineer stage and am looking to eventually grow into a Software Architect role... your channel is very helpful in my journey!
      All the best to you!

    • @ADevStory
      @ADevStory  3 года назад

      Thank you! Glad it has been useful!

  • @JacopoT
    @JacopoT 2 года назад

    Nice Lego Town Hall set in the background! ;)

  • @DanBP21
    @DanBP21 3 года назад +2

    Do you know where I can find an Architecture Design template (just to serve as a reference) for very early-stage startups? Just so it can develop and deploy the MVP. Thanks!

    • @ADevStory
      @ADevStory  3 года назад

      What do you mean by it? Like word documents templates or sample architectures for similar startups?

    • @DanBP21
      @DanBP21 3 года назад

      ​@@ADevStory Sample architectures for similar startups. Basically what type of infrastructure do startups usually use just to build and deploy the MVP? (Let's say... Browser -> Router 53 -> Load Balander -> ECS ... ? )

    • @ADevStory
      @ADevStory  3 года назад

      Oh but you are looking for typical setups if aws/cloud infrastructure. Hard to tell. There are probably other resources on the internet, I'm sorry I don't have them at hand.
      In terms of attitude, my approach would be the same as in this video. If you don't know anything about cloud start with something very basic and the start building more stuff. For example, how would you do it without cloud? Then try to find the equivalent approach in cloud.
      I can think of using a server where I'll deploy my code, so probably EC2 would be the first thing. As you get more knowledge then you can optimize (maybe use lambda) and so on

    • @DanBP21
      @DanBP21 3 года назад

      @@ADevStory Thanks for the detailed reply! I'm thinking about Heroku (for Front, Back and Database). I don't know if you have any thoughts on Heroku, but I don't want to take more of your time asking questions, but thank you so much for spending the time to answer my last question.

    • @ADevStory
      @ADevStory  3 года назад

      @@DanBP21 I haven't personally used Heroku but I've heard good things. It also depends on what you are trying to do in your startup. If you have too many unknowns, try to choose "boring technology" to reduce risks (boringtechnology.club/). With this I mean try to use what you know the most, what you can get more support of or can hire more easily.

  • @Mmv441
    @Mmv441 2 года назад +4

    Very good intro, neat and clear. Thank you for your effort!

    • @ADevStory
      @ADevStory  2 года назад

      Thanks! Glad you enjoyed it!

  • @lucccar
    @lucccar Год назад +1

    Do you think it's fair to have a software architecture interview step for a senior level position?

    • @ADevStory
      @ADevStory  Год назад

      Good question! I would say yes, it's fair. A senior developer must have already worked in multiple systems and it's typically a reference in the team on the technical side.
      What do you think?

  • @Leo-jz3tu
    @Leo-jz3tu 2 года назад +1

    Good vid mate. Thumbs up.

  • @mrestrella4
    @mrestrella4 Год назад +1

    Super Good Video! thank you!

  • @InterviewDOT
    @InterviewDOT 3 года назад +2

    Very nice thanks for sharing 👌🙏 Interviewdot

  • @vampiroast
    @vampiroast Год назад

    Thank you for your video, it is very useful!!! In what moment in time should I decide the architecture to use: layered, microservices, monolithic, micro kernel, etc? and what diagram should I use to describe that?
    Also when should I start to design the visual pages, like in Figma, UML diagrams are too abstract. Also in what diagrams can I put the borders between front-end and back-end, I’ve seen examples when this isn’t portrayed and will be confusing to developers, like in sequence diagrams, it starts with the actor clicking a button and doing something up till the database, but it doesn’t show the borders between UI, app layer, logic layer and database layer, how can a developer know how to organize their code? Still a sequence diagram doesn’t show what fields or tables will be affected, so where do I put all the details. I’m trying to use UML but is too abstract and not enough detailed for a developer, it’s too general, like the Use Case diagrams. Any help? Thanks.

    • @ADevStory
      @ADevStory  Год назад

      So in terms of what type of architecture to use is always tricky, hard and sometimes you may find that the architecture wasn't the best later and need to pivot. In some domains there's a "dominant" or "default" architecture. For example, in web applications typically a layered architecture works well. In high traffic/data driven applications, event driven architecture is commonly used. So in terms of being super practical, unless you have a very clear vision of the things that are different is good to start with the "default architecture" for that domain. You can find similar examples of the type of system you want to build on the internet and start with that base type of architecture. Of course, as you gain more experience, you would have seen more and more systems (some successful and other failures), maybe some built by you that allows you to get a clearer vision.
      There are different views to visualize architecture. One of the most famous/older ones is the 4+1 View Model, that includes different views: en.wikipedia.org/wiki/4%2B1_architectural_view_model. You can of course go with UML but the most important thing is not the type of diagrams you use but the message you want to communicate to others (and yourself!) about the system you are building. So as long as everyone involved in the project can understand all the moving parts feel free to use any type of diagram.
      Hope is clear, let me know if you have more doubts :)

  • @jitendrarawat4089
    @jitendrarawat4089 3 года назад +1

    Hi...good job !
    Can you please make video series on how to secure distributed(micro) services?

    • @ADevStory
      @ADevStory  3 года назад

      I can give it a try! Will add it to my list of topics :) thanks for the suggestion

  • @1981ilyha
    @1981ilyha 2 года назад +1

    Thank you very much for this video! Very simple and very clear!!!

    • @ADevStory
      @ADevStory  2 года назад

      Glad you enjoyed it!

  • @ayeshatariq4815
    @ayeshatariq4815 3 года назад +2

    really like the content, way of delivering, everything smooth and brilliant 👍

  • @MrMARS-yk1yv
    @MrMARS-yk1yv Год назад +1

    Nice video. Thanks a lot

    • @ADevStory
      @ADevStory  Год назад

      You're welcome! Glad you enjoyed it!

  • @Aced_Dreamer
    @Aced_Dreamer 2 года назад +1

    Thank you for this beautiful explanation. ❤

    • @ADevStory
      @ADevStory  2 года назад

      Thank you for watching and the feedback!

  • @emilioortega9487
    @emilioortega9487 4 года назад +1

    I have a question, ins't client-server a type of architecture too ? because they don't talk about it in the book you showed

    • @ADevStory
      @ADevStory  4 года назад

      It's a good question. I'm guessing since all application would have some type client/rendering aspect to it when access by users, so the book is focused on how is that application built instead of how do clients access it. Of course, i recommended the book because: it's short and concise, it's free and it's good, but by no means is exhaustive :)
      Also, keep in mind that some people differentiate between patterns and styles. The book talks about patterns, while client-server can be a style. More on that here: stackoverflow.com/questions/3958316/whats-the-difference-between-architectural-patterns-and-architectural-styles#:~:text=Styles%20generally%20provide%20guidance%20and,(or%20perhaps%20multiple%20styles).

  • @brykappahmed7273
    @brykappahmed7273 3 года назад +2

    The Book od O'Reilley is not available anymore. Could you please write a new working link? Thank you

    • @ADevStory
      @ADevStory  3 года назад

      Oh it seems it's not longer available from that link in O'Reilly. I can't find a new link right now, so maybe by googling for the name you are able to find a new link.
      I can try and check again in the future if O'Reilly fixes/add a new link.

    • @ADevStory
      @ADevStory  3 года назад

      Thanks for reporting it, though

    • @JessiSun
      @JessiSun 3 года назад

      Here is a link to the pdf, hope it helps
      github.com/gg-daddy/ebooks/blob/master/software-architecture-patterns.pdf

  • @abubakarchohan1188
    @abubakarchohan1188 11 месяцев назад +1

    excellent!

  • @DoubleKlaw
    @DoubleKlaw 2 года назад +2

    Great video, I’m new to the field and it’s really an eye opener for me. Thank you

    • @ADevStory
      @ADevStory  2 года назад +1

      Glad it was useful!

  • @automateddude
    @automateddude Год назад +1

    Thanks brother, this really helps!

    • @ADevStory
      @ADevStory  Год назад

      You're welcome! Glad you liked it!

  • @uctrungle6851
    @uctrungle6851 Год назад

    Thank you for sharing! Also, can you recommend some more formal sources for me and others to learn about building a software (preferably books)

    • @ADevStory
      @ADevStory  Год назад

      Sorry it took me so long to reply! Yeah, there are some resources in the description of the video. There are a few, but some of my favorites are:
      - Fundamentals of Software Architecture: An Engineering Approach amzn.to/48mnsyL
      - System Design Interview - An Insider's Guide: Volume 2 amzn.to/460ynwM
      On the free side, I really like GOTO Conferences RUclips channel: www.youtube.com/@GOTO-, Martin Fowler's Blog : martinfowler.com/ or Chris Richardson's blog on Microservices: microservices.io/
      Please let me know if you'd like more resources.

  • @nabilmadih34
    @nabilmadih34 3 года назад +2

    Amazing video and awesome quality love the production. so Helpful!

  • @uDubRiceBoy
    @uDubRiceBoy 2 года назад

    Hey, just want to point out that this is the most comprehensive Software Product Design overview on youtube! Can you share some insight on what is the responsibility of the Product Manager Vs Software Devs?

    • @ADevStory
      @ADevStory  2 года назад

      Glad to hear that!
      In my experience Product Managers should focus on the what and devs on the how. Of course there's collaboration and from my point of view better devs should also get more on to product, and better product mangers should also improve the understanding of the how, but the focus should be the same.

  • @marcosferreira17br
    @marcosferreira17br 2 года назад +1

    Great video, for me this is very helpful...

    • @ADevStory
      @ADevStory  2 года назад +1

      Glad you enjoyed it!

  • @elielvisrocha4892
    @elielvisrocha4892 2 года назад +1

    Great explanation!! Thank you for share this book :)

  • @haoli5986
    @haoli5986 3 года назад +1

    excellent video! thank you for making it. off to the next one~

  • @Didier-n5b
    @Didier-n5b Год назад +1

    But I am a french guy and i really want to have that pdf of software architecture patterns. What can I do ?😟😟

    • @ADevStory
      @ADevStory  Год назад

      Sadly not possible anymore. O'Reilly made it paid.

  • @kleydermendoza4771
    @kleydermendoza4771 3 года назад +1

    Oh no ese libro de patrones de arquitectura de software se ve buenísimo! Pero al entrar me aparece un error :( podrías darme el link directo? o sabes que paso con el libro?

    • @ADevStory
      @ADevStory  3 года назад

      El libro lamentablemente ya no está gratis en la página de O'Reilly. El link en la descripción te lleva a una versión en HTML que permite ojearlo, pero lamentablemente el PDF ya no se encuentra en la página oficial :s

  • @DebasmitSamal294
    @DebasmitSamal294 3 года назад +1

    Excellent .... Classic. I liked it so much and was exactly looking for this

  • @kevinmarmet
    @kevinmarmet 2 года назад +1

    Well done.

  • @michaelotieno7695
    @michaelotieno7695 2 года назад +1

    Thanks alot!!! Exactly what I needed.

  • @Sandywf
    @Sandywf 2 года назад +3

    Its pretty straight forward way to define the roles of architect along with the way to accomplish it ... best tutorial in youtube .. expecting a continuous series on this.... can not miss such valuable things so subscribed immediately thanks n Kudos !!

    • @ADevStory
      @ADevStory  2 года назад

      Glad you found it useful!

  • @akashsingh-hr6uc
    @akashsingh-hr6uc 4 года назад +2

    It was a really nice explaination. Can u suggest any book to start with.

    • @ADevStory
      @ADevStory  4 года назад +2

      Thank you!
      And yes of course. In the description are my top recommendations and all the links. I would start with the free one I mentioned: Software Architecture Patterns since it's the shortest and very practical for reference. Let me know if it helps you!

    • @kindersurprise5164
      @kindersurprise5164 3 года назад +1

      @@ADevStory it'll be useful for me. Thanks!

  • @ismailsahin8009
    @ismailsahin8009 3 года назад +1

    Precise and clear! Like it... keep doing :)

  • @publicfare8939
    @publicfare8939 4 года назад +2

    Thanks for the explanation, it is easy to understand. Subscribed

  • @naturetrail1968
    @naturetrail1968 3 года назад +6

    Great initiative and all videos explain core concepts very well, looking for more videos in this series

    • @ADevStory
      @ADevStory  3 года назад

      Thank you! Any specific topic?

  • @creatorsgarage7911
    @creatorsgarage7911 2 года назад +1

    Thanks. Was clear!

  • @christiandavetipactipac5207
    @christiandavetipactipac5207 3 года назад

    Software's like editing softwares (E.g, adobe, autoCAD, and the likes) Do they still follow, the Business, Logic, Data Layers? Or the MVC?

    • @ADevStory
      @ADevStory  3 года назад

      Hard to say because I haven't seen their code but probably yes 😅

  • @MonCarlo
    @MonCarlo 3 года назад +1

    this video is really helpful!

    • @ADevStory
      @ADevStory  3 года назад

      Glad you enjoyed it!

  • @tabahbaridule
    @tabahbaridule 3 года назад +1

    Hello, This is so much cooler, I appreciate what you just did here. please can you share the book with me, tried downloading but wasn't possible.

    • @ADevStory
      @ADevStory  3 года назад +1

      Glad you liked it! Link is in he description. Sadly the pdf is not longer available for free.

    • @tabahbaridule
      @tabahbaridule 3 года назад +1

      @@ADevStory What are your consideration while choosing an architectural pattern to work with?

    • @ADevStory
      @ADevStory  3 года назад

      Usually what I mentioned in the video: it depends. Most enterprise project have a "default architecture" (or how George Fairbanks calls it in "Just Enough Architecture": "presumptive architecture). That means that most projects in certain domains will have similar needs. When I face something new I try to look for similar projects online/books and how they were solved, and if by any chance I can't find the information, try to build something stable but cheap, so I can pivot later more esaily in case the design fails.

    • @tabahbaridule
      @tabahbaridule 3 года назад

      @@ADevStory Thank you

    • @ADevStory
      @ADevStory  3 года назад

      Anytime!

  • @ronnimukherjee3700
    @ronnimukherjee3700 2 года назад

    Hi - just one criticism, when talking about your "ilities" for NFR, you include "functionality". "Functionality" is not a non-functional requirement.

    • @ADevStory
      @ADevStory  2 года назад

      Yep you are totally right. Not sure how I missed it and how no one mentioned it until now 😅

  • @ayeshatariq4815
    @ayeshatariq4815 3 года назад +1

    Heyy can you please share the PDF of "Software Architecture Patterns" on google drive or somewhere and share the link pleaseeee I will really appreciate it. As it is my course book and I need it right now.

    • @ADevStory
      @ADevStory  3 года назад

      I updated the official link in the description (no pdf though) but the pdf is not longer available. There are ways to find it online, but sadly I cannot share it. :(

  • @顺自其然
    @顺自其然 Год назад +1

    The book do you have PDF file? Can you share?

    • @ADevStory
      @ADevStory  Год назад

      Sorry I can't share it. It seems O'Reilly has now put the book only for sale. You can get it from their site.

  • @ntcuong01ct1
    @ntcuong01ct1 2 года назад +1

    Could you explain difference between system architecture and software architecture?

    • @ADevStory
      @ADevStory  2 года назад

      Sure! Someone already asked it in the comments, but RUclips doesn't allow to link to the comment, so I'll paste the same answer:
      Some people tend to use them without paying too much attention to the difference (like me :S), but Systems Design is more tilted towards the implementation details while Software Architecture it's more about the "big picture". As I see it, for example, in Software Architecture you would say: "I'll have a 3 layer application with one layer being the persistence layer/database", and when you start designing the system you decide how to actually setup the tables, which indexes you want to create on the data, etc.
      You are not alone in the confusion, I'll leave you with a couple of links with discussions/explanations on the differences. Hopefully they are clearer:
      - stackoverflow.com/questions/704855/software-design-vs-software-architecture
      - medium.com/@concisesoftware/whats-the-difference-between-software-architecture-and-design-b705c2584631

    • @ntcuong01ct1
      @ntcuong01ct1 2 года назад +1

      @@ADevStory , the application architecture is the same meaning with the software architecture, right?

    • @ADevStory
      @ADevStory  2 года назад

      Yes

  • @HiPh0Plover1
    @HiPh0Plover1 3 года назад +1

    are erp's like sap layered architecture ?

    • @ADevStory
      @ADevStory  3 года назад

      I'm not familiar with SAP's architecture sorry :( layered architecture is the most common type of architecture so it's possible. But it can also be a more modular one (microkernel architecture for example).
      Also you can have a mix. You can a have a microservices architecture with also layered systems inside.

  • @alexoneill6725
    @alexoneill6725 2 года назад +1

    great video

  • @Restrayned99
    @Restrayned99 3 года назад +1

    Nice video!

  • @chrisplacktor1992
    @chrisplacktor1992 2 года назад +1

    Great video !!! I subscribed because we have same name

  • @swathiniraju4731
    @swathiniraju4731 3 года назад +1

    Super helpful

  • @sebastianchavarria8219
    @sebastianchavarria8219 Год назад +1

    Buen video amigo

    • @ADevStory
      @ADevStory  Год назад

      ¡Gracias! ¡Qué bueno que te gustó!

  • @greenishlight
    @greenishlight 3 года назад +1

    Volume is a bit low. I needed to increase the volume to hear it better.

    • @ADevStory
      @ADevStory  3 года назад

      Yeah. It has been improving in newEr videos but apparently there are some issues still. Glad you made it work! Thanks for watching!

  • @eduardocarvalho4232
    @eduardocarvalho4232 3 года назад +1

    Amazing :)
    Thanks for advices!

  • @templetonpeck1084
    @templetonpeck1084 2 года назад +1

    Some of those white words on the white background were hard to read. I would prefer a bit more of a contrast.

    • @ADevStory
      @ADevStory  2 года назад

      Thanks for the feedback! In newer videos I try adding shadows, but will consider adding even more contrast. Thanks!

  • @mrgod5139
    @mrgod5139 2 года назад +1

    As clean as his shimmering head! ❤

    • @ADevStory
      @ADevStory  2 года назад

      Glad it was THAT clear🤣

    • @mrgod5139
      @mrgod5139 2 года назад

      @@ADevStory 🤣

  • @matslexell
    @matslexell 3 года назад +1

    Great video! Thanks for sharing :)

  • @saravanabhava1
    @saravanabhava1 3 года назад +1

    awesome content.. Thanks for your efforts to educate others..

    • @ADevStory
      @ADevStory  3 года назад

      Thanks for watching and the feedback! :)

  • @OmarJasso
    @OmarJasso 3 года назад

    Hey!! someone could find the pdf ebook? The link posted on description of this video doesn't work.

    • @ADevStory
      @ADevStory  3 года назад

      The link in the description should take you to O'Reilly's page of the book. Sadly the ebook is not longer free 😓

  • @alxx736
    @alxx736 2 года назад

    If i talk about Logs . If a system has logs. Does it fit to System Architecture or System Design ?

    • @ADevStory
      @ADevStory  2 года назад +1

      I would say neither, unless the logging system has an architecture by itself. But for a given system, logging would be an implementation detail or at best a non-functional requirement (say, part of observability) similar to others like having tests.

    • @alxx736
      @alxx736 2 года назад

      @@ADevStory Thanks for your time !

  • @mohamedselim7635
    @mohamedselim7635 3 года назад +1

    Very helpful ❤

  • @hugeturnip3520
    @hugeturnip3520 2 года назад +1

    thank you so much legend

  • @ApacheGamingUK
    @ApacheGamingUK Год назад

    I still disagree with the term "non-functional"... because "non-functional" means "broken".

    • @danielolajumoke4389
      @danielolajumoke4389 6 месяцев назад

      I'd prefer the other alternatives: architecture characteristics, quality attributes