Upload
inspirex
View
208
Download
2
Tags:
Embed Size (px)
Citation preview
Agenda
Business Requirements
High uptime
Scalable
Cost effective
Communicate across boundaries
Auditing
Total Picture
Points of attention
Conclusion
Questions
Upgrade and Fault domains?
Upgrade Domain #1
Fault Domain
#1
Fault Domain
#2
Upgrade Domain #2
Upgrade Domain #3
Upgrade Domain #4
Instance 1
Instance 2
Scalability: triggers
The Microsoft Enterprise Library Autoscaling Application Block (WASABi)
<rule name="ScaleUp" description="Increases instance count" enabled="true" rank="10">
<when>
<greater operand="Avg_CPU_RoleA" than="80"/>
</when>
<actions>
<scale target="RoleA" by="1"/>
</actions>
</rule>
Cost Effectiveness: Load Leveling
0
2000
4000
6000
8000
10000
12000
1:00 4:00 7:00 10:00 13:00 16:00 19:00 22:00
Load
Cost Effectiveness: Load Leveling
0
2000
4000
6000
8000
10000
12000
1:00 4:00 7:00 10:00 13:00 16:00 19:00 22:00
Load
Max
Cost Effectiveness: Load Leveling
0
2000
4000
6000
8000
10000
12000
1:00 4:00 7:00 10:00 13:00 16:00 19:00 22:00
Load
Used
Max
Load Leveling: don’t keep user waiting
Your request has been received.
Please check back later to view the status of your request.
RelayService
<endpoint contract="Service.IProblemSolver"
binding="netTcpRelayBinding"
address="sb://**namespace**.servicebus.windows.net/yourApp"
behaviorConfiguration="sbTokenProvider"/>
Auditing vs logging
Logging
User logged in
Exception occured in the application
Database down
Auditing
A Restock has happened
An order has shipped
Auditing
using (IDbTransaction tran = connection.BeginTransaction())
{
try
{
// your code
tran.Commit();
}
catch
{
tran.Rollback();
throw;
}
}
Available
boxes
0
Orders
shipped
0
Boxes sold 0
Available
boxes
50
Orders
shipped
0
Boxes sold 0
Available
boxes
40
Orders
shipped
1
Boxes sold 10
Available
boxes
30
Orders
shipped
2
Boxes sold 20
Available
boxes
10
Orders
shipped
3
Boxes sold 40
Warehouse
Event source?
Restocked (50 Boxes of wine)
OrderShipped (10 boxes of wine)
OrderShipped(10 boxes of wine)
OrderShipped(20 boxes of wine)
Warehouse event store
The total picture
1.High Uptime
2.Scalability
3.Cost effectiveness
4.Communicate across boundaries
5.Auditing
Points of attention
Deploy minimum 2 role instances Componentize your system with queues and topics Queues can level your load to improve cost effectiveness Scale wisely Dont’t keep users waitingWatch out for bottlenecksNon scalable components
Relay services
Conclusion
This is only the beginning! Architect for the cloud. This is based on experience. Contact usExisting applications
New applications
Contact us
Luc Bos
QFrame
Veldkant 33b, 2550 Kontich
@qframedotnet / @bosdev
http://www.qframe.be