From Server to Service: How Microsoft moved Team Foundation Server to Windows Azure Grant Holliday Senior Premier Field Engineer AZR323b
Demo A quick introduction to Team Foundation Service
James Hamilton
The goal should be that a highly-reliable, 24x7 service should be maintained by a small 8x5 operations staff. Engineer the problems. Don’t scale the operations team.
Low-cost administration correlates highly with how closely the development, test, and operations teams work together
The product team is held accountable for the success of the service. This drives the right behaviours.
Brian Harry Version Control Work Item Tracking..Agile Tools Service Delivery Team * Missing a couple of management/organisational layers, but the point is that everybody is on the same team
Things to think about Building a Service
Error NumberError MessageCause 40197The service has encountered an error processing your request. Please try again. In case of a hardware failure, SQL Database provides automatic failover to optimize availability for your application. Some failover actions may result in an abrupt termination of a session The service is currently busy. Retry the request after 10 seconds. When soft throttling limit for worker threads on a machine is exceeded, the database with the highest requests per second is throttled The session has been terminated because of excessive transaction log space usage. Try modifying fewer rows in a single transaction. Uncommitted transactions can block the truncation of log files.
Transient Fault Handling Application Block using (SqlConnection conn = new SqlConnection(connString)) { // Attempt to open a connection using the // specified retry policy. conn.OpenWithRetry(retryPolicy); //... execute SQL queries }
Transient Fault Handling Application Block using (IDataReader dataReader = selectCommand.ExecuteReaderWithRetry(retryPolicy)) { if (dataReader.Read()) { //... etc
ServiceQualifications of Downtime Cloud Services (compute) “Role Instance Downtime” is the total accumulated minutes for all role instances during a billing month that had been deployed and started by action initiated by Customer which had not been running for longer than two minutes without detection and corrective action being initiated. StorageWe guarantee that at least 99.9% of the time we will successfully process correctly formatted requests that we receive to add, update, read and delete data. “Error Rate” is the total number of Failed Storage Transactions divided by the Total Storage Transactions during a set time interval (currently set at one hour). SQL DatabaseSQL Database will maintain a “Monthly Availability” of 99.9% during a billing month. A 5-minute interval is marked as unavailable if all the customer’s attempts to establish a connection to SQL Azure fail or take longer than 30 seconds to succeed, or if all basic valid read and write operations (as described in our technical documentation) fail after connection is established. Exchange Online Any period of time when end users are unable to send or receive with Outlook Web Access.
DNS VIP Web RoleWorker Role Role Instance #1…n New DNS Record VIP X.Y Web Role Role Instance #1 Config DBCustomer DB Attach Debugger
Planning for Failure in Cloud Applications (AZR333 - Fri 11:30) Exploring Windows Azure Storage (AZRILL102 - Fri 11:30) Research Paper ( Exam : Designing and Developing Windows Azure Applications Find Me Later at the Speaker Lounge (12:45 – 1:45)