Need to develop service to adhere to certain design principles.
Cloud services:
Always on.
You should expect failures.
Scale out dynamically.
Azure manages services not just services.
Cloud computing:
- scale out not scale up (add more memory for example).
- - this probably has the greatest impact on hat you architecture.
- automation of scaling is kay as well.
Requirements of design of service.
Need use advanced techniques for managing state of a services.
You service code should be written to expect a node to fail and restart with cached state.
Your software should be prepared to respond to certain system events.
As your services grow and the longer it is around the more important it is to adhere to these guidelines.
Lifecycle of service:
Coding and modeling - developer
Provisioning - developer
Deployment - automated
Maintain goal state - automated
What is the size of a node? Presenter mentioned provisioning 1000 nodes.
Azure elements:
Service
Role
Group
End point
Channel
Interface
Configuration settings
Azure is dog fooding. They built azure with azure.
Slide above shows how Microsoft safeguards against failure.
Update domains safeguard against loosing writes when the servers drop.
The above two are not in the sdk. You don't have to use them.
?? Not sure how the slide above is important.
Deployment steps:
Update domains ate used to roll out upgrades in a controlled manner.
Azure provides extensive monitoring.
Services can request access to resources on machines but only the directory. This cache must be checked before using in case if restart.
Talked about how azure removes all consideration for data center management. This is what we need to eliminate the most.
Read lists above.
No comments:
Post a Comment