web applications architecture Flashcards

1
Q

what is web applications architecture

A

a framework that defines interactions between different components of a web application

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what are the 3 components of a web application

A

front end; client side
back end; server side
database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

front end

A

handles user interface and experience

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

back end

A

processes business logic, handles data storage and interacts with the db

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

database

A

stores and manages application data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

what is the primary function of web servers

A

deliver web pages to networked clients

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

what do webservers do

A

they are software that take a request in http format for a resource over a network then serves it back to the client as a payload to a http response

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

request response cycle

A

client request, the server processing and the response delivery

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

how does the client server model work

A

client requests data and services from the server
server processes requests and returns the appropriate response

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

what is the role of http in the client server model

A

protocols the facilitate the interaction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what are the four main types of web application architecture

A

monolothic
micro services
single and multi page applications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

monolithic architecture

A

a single indivisible unit with all components interconnected
the backend front end and db are tightly coupled

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

how does the server and client interact in a monolithic architecture

A

the server sends complete html pages to the client for every user request

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

+ monolithic architecture

A

simpler to develop and deploy
easier debugging

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

– monolithic architecture

A

scalability issues; harder to update and maintain

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

microservices architecture

A

small independent services that communicate via apis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

+ microservices architecture

A

scalability and flexibility in using different technologies

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

– microservices architecture

A

complexity in management and deployment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

single page applications

A

the entire front end is uploaded initially and subsequent interactions happen without full page reloads

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

how is content updated in single page applications

A

by making api calls to the backend

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

+ single page applications

A

faster user experience and reduces server load

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

– single page api

A

search engine optimisation (seo) challenges; initial load time can be high

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

multi page applications

A

multiple pages each loaded separately from the server

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

how do multi page applications work

A

when users navigate to different pages the browser sends a request to the server which returns a new html page for each request

25
-- multi page applications
more server load slower navigation compared to single page
26
+ multi page applications
better for seo; easier to maintain certain types of applications
27
what is a web page made up of
has a base html file including several referenced objects
28
examples of objects in html
html file jpeg image audio/video file
29
front end technologies
html css javascript
30
html
structures the content on the webpage
31
css
styles and visually formats the content
32
javascript
adds interactivity and dynamic features
33
modern front end frameworks
streamline development and manage complex ui states
34
backend technologies
server side languages; e.g. java python webservers APIs;RESTful
35
webservers
serve webpages to users
36
APIs
services that allow communication between the front and backend
37
deployment
making an app available for use on a server
38
what are the 3 parts of the deployment environment
deployment, production and staging environment
39
deployment environment
local machines where developers write and test code
40
production environment
the live environment where the product is available to users
41
staging environment
a replica of the production environment used for final testing
42
what are the 3 types of deployment models
on premises cloud based hybrid
43
on premises deployment model
hosting the app on physical servers owned and managed by the organisation
44
cloud based deployment model (+ what benefits does it offer)
using cloud services to host the app offering scalability and reducing operational overhead
45
hybrid deployment model
on premises and cloud based
46
what are the 3 cost considerations in deployment
initial cost; setup and deployment (including server and cloud costs) ongoing costs; maintenance, scaling, monitoring optimisation; using autoscaling and pay-as-you-go models to optimise costs
47
what are some performance metrics and explain them
response time; time for the server to process a request and send a response latency; delay between client request and servers initial response throughput; number of requests successfully handled within a given time frame error rate availability security resource utilisation
48
scalability
the ability of an app to handle increasing loads and maintain performance goals
49
horizontal scaling
adding more machines to handle load complicates all scenarios except the simplest
50
vertical scaling
increasing the power of existing machines
51
+ vertical scaling
more machines can get expensive nothing changes drastically
52
what are two forms of performance optimisation
load bearing caching
53
load balancing
distributing the load evenly across two or more servers
54
caching
exploits locality by moving content closer to the user
55
in which places can caching be done
in browser network or server
56
why does caching work
less hops means less latency less congestion
57
what is a positive and negative of load balancing and how does it work with hardware
higher performance and cost rewrites headers at layer four and adjusts the dns there is a tcp connection between the client and server
58
how does load balancing with software work
echos http requests to particular servers tcp connection between the client and balancer