Download presentation
Presentation is loading. Please wait.
Published byDorcas Hood Modified over 6 years ago
1
Microsoft 2016 11/11/2018 3:24 PM BRK2235 How Wintellect built the WintellectNOW training service on Azure: A Case Study Todd Fine Jeffrey Richter CEO Co-Founder © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
2
Todd Fine CEO of Wintellect, Microsoft Regional Director - Atlanta
11/11/2018 3:24 PM Todd Fine CEO of Wintellect, Microsoft Regional Director - Atlanta @toddfine © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
3
11/11/2018 3:24 PM Jeffrey Richter Microsoft Software Engineer, Wintellect Co-Founder, & Author @JeffRichter © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
4
Agenda A bit of history Architecture presentation (key pieces)
11/11/2018 3:24 PM Agenda A bit of history Why and how we came to build WintellectNOW Quick product demo Architecture presentation (key pieces) Interactive discussion and Q&A © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
5
A bit of history… (How we got here)
11/11/2018 3:24 PM A bit of history… (How we got here) © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
6
Wintellect Core Services
11/11/2018 3:24 PM Wintellect Core Services Consulting Custom software application development and architecture Instructor Led Training Microsoft’s #1 training vendor for over a decade On-Demand Training World class, subscription based online training © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
7
Quick timeline Wintellect to WintellectNOW
11/11/2018 3:24 PM Quick timeline Wintellect to WintellectNOW Founded in 2000 by three industry luminaries Initially a top tier ILT (Instructor-Led Training) company providing hard core developer training Added Consulting (AppDev and related) in 2005 Added WintellectNOW in 2013 © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
8
Industry influencers in the training arena
11/11/2018 3:24 PM Industry influencers in the training arena Became Microsoft’s #1 dev training vendor worldwide 35,000 to 50,000 MS developers through our training Highest ratings of any training vendor each year Required curriculum for subset of MS developers In 2012, Microsoft asked us if we could create an online version of our training for higher scale (and market was moving that way as well) © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
9
11/11/2018 3:24 PM What is WintellectNOW A worldwide, video-based, developer training service also available via Microsoft's Visual Studio Dev Essentials program. Designed to be highly scalable and fault-tolerant, it’s built on top of various Microsoft Azure services and architected from the start to be extremely memory and storage performant. The session discusses how the WintellectNOW application is architected with an emphasis on a highly optimized use of Azure storage, for maximum performance and efficiency. We also focus on techniques used to reduce costs of running the service. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
10
Want to try it out? Go to www.WintellectNOW.com
11/11/2018 3:24 PM Want to try it out? Go to Use Promo Code: IGNITE2016 © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
11
Business and Technical Goals
11/11/2018 3:24 PM Business and Technical Goals Build a state of the art platform Latest technology stack Build on the cloud Highly cost optimized Designed to the bit level to be the lowest cost platform Highly scalable (performant) Scale to millions of users © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
12
WintellectNOW “value prop”
11/11/2018 3:24 PM WintellectNOW “value prop” World class on-demand developer training Access the same training Microsoft’s worldwide developers enjoy Best Value Pricing: Committed to highest quality content at best value price 20-50% lower pricing than our closest competitor More than training, a true on-line reference system Learn at your own speed at any time Available on multiple devices (PC, Tablets, phones) User bookmarks, personalized user queue’s, and advanced search and sort features Easy to use business management functions Downloadable sample code and supplements at no additional costs Over 280courses available NOW, 500 by the end of 4 © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
13
11/11/2018 3:24 PM Demo WintellectNOW Library, Promo codes, user info (watched video history, bookmarks, user queue), account payment info, a graph showing watched history © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
14
Architecture Jeffrey Richter
11/11/2018 3:24 PM Architecture Jeffrey Richter © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
15
WintellectNOW Architecture Key Points
11/11/2018 3:24 PM WintellectNOW Architecture Key Points VideoLibrary.xml Read at VM boot Reread 5 minutes Update w/new videos Client downloadable User Login Account info Watched Videos Bookmarks Queue blob Ongoing Logs Promo code usage Account management ops Periodic Logs w/GC Errors (daily) Account user watching (monthly) IpToCountry.csv Read at VM boot Reread daily Seldom updated External services Video/CDN Payment User support Forums PromoCode Lookup when user registers Account VideoStats Tracks watched videos for author royalties © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
16
WintellectNOW Storage Architecture (1)
11/11/2018 3:24 PM WintellectNOW Storage Architecture (1) Types is lowercase string AccountId & UserId are GUIDs Stable IDs; user can change Relationships User is admin of 0+ accounts User is grantee of 0+ accounts Payment Props Properties for payment types: User Table PK RK UserId AdminOf GranteeOf “” AccountId[] Account Table PK RK Admins Grantees Payment Props… AccountId “” [] … abstract class Account { /* Common properties */ } sealed class CreditCardAccount : Account { /* Credit card props */ } sealed class DirectDebitAccount : Account { /* Direct debit prop */ } sealed class PurchaseOrderAccount : Account { /* PO props */ } © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
17
Adding/Removing Account Administrator/Grantee
11/11/2018 3:24 PM Adding/Removing Account Administrator/Grantee Cardinal rule: An account never trusts a user Whenever user tries to access an account, account always validates user Admin adds/removes user to account Update account & send notification to user (URL embeds the AccountID) Admin can resend , if necessary User clicks link If user doesn’t exists, register first If account knows user, add account to user; else remove account from user (idempotent) Solves all these problems: User never clicks (maybe they never get it) User clicks multiple times (idempotent) User clicks (after) another admin removes permission Malicious user changes URL to account not granting access (treated as above) © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
18
WintellectNOW Storage Architecture (2)
11/11/2018 3:24 PM WintellectNOW Storage Architecture (2) Grouped by user Easy to update a specific video Can filter to last # days Clients sort by video, time, etc. Watched Video Table PK RK Timestamp Offset MinutesWatched UserId VideoId DateTime Int32 Bookmark Table PK RK Timestamp Bookmarks UserId VideoId DateTime OffsetAndNote[] Grouped by user/video Easy to lookup a specific video Can filter to last # of days Queued items are manipulated all together: adding (to end), removing (from middle), showing and ordering User Video Queue Container (Blob name=UserId) © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
19
Logging Infrastructure
11/11/2018 3:24 PM Logging Infrastructure Uses blobs not tables: Cheaper, faster Easily downloadable for tools (ex: Excel) Best effort (entries could be lost if VM recycles) Done asynchronously allowing quicker user response Two kinds of logs: Ongoing (keeps last 50,000 entries) Promo code usage/registrations Account management operations (user grants/revokes) Periodic (daily, weekly, monthly quarterly, or yearly) with GC cleanup Errors: Unhandled exceptions [daily] Account’s user transcript (user video watching history) [monthly – billing cycle] © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
20
Jeffrey Richter's Guide to Working with Azure Storage Tables
11/11/2018 3:24 PM Jeffrey Richter's Guide to Working with Azure Storage Tables Endorsed by Microsoft’s Azure Storage team Download from: Guide’s purpose: Improve developers mental model with respect to Tables Discuss good and bad parts of Microsoft's Azure storage library Show good patterns and practices related to Tables Introduce Jeffrey/Wintellect's (free) Azure Storage .NET client library Blob features: Logging, periodic elector Table features: Backup/restore, optimistic concurrency, easy filter construction, simple segmented result processing, property replacer/changer, pattern for extensible entity schemas, collection ↔ property serializer Download from: © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
21
Free IT Pro resources To advance your career in cloud technology
Microsoft Ignite 2016 11/11/2018 3:24 PM Free IT Pro resources To advance your career in cloud technology Plan your career path Microsoft IT Pro Career Center Cloud role mapping Expert advice on skills needed Self-paced curriculum by cloud role $300 Azure credits and extended trials Pluralsight 3 month subscription (10 courses) Phone support incident Weekly short videos and insights from Microsoft’s leaders and engineers Connect with community of peers and Microsoft experts Get started with Azure Microsoft IT Pro Cloud Essentials Demos and how-to videos Microsoft Mechanics Connect with peers and experts Microsoft Tech Community © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
22
Please evaluate this session
11/11/2018 3:24 PM Please evaluate this session Your feedback is important to us! From your PC or Tablet visit MyIgnite at From your phone download and use the Ignite Mobile App by scanning the QR code above or visiting © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
23
Questions and discussion
11/11/2018 3:24 PM Questions and discussion © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
24
11/11/2018 3:24 PM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.