Scalability: HTTP & Front-End
Burak Yiğit Kaya
Disqus
Front-End Tech Lead & DevOps



HTTP
The backbone of WWW
Built for
- Linked Documents
- Mostly* reliable connections (TCP)
- High Scalability
Linked Documents?
HTML pages
Protocol(s)
High Scalability
- Mostly* stateless
- Request/response - no inherent sessions
- Highly cacheable + idempotent methods
Stateless Protocols
In computing, a stateless protocol is a communications protocol that treats each request as an independent transaction that is unrelated to any previous request so that the communication consists of independent pairs of request and response.
Source: Wikipedia
Stateless Protocols
- Functional programming
- Lazy evaluation
- Caching / Memoization
Safe and Unsafe Methods
Method | Safe | Idempotent | Cacheable |
---|---|---|---|
GET | Yes | Yes | Yes |
HEAD | Yes | Yes | Yes |
POST | No | No | Yes |
PUT | No | Yes | No |
DELETE | No | Yes | No |
CONNECT | No | No | No |
OPTIONS | Yes | Yes | No |
TRACE | Yes | Yes | No |
PATCH | No | No | Yes |
More functional programming
Front-End
The app, the UI, the face
What is front-end?
- Everything user facing
- All the assets, documents and app
- What is there to scale?
What is to scale on front-end?
- Asset and app code delivery
- Application performance
- Application development
Asset and app code delivery
- HTTP not good enough for assets
- HTTP/1.1 - Keep-alive
- HTTP/2
App Performance
- UI changes a lot
- The "natural" instinct is to use mutations and related APIs
- Functional programming to save: ReactJS, Om

App performance
- UI is actually Data -> View function
- Uni-directional data flow
- Batch & Smart updates
Scaling Application Development
- Iterating rapidly is important: experimentation
- Developer productivity
- Shameless self-promotion: Hizli ve Ofkesiz
Thanks!
Scalability: HTTP & Front-End
By Burak Yigit Kaya
Scalability: HTTP & Front-End
- 782