SlideShare a Scribd company logo
Microservice Powered Orchestration
Huabing Zhao ZTE, System Engineer, Network Management & Service, OPEN-O Common Service PTL
zhao.huabing@zte.com.cn
Zhaoxing Meng ZTE, NFV&SDN Architect, Network Management & Service, OPEN-O Common Service PTL
zhaoxing.meng1@zte.com.cn
Agenda
• Why Microservice at OPEN-O
• Challenges of Microservice
• MSB(Microservice Bus) Solution
• What can MSB bring to ONAP
2
Monolith vs Microservice
3
Monolith Microservices
Scaling Monolith Scaling Microservices
Process Machine
The microservice architectural style is an
approach to developing a single application as a
suite of small services, each running in its own
process and communicating with lightweight
mechanisms, often an HTTP resource API.
-Martin Fowler
No performance issue here
4
Why chose Microservice Architecture?
How to make orchestration reliable and scalable?
OPEN-O is a large, complex software system
Each component may have different resource requirement
Each component may have different working load
How to integrate existing seed codes in
different technical stack?
We didn’t start from scratch
A dozen of existing seed codes repos
Ambitious release plan
How to build an OPEN community?
We have various members and we are
expecting more joining in
Each organization has its own tech Stack
5
Ambitions Sun Release Plan
We had made an ambitions plan for SUN Release
6
SDN
Driver
VNFM
Drivers
VIM
Drivers
ACCESS/WAN SDN
Controller Drivers
NFV SDN
Controller Drivers
Orchestrator Service
Model Designer
Portal GUI Portal … Test
&
Lab
(for
feature)
GS-O
Service
Decomposer
Service
Lifecycle Mgr.
Service
Parser
Abstract NBI
SDN-O
SDN
Res.
Mgr.
Abstract NBI
Abstract SBI
NFV-O
NFV Res. Mgr.
NFV Monitor
NS Lifecycle Mgr.
Abstract NBI
Abstract SBI
VPN
SDN Lifecycle Mgr.
Traffic
Optimize
VAS Mgr.
…
SDN
Monitor
O-Common
External System
Register
Template Mgr.
Analytics
Policy
Inventory
…
Common Service
HA
Log
Driver Mgr.
…
Micro-Service Bus
Protocol Stack
Auth.
EMS/NMS
Driver
Parser
NFV
Driver
Workflow Engine
Catalog
VIM
Drivers
Challenge of Integration
We get bigger challenge for ONAP
integration
7
Build an Open Community
Build an open community so that everyone can enjoy the party
Microservice Platform
VendorOperator
Partner
Individual Developers
Portal
Global Service-O
Common
Service
Test
&
Lab
Orchestrator
Common
SDN-O NFV-O
Driver Driver Driver Driver Driver
Legacy System Partner App
SDN Controller VNFM VIM VNF
Challenges of Microservice Architecture
Microservice Architecture comes at a price: Complexity
How do the clients application access the back end services?
How do the client or another service - discover the location of a
service instance?
Direct Client-to-Microservice Communication?
❑ Add complexity to client codes
❑ Nightmare for firewall configuration
❑ Coupling of client and individual
services
❑ Cross-domain issue for web app
This approach has some
problems:
Solution: Service Gateway
Service gateway hides the complexity
Simplify the client codes.
Reduce request roundtrips
Provide API management
Solve cross-domain issue for
web app
How to find the service?
In order to access a service, you need to know
the exact endpoint(IP & Port)
IP & Port
dynamically
assigned
IP & Port
dynamically
changing
How to load
balancing
Service endpoint doesn’t change a lot
Consumer can get the endpoint from configuration
files
“Traditional” application
The IP & port is dynamically allocated
IP & port changes along with the scaling/ updating/
self-healing of service instances
Microservice application
Solution: Service Registration & Discovery
Service Registration:
➢ Service providers register
themselves to the registry when start
up
➢ Update service information when
service instances change
Service Discovery:
➢ Service consumers query registry to
find the locations of service
➢ Two approaches: Server-side
discovery & Client-side discovery
Service
Registry
Service
Consumer
Load
Balancer
Service
Instance A
Service
Instance A
Service
Instance A
10.74.215.33:3564
10.74.215.211:1522
10.74.215.8:3281
Invoke
Load balance &
invoke
Query
Register
Server-side discovery
Service
Registry
Service
Consumer
Client
SDK
Service
Instance A
Service
Instance A
Service
Instance A
10.74.215.33:3564
10.74.215.211:1522
10.74.215.8:3281
Load balance &
invoke
Query
Register
Client-side discovery
OPEN-O Microservice Solution: High Level Architecture
Access Service
(Server-side discovery)
Service
Provider
Instance
A
Service
Provider
Instance
B
Registration
Proxy
Service
Discovery
(DNS Server)
Service
Consumer
Listen
Register
Heartbeat
Unregister
Service
Gateway
L7 Service
Updater
Cache
Listen to service change
Query
Service Registry
Access Service
(Client-side discovery) access serviceService
Consumer
L4 Service
Updater
Update
Service Registry
Listen
to service
change
Modify
and Reload
Load Balance
Access Service
DNS Search
Request Routing
Service Discovery
Register
Service Discovery Client
OPEN-O Microservice Solution : MSB Components
Docker Listener
DockerProxy
Discovery
Client
Other Listeners
OtherProxy
Discovery
Client
register
Service Gateway
Service Discovery Server Cluster
Discovery
Server
Discovery
Server
Discovery
Server
Discovery
Client
Service
Management
Healthy
Check
forward registration request
forward registration request
Registration Proxy Service Discovery
Docker Cluster
register
OpenResty
L7 Service
Updater
L4 Service
Updater
Cache
Docker events
Service Gateway
query
External Systems
3-party App
UI Portal
Microservices
Service A
Service
request
forward service request
register
Healthy Check
update
Service A Service AService B Service AService B
Other Cluster(VM, Mesos, K8S, Swarm …)
Service AService A Service AService B Service AService B
Service lifecycle events
MSB Features-High Availability
15
Service B
Service C
Service D
Service E
Service A
Load balancer(DNS Server/LVS etc.) in the
front end
Service gateway cluster to avoid SPOF of
service gateway
Access Layer
Service gateway as the load balancer for
services
Deploy multiple service instances to avoid
SPOF of service
Service Layer
MSB Features-Separated gateway for External and Internal
Routing
16
Stricter access control
Protocol translation(eg. https->http)
… Expose the services(Rest API, UI pages, etc.)which
need to be accessed by external systems
Solve the cross-domain issue for web app
Stricter access control
Adaption between external API and internal service
External service gateway
Routing and load balancing of the API calls within
the system
Less control in trusted zone
Light weight communication protocol
Internal API gateway
(router)
Registry
Can add more gateways according to
deployment scenarios
MSB Features-Extendability
• Extendable architecture for adding
functionality
 Auth: add auth to APIs, integrated with
Openstack keystone
 Driver routing: add driver specify routing logic
for devices
 Logging: API calling logging
 Service health monitoring
 ACL,API Analytics,Transformations
 Anything: new functionality can be added on
demand by plugins
17
MSB
Authentication
API Monitoring
Logging
Other Plugin
MSB Features-Service API Portal
18
MSB Features-Service Healthy Monitoring
19
MSB Features-API Monitoring
20
How MSB may fit into ONAP (Service Discovery & Routing)
MSB
External
Service
gateway
Service
Discovery
Internal API Router
Other
Modules…
VF-C
Before:
……
How to call service:
After:
"apigateway": "https://apigateway.onap.org:80"
GET https://apigateway.onap.org/api/aai/v8/cloud-
infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-
region-id}
API gateway routes the request to:
GET https://c1.vm1.aai.simpledemo.openecomp.org:8443/aai/v8
/cloud-infrastructure/cloud-regions/cloud-region/{cloud-
owner}/{cloud-region-id}
Using a configuration file, we might have
problems on scaling, failover and update
MSB handles the service
discovery & routing & LB
MSB as the single
entry point
How MSB may fit into ONAP(reverse proxy for web app)
Backend
Server
FronEnd
Server
Before:
The business logic(rest service) forwader must be
add to front end server
Solve the cross-domain issue cause coupling of
business logic and UI pages
Service Gateway
Backend
Server
FrontEnd
Server
Other
Services
After:
service gateway to solve cross-domain issue
Cache for static resources (page, picture)
Clearer boundary between UI and business logic
page
rest
s
Thank You
www.onap.org

More Related Content

PDF
Building Hyperscale Networks
PDF
Open Source Approach to Design and Deployment of Microservices-based VNF
PDF
State of the OpenDaylight Union
PDF
Building Business on Top of Open Source
PDF
Container Service Chaining
PDF
Open and Disaggregated Transport SDN - from PoC to Field Trial
PDF
Considerations for Deploying Virtual Network Functions and Services
PDF
The Interoperability Challenge in Telecom and NFS Environments
Building Hyperscale Networks
Open Source Approach to Design and Deployment of Microservices-based VNF
State of the OpenDaylight Union
Building Business on Top of Open Source
Container Service Chaining
Open and Disaggregated Transport SDN - from PoC to Field Trial
Considerations for Deploying Virtual Network Functions and Services
The Interoperability Challenge in Telecom and NFS Environments

What's hot (20)

PDF
OpenStack: Networking Roadmap, Collaboration and Contribution
PDF
PPTX
Network Virtualization Meets the WAN
PDF
What a difference 5 years make
PPTX
ONAP - Open Network Automation Platform
PDF
Learnings from Carrier SDN Deployments
PDF
Digital Transformation through Open Software Defined Infrastructure
PPTX
Is SDN Necessary?
PDF
Container Networking
PDF
Introducing ONAP for OpenStack St Louis Meetup
PDF
Atf 3 q15-5 - streamlining and automating virtual network control
PDF
OpenDaylight Update (June 2018)
PPTX
SDN and NFV Value in Business Services - A Presentation By Cox Communications
PDF
Open daylight openstack_meetup_20140218
PDF
Networking Challenges for the Next Decade
PDF
L4-L7 services for SDN and NVF by Youcef Laribi
PPTX
Virt july-2013-meetup
PDF
Juniper Unified SDN Technical Presentation (SDN Day ITB 2016)
PDF
How to Implement SDN Technology in ITB
PDF
Disaggregated Networking - The Drivers, the Software & The High Availability
OpenStack: Networking Roadmap, Collaboration and Contribution
Network Virtualization Meets the WAN
What a difference 5 years make
ONAP - Open Network Automation Platform
Learnings from Carrier SDN Deployments
Digital Transformation through Open Software Defined Infrastructure
Is SDN Necessary?
Container Networking
Introducing ONAP for OpenStack St Louis Meetup
Atf 3 q15-5 - streamlining and automating virtual network control
OpenDaylight Update (June 2018)
SDN and NFV Value in Business Services - A Presentation By Cox Communications
Open daylight openstack_meetup_20140218
Networking Challenges for the Next Decade
L4-L7 services for SDN and NVF by Youcef Laribi
Virt july-2013-meetup
Juniper Unified SDN Technical Presentation (SDN Day ITB 2016)
How to Implement SDN Technology in ITB
Disaggregated Networking - The Drivers, the Software & The High Availability
Ad

Similar to Microservice Powered Orchestration (20)

PPTX
MSB Deep Dive
PPTX
Service mesh in action with onap
PDF
Microservices - Hitchhiker's guide to cloud native applications
PPTX
MSB to Support Carrier Grade ONAP Microservice Architecture with Service Mesh
PPTX
Taw opening session
PDF
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
PPTX
Introduction To Cloud Computing
PPTX
Do I Need A Service Mesh.pptx
PPTX
Service Mesh CTO Forum (Draft 3)
PDF
Full lifecycle of a microservice
PPTX
Disruptive Trends in Application Development
PPTX
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
PPTX
Nginx Conference 2016 - Learnings and State of the Industry
PDF
xConf-2022-api-gateway-service-mesh.pdf
PPTX
MuleSoft London Community October 2017 - Hybrid and SAP Integration
PPT
Ws Soa V6 Theory And Practice
PDF
Open Source Networking Days- Service Mesh
PDF
Dubbo and Weidian's practice on micro-service architecture
PDF
A1 from n tier to soa
PPT
Server Farms and XML Web Services
MSB Deep Dive
Service mesh in action with onap
Microservices - Hitchhiker's guide to cloud native applications
MSB to Support Carrier Grade ONAP Microservice Architecture with Service Mesh
Taw opening session
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Introduction To Cloud Computing
Do I Need A Service Mesh.pptx
Service Mesh CTO Forum (Draft 3)
Full lifecycle of a microservice
Disruptive Trends in Application Development
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
Nginx Conference 2016 - Learnings and State of the Industry
xConf-2022-api-gateway-service-mesh.pdf
MuleSoft London Community October 2017 - Hybrid and SAP Integration
Ws Soa V6 Theory And Practice
Open Source Networking Days- Service Mesh
Dubbo and Weidian's practice on micro-service architecture
A1 from n tier to soa
Server Farms and XML Web Services
Ad

More from Open Networking Summit (17)

PDF
Software Defined RAN
PDF
Design Principles for 5G
PDF
Disaggregation @Equinix
PDF
Open Source Networking Solving Molecular Analysis of Cancer
PDF
Harmonizing of Open Source Networking
PDF
Five Trends Enabled by 5G that will Change Networking Forever
PDF
A Centrally Orchestrated SD-WAN Building a Green Ecosystem
PDF
SDN-Based Enterprise Connectivity Service
PDF
IoT in Action: Architecting, Securing, & Scaling Applications
PDF
Arachne: How does Uber check the health of its Network Infrastructure every 1...
PDF
Harmonizing of Open Source Networking
PDF
Troubleshooting for Intent-based Networking
PDF
Network Evolution and Market Outlook
PDF
The *NEW* ONS
PDF
Open Source, Open Standards, & Open Vendors
PDF
FD.io - The Universal Dataplane
PDF
Container Networking Deep Dive
Software Defined RAN
Design Principles for 5G
Disaggregation @Equinix
Open Source Networking Solving Molecular Analysis of Cancer
Harmonizing of Open Source Networking
Five Trends Enabled by 5G that will Change Networking Forever
A Centrally Orchestrated SD-WAN Building a Green Ecosystem
SDN-Based Enterprise Connectivity Service
IoT in Action: Architecting, Securing, & Scaling Applications
Arachne: How does Uber check the health of its Network Infrastructure every 1...
Harmonizing of Open Source Networking
Troubleshooting for Intent-based Networking
Network Evolution and Market Outlook
The *NEW* ONS
Open Source, Open Standards, & Open Vendors
FD.io - The Universal Dataplane
Container Networking Deep Dive

Recently uploaded (20)

PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
KodekX | Application Modernization Development
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Cloud computing and distributed systems.
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation theory and applications.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
KodekX | Application Modernization Development
Programs and apps: productivity, graphics, security and other tools
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
MYSQL Presentation for SQL database connectivity
20250228 LYD VKU AI Blended-Learning.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Advanced methodologies resolving dimensionality complications for autism neur...
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
Encapsulation_ Review paper, used for researhc scholars
Cloud computing and distributed systems.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation theory and applications.pdf

Microservice Powered Orchestration

  • 1. Microservice Powered Orchestration Huabing Zhao ZTE, System Engineer, Network Management & Service, OPEN-O Common Service PTL zhao.huabing@zte.com.cn Zhaoxing Meng ZTE, NFV&SDN Architect, Network Management & Service, OPEN-O Common Service PTL zhaoxing.meng1@zte.com.cn
  • 2. Agenda • Why Microservice at OPEN-O • Challenges of Microservice • MSB(Microservice Bus) Solution • What can MSB bring to ONAP 2
  • 3. Monolith vs Microservice 3 Monolith Microservices Scaling Monolith Scaling Microservices Process Machine The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. -Martin Fowler No performance issue here
  • 4. 4 Why chose Microservice Architecture? How to make orchestration reliable and scalable? OPEN-O is a large, complex software system Each component may have different resource requirement Each component may have different working load How to integrate existing seed codes in different technical stack? We didn’t start from scratch A dozen of existing seed codes repos Ambitious release plan How to build an OPEN community? We have various members and we are expecting more joining in Each organization has its own tech Stack
  • 5. 5 Ambitions Sun Release Plan We had made an ambitions plan for SUN Release
  • 6. 6 SDN Driver VNFM Drivers VIM Drivers ACCESS/WAN SDN Controller Drivers NFV SDN Controller Drivers Orchestrator Service Model Designer Portal GUI Portal … Test & Lab (for feature) GS-O Service Decomposer Service Lifecycle Mgr. Service Parser Abstract NBI SDN-O SDN Res. Mgr. Abstract NBI Abstract SBI NFV-O NFV Res. Mgr. NFV Monitor NS Lifecycle Mgr. Abstract NBI Abstract SBI VPN SDN Lifecycle Mgr. Traffic Optimize VAS Mgr. … SDN Monitor O-Common External System Register Template Mgr. Analytics Policy Inventory … Common Service HA Log Driver Mgr. … Micro-Service Bus Protocol Stack Auth. EMS/NMS Driver Parser NFV Driver Workflow Engine Catalog VIM Drivers Challenge of Integration We get bigger challenge for ONAP integration
  • 7. 7 Build an Open Community Build an open community so that everyone can enjoy the party Microservice Platform VendorOperator Partner Individual Developers Portal Global Service-O Common Service Test & Lab Orchestrator Common SDN-O NFV-O Driver Driver Driver Driver Driver Legacy System Partner App SDN Controller VNFM VIM VNF
  • 8. Challenges of Microservice Architecture Microservice Architecture comes at a price: Complexity How do the clients application access the back end services? How do the client or another service - discover the location of a service instance?
  • 9. Direct Client-to-Microservice Communication? ❑ Add complexity to client codes ❑ Nightmare for firewall configuration ❑ Coupling of client and individual services ❑ Cross-domain issue for web app This approach has some problems:
  • 10. Solution: Service Gateway Service gateway hides the complexity Simplify the client codes. Reduce request roundtrips Provide API management Solve cross-domain issue for web app
  • 11. How to find the service? In order to access a service, you need to know the exact endpoint(IP & Port) IP & Port dynamically assigned IP & Port dynamically changing How to load balancing Service endpoint doesn’t change a lot Consumer can get the endpoint from configuration files “Traditional” application The IP & port is dynamically allocated IP & port changes along with the scaling/ updating/ self-healing of service instances Microservice application
  • 12. Solution: Service Registration & Discovery Service Registration: ➢ Service providers register themselves to the registry when start up ➢ Update service information when service instances change Service Discovery: ➢ Service consumers query registry to find the locations of service ➢ Two approaches: Server-side discovery & Client-side discovery Service Registry Service Consumer Load Balancer Service Instance A Service Instance A Service Instance A 10.74.215.33:3564 10.74.215.211:1522 10.74.215.8:3281 Invoke Load balance & invoke Query Register Server-side discovery Service Registry Service Consumer Client SDK Service Instance A Service Instance A Service Instance A 10.74.215.33:3564 10.74.215.211:1522 10.74.215.8:3281 Load balance & invoke Query Register Client-side discovery
  • 13. OPEN-O Microservice Solution: High Level Architecture Access Service (Server-side discovery) Service Provider Instance A Service Provider Instance B Registration Proxy Service Discovery (DNS Server) Service Consumer Listen Register Heartbeat Unregister Service Gateway L7 Service Updater Cache Listen to service change Query Service Registry Access Service (Client-side discovery) access serviceService Consumer L4 Service Updater Update Service Registry Listen to service change Modify and Reload Load Balance Access Service DNS Search Request Routing Service Discovery Register
  • 14. Service Discovery Client OPEN-O Microservice Solution : MSB Components Docker Listener DockerProxy Discovery Client Other Listeners OtherProxy Discovery Client register Service Gateway Service Discovery Server Cluster Discovery Server Discovery Server Discovery Server Discovery Client Service Management Healthy Check forward registration request forward registration request Registration Proxy Service Discovery Docker Cluster register OpenResty L7 Service Updater L4 Service Updater Cache Docker events Service Gateway query External Systems 3-party App UI Portal Microservices Service A Service request forward service request register Healthy Check update Service A Service AService B Service AService B Other Cluster(VM, Mesos, K8S, Swarm …) Service AService A Service AService B Service AService B Service lifecycle events
  • 15. MSB Features-High Availability 15 Service B Service C Service D Service E Service A Load balancer(DNS Server/LVS etc.) in the front end Service gateway cluster to avoid SPOF of service gateway Access Layer Service gateway as the load balancer for services Deploy multiple service instances to avoid SPOF of service Service Layer
  • 16. MSB Features-Separated gateway for External and Internal Routing 16 Stricter access control Protocol translation(eg. https->http) … Expose the services(Rest API, UI pages, etc.)which need to be accessed by external systems Solve the cross-domain issue for web app Stricter access control Adaption between external API and internal service External service gateway Routing and load balancing of the API calls within the system Less control in trusted zone Light weight communication protocol Internal API gateway (router) Registry Can add more gateways according to deployment scenarios
  • 17. MSB Features-Extendability • Extendable architecture for adding functionality  Auth: add auth to APIs, integrated with Openstack keystone  Driver routing: add driver specify routing logic for devices  Logging: API calling logging  Service health monitoring  ACL,API Analytics,Transformations  Anything: new functionality can be added on demand by plugins 17 MSB Authentication API Monitoring Logging Other Plugin
  • 21. How MSB may fit into ONAP (Service Discovery & Routing) MSB External Service gateway Service Discovery Internal API Router Other Modules… VF-C Before: …… How to call service: After: "apigateway": "https://apigateway.onap.org:80" GET https://apigateway.onap.org/api/aai/v8/cloud- infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud- region-id} API gateway routes the request to: GET https://c1.vm1.aai.simpledemo.openecomp.org:8443/aai/v8 /cloud-infrastructure/cloud-regions/cloud-region/{cloud- owner}/{cloud-region-id} Using a configuration file, we might have problems on scaling, failover and update MSB handles the service discovery & routing & LB MSB as the single entry point
  • 22. How MSB may fit into ONAP(reverse proxy for web app) Backend Server FronEnd Server Before: The business logic(rest service) forwader must be add to front end server Solve the cross-domain issue cause coupling of business logic and UI pages Service Gateway Backend Server FrontEnd Server Other Services After: service gateway to solve cross-domain issue Cache for static resources (page, picture) Clearer boundary between UI and business logic page rest