Check out a free preview of the full Introduction to Backend Architectures course
The "Wrapping Up" Lesson is part of the full, Introduction to Backend Architectures course featured in this preview video. Here's what you'd learn in this 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.
Transcript from the "Wrapping Up" Lesson
[00:00:00]
>> Speaker 1: What blogs or resources do you tend to rely on to help grow in your own understanding and be exposed to new ideas and developing backend architectures for your use cases?
>> Erik: So for me I've been around the bush a little while now, so that I have a good understanding of a lot of the simple designs and principles that we've talked about.
[00:00:20]
But when I really like to be challenged, I look for people who are bigger than me places that I see and I'm like, wow, how are they doing that? Like, how are they doing this? Again, a couple of the stuff that I included in this presentation and in this course were things like the Netflix engineering blog.
[00:00:38]
The Amazon documentation, trying to find resources from reputable sources that you trust. To be honest, there's a lot of people on the internet, a lot of people on Twitter who are making and voicing their own opinions, but that doesn't mean they actually know what they're talking about. And so it's really about finding people that you trust, that you believe in things that it's kind of like a mentorship.
[00:01:00]
You wanna find people that are doing what you wanna do and then learn from them. And that can even be people on Twitter, like myself or other content creators that are already in the industry and doing that. But just be careful, I think you wanna find the content that relates to you the most and then lean into that and until you're ready to move on to the next thing.
[00:01:22]
But for me, it's a lot of also experimentation, I'll find something that somebody is doing and I'll be like, I'm gonna try that myself. And a lot of the learning I do today is really through my own process of just trying something that I'm seeing somebody else will do.
[00:01:38]
For example, I decided to make Quirk V2 entirely serverless. That was a choice I made because I wanted to challenge myself and learn as much as I could about this brand new technology that's growing. Did I have to make Quirk V2 serverless? No, I didn't at all, as a matter of fact [L.AUGH] here, I'll show you, this is Quarkv2 once it loads, so you wanna talk about complicated systems.
[00:02:06]
That's Quarkv2 system and believe it or not, it's actually a multitude of API gateways that all intercommunicate with each other, some internal, some external. And this is a really good learning exercise for me, right? We have public API gateways that use lambdas here, let me zoom in a little bit here.
[00:02:26]
So we have our public API gateway which is all of our events API, how we process all of our events coming from third parties. We then have our portal API gateway, which is all of our API lambdas that process everything for the front end. But then we needed to have other API gateways that serve these, right?
[00:02:45]
Like the events API and the portal API need to access AI features and functionality. And so we built a serverless API gateway internally for that and that makes it so that it feels like a normal HTTP server at the end of the day, but it's really serverless, powered by serverless.
[00:03:04]
And then, again, going back to the discord bot and YouTube, we still have the requirement of things like servers and microservices and whatnot. And so we couple in a ECS and so we've got a little ECS cluster over here. And so yeah, like I really do try and challenge myself as much as I possibly can, we've got our persistence tier down here.
[00:03:27]
But the main point of why I'm showing you this is is that even though this design itself is kind of crazy, it's logically separated into solving the problems that we wanna solve. That will never change, so I really encourage you guys to go out and experiment and try these things yourself.
[00:03:44]
Don't take it just my word for truth, go and try it yourself and that's really how I do a lot of my learning today. Well, first off, thank you guys for sticking through this, I appreciate it. I hope it was informative and hopefully empowers you and inspires you to go build these type of architectures yourself.
[00:04:03]
Remember, there's an importance that I wanna mention, and the first one is systematic planning, planning is important, right? Effective architecture design is foundational to project success, emphasize the necessity of thorough planning. And understanding of both stakeholder needs and technological capabilities before initiating development, right? Technology does not out beat the company business, they work together, that's what again has made these companies hugely successful, right?
[00:04:32]
This ensures alignment with business objectives and user requirements, optimizing both functionality and efficiency. The next one, flexibility and scaling are key, right? In the ever-evolving landscape of technology and business, designing architecture with flexibility and scalability at its core is crucial, right? Now, we might not be talking about, hey, right off the box, I wanna support a million customers or a million requests.
[00:04:57]
But what we are saying is consider the adaption of what your company's growth is gonna be. If you think a year from now, you're gonna have a really hard to market strategy, and you're gonna have a thousand users be prepared for that, right? The monolith is something great to start with, but again, maybe slowly start decoupling those components, making them into services, or other type of architectures.
[00:05:19]
And making it so that when you're ready, you can move fast, that is also what makes a company profitable fast, you move quick. These allow a system to adapt to changes in user demand and technological advancements without requiring complete redesigns, thereby saving time, resources, and facilitating sustained growth.
[00:05:39]
And the final one, and I think this is hopefully the one I want you guys to walk away with the most, this is all continuous learning and adaption. There's no one solution, there's no one person does it best and this is the best way to do it. If you wanna be a good engineer, explore it yourself, go out and learn these things yourself, come back to the table with your own observations.
[00:06:02]
And that's something that I implore everyone watching this course to do. Yes, you can take recommendations from another company, but at the end of the day, that's all they are, recommendations. The way that you have to solve the problem is entirely up to the problem that you have to solve.
[00:06:17]
This approach will not only keep your skills relevant, but also enable you to design systems that are robust, adaptable, and forward thinking. And with that, thank you for watching, I appreciate it. Remember again, if you're curious about any of the stuff I do on the interwebs, check out the engineering blog Altafor.blog.
[00:06:36]
Watch me on twitch, I Stream Thursdays, Fridays, and Saturdays, my stream agenda might change from this course. So I do stream weekdays and weekends, be sure to follow me on Twitter as well as check out the YouTube, but thank you very much and I hope you enjoyed the course.
[00:06:50]
>> Students: [APPLAUSE]
Learn Straight from the Experts Who Shape the Modern Web
- In-depth Courses
- Industry Leading Experts
- Learning Paths
- Live Interactive Workshops