Reflections and Basic Web Application Architecture

Blaize Bodda
4 min readJun 21, 2024

--

Week 2 is a wrap, and I’ve learned a lot about GitHub and version control!

This week, I created a repository on GitHub and cloned it to my computer using the Command Line Interface (CLI). I also discovered many things I can do with the CLI, like committing and pushing a README file to GitHub, creating a new branch, updating files, and merging pull requests to the main branch. Additionally, I installed the Amazon Web Services (AWS) CLI on my computer and practiced using it.

I spent a lot of time this week learning the basics of web application architecture and designing a simple setup to reinforce what I’ve learned. Let’s dive into how this relates to AWS!

Web Application Architecture

So, first, what is web application architecture?

Web application architecture is how a website is organized to work. There are three main parts: the front-end, back-end, and database (see below for the diagram I created). The front-end is what you see and click on, like buttons and pictures, made with HTML, CSS, and JavaScript. The back-end is like the brain of the website, handling all the logic and processing behind the scenes, using languages like Python or JavaScript. The database is where all the information is stored, like a big digital filing cabinet. These parts talk to each other through the internet to make sure everything works smoothly when you use the website. Below is an image referencing how all of this works.

My diagram of how all of this works

A Run Down of the Vocab

Here is some vocabulary to explain more of what’s contained in the diagram above.

End user: The person who uses a product or service. In this instance it is the person who interacts with the web application perhaps through a mobile device like a cell phone or a tablet.

Front end: This is the part of a website or app that you see and interact with. It’s everything that shows up on your screen, like buttons, pictures, text, and menus. It’s made with tools like HTML, CSS, and JavaScript to make it look nice and work smoothly.

DNS (Domain Name System): A DNS is like a phone book. Imagine you want to visit a website like www.amazon.com. When you type that into your browser, the DNS quickly looks up where the website is stored (its IP address) and tells your computer how to find it. This way, you get to the website you want to visit without needing to know its complicated address. AWS Route 53 is a DNS service provided by AWS.

Back end: It’s where all the data and information are stored and processed. When you click a button on a website to do something, like send a message or buy something, the back end handles that request.

Load balancers: A load balancer is like a traffic controller for websites and apps. When lots of people try to visit a website at the same time, a load balancer helps manage all their requests. It spreads out the work evenly among different servers so that no single server gets overwhelmed. This way, the website stays fast and responsive for everyone using it. In AWS, a load balancer is called an “Elastic Load Balancer” (ELB).

Servers: Servers are really powerful computers that store and share information with other computers over the internet. When you use a website or an app on your phone, you’re actually connecting to a server somewhere in the world. These servers store all the pictures, videos, text, and other things you see and interact with online. They work non-stop to make sure everything on the internet runs smoothly and quickly, so you can access your favorite websites and apps whenever you want. AWS has EC2 servers setup in big data centers around the world for clients to utilize.

Databases: Web application databases are like digital containers where websites keep all their important information like usernames, passwords, pictures, and other details that websites need to remember. When you sign up for a website or post a comment, this information is stored in the database so the website can remember it next time you visit. Databases make sure everything on the website works smoothly and that your information is kept safe and organized. AWS RDS (Relational Database Service) is an example of this.

Reflections

Week 2 had some challenges but I believe I’m better for them. The challenges took me on a journey of discovery into the fundamentals of web development tools and practices. I worked with GitHub, mastering repository creation, cloning, and got down and dirty with version control using the Command Line Interface. Additionally, I’ve explored the AWS CLI, gaining hands-on experience that will undoubtedly prove invaluable in future projects.

A significant portion of this week was dedicated to understanding web application architecture. I’ve learned that it’s like the blueprint that ensures a website functions smoothly. It consists of three essential parts: the front-end, where users interact with buttons and visuals; the back-end, which handles the logic and behind-the-scenes processing; and databases, which store all the website’s information securely. These components work together seamlessly to deliver a cohesive user experience.

Looking ahead, I’m excited to dive deeper into the intricacies of web application architecture. Next week, I’ll explore how these foundational concepts integrate with AWS services, further enhancing my understanding and skill set. Stay tuned for more insights into the fascinating world of cloud engineering!

That’s all for now!

Blaize

--

--