SlideShare ist ein Scribd-Unternehmen logo
1 von 29
You Too Can Be a Radio Host or How We Scaled a .NET Startup and Had Fun Doing it! Aleksandr Yampolskiy and Rob Blackin
Who Are We? Dr. Aleksandr Yampolskiy, CTO    (alex@cinchcast.com) Previously head of security and compliance for Gilt Groupe companies, in charge of securing IT infrastructure, secure architecture, PCI/SOX compliance, etc.  Various leadership roles in Goldman Sachs, Oracle, Microsoft building scalable, enterprise software for IDM, SSO, AuthN/AuthZ.  Ph.D. in Crypto Tools for Efficient Distributed Computing Hobbies: chess, Edward Hopper, Ray Bradbury, martial arts, lately foosball and coffee. ,[object Object]
Previously Director of Development at IDT in charge of systems for global businesses in 9 diff countries
CIO of VoiceNet subsidiary of Destia.
Hobbies: competitive volleyball player, as well as basketball, father of 3 girls and lately cranking out code at midnight.,[object Object]
~30 Employees
10 of them in Tech
HQ in New York, NY
Millions of pageviews a day
Powering over 1,500 hours of content creation every dayConfidential © 2011 Cinchcast - All Rights Reserved  3
BlogTalkRadioOur Owned Media Property
The Cinchcast Platform Confidential © 2011 Cinchcast - All Rights Reserved  5
DEMO TIME - LIVE Confidential © 2011 Cinchcast - All Rights Reserved  6
Our Approach “Be brief, be bright, be gone” Don’t go chasing hot technologies of the day. Instead ‘mitigate your top problems’ Achieve “essential”, then worry about “excellent”. Be a “how team” instead of a “no team”. Build security into the software development lifecycle. Love And Other Drugs 
Current Technology Stack .NET 3.5 C# Jenkins + Nunit Sauce On Demand - Selenium Gomez + NewRelic for monitoring JQuery ASP.NET and MVC 3 IIS 6 SQL SERVER 2005 Windows Server 2003 and 2008 Red 5 Asterisk, Pactolus AiCache Aptimize
Development Environment Visual Studio 2010 StyleCop / Resharper experimentation. Scrum methodology for large features + adopting Kanban for various bug fixes JIRA for project management + Greenhopper Svn, Jenkins
Metrics Not using metrics for your dev process is like landing a plane without any instruments in a storm. Code coverage Site throughput Number of critical security bugs Time to fix Blocker/Critical/Major JIRA issues. Percentage of developers using your site. Etc.
What Do Metrics Tell Us?
Architecture
BlogTalkRadio 2007
BlogTalkradio 2008
BlogTalkRadio 2009
BlogTalkRadio 2010
BlogTalkRadio 2011
Evolution Summary 2008 – Multiple web servers via Coyote  	LB and Scaleout for session state 2009 – Read Only databases through replication and aptimize for combining JS, CSS and Images on the fly. 2010  - aiCache for caching html,  second farm on amazon for specific traffic, specializtion of web and database servers. 2011 – Contendo cdn, services framework, retired  aptimize due to Continuous Integration process, Service broker queuing.
Telephony Overview
Cinch.fm Overview
Decoupling spaghetti code Search Service Cache Service AuthN Service AuthZ Service ,[object Object]
 Can be used either as DLL imports or through RESTful calls on the network.BlogTalkRadio Cinch.FM Cinchcast

Weitere ähnliche Inhalte

Was ist angesagt?

Federated Storage Resources GCC2018 https://vimeo.com/291738189
Federated Storage Resources GCC2018 https://vimeo.com/291738189Federated Storage Resources GCC2018 https://vimeo.com/291738189
Federated Storage Resources GCC2018 https://vimeo.com/291738189
Vahid Jalili
 
How it's made - MyGet.org - AzureConf
How it's made - MyGet.org - AzureConfHow it's made - MyGet.org - AzureConf
How it's made - MyGet.org - AzureConf
Maarten Balliauw
 
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
DataStax
 
CloudStack, jclouds, Jenkins and CloudCat
CloudStack, jclouds, Jenkins and CloudCatCloudStack, jclouds, Jenkins and CloudCat
CloudStack, jclouds, Jenkins and CloudCat
Andrew Bayer
 

Was ist angesagt? (20)

Azure governance v4.0
Azure governance v4.0Azure governance v4.0
Azure governance v4.0
 
Get ready for Jamstack with Sitecore Experience Edge
Get ready for Jamstack with Sitecore Experience EdgeGet ready for Jamstack with Sitecore Experience Edge
Get ready for Jamstack with Sitecore Experience Edge
 
David Fetter, Disqus
David Fetter, DisqusDavid Fetter, Disqus
David Fetter, Disqus
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
 
It's a Dangerous World
It's a Dangerous World It's a Dangerous World
It's a Dangerous World
 
Containers on Microsoft Azure
Containers on Microsoft AzureContainers on Microsoft Azure
Containers on Microsoft Azure
 
Global Azure Bootcamp 2018 - Oh no my organization went Azure
Global Azure Bootcamp 2018 - Oh no my organization went AzureGlobal Azure Bootcamp 2018 - Oh no my organization went Azure
Global Azure Bootcamp 2018 - Oh no my organization went Azure
 
Federated Storage Resources GCC2018 https://vimeo.com/291738189
Federated Storage Resources GCC2018 https://vimeo.com/291738189Federated Storage Resources GCC2018 https://vimeo.com/291738189
Federated Storage Resources GCC2018 https://vimeo.com/291738189
 
AZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingAZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meeting
 
How it's made - MyGet.org - AzureConf
How it's made - MyGet.org - AzureConfHow it's made - MyGet.org - AzureConf
How it's made - MyGet.org - AzureConf
 
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
 
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
 
CloudStack, jclouds, Jenkins and CloudCat
CloudStack, jclouds, Jenkins and CloudCatCloudStack, jclouds, Jenkins and CloudCat
CloudStack, jclouds, Jenkins and CloudCat
 
MySQL 8.0 from December London Open Source Database Meetup
MySQL 8.0 from December London Open Source Database MeetupMySQL 8.0 from December London Open Source Database Meetup
MySQL 8.0 from December London Open Source Database Meetup
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...
[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...
[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...
 
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail
 
Replicate Elasticsearch Data with Cross-Cluster Replication (CCR)
Replicate Elasticsearch Data with Cross-Cluster Replication (CCR)Replicate Elasticsearch Data with Cross-Cluster Replication (CCR)
Replicate Elasticsearch Data with Cross-Cluster Replication (CCR)
 
Creating real life serverless solutions with Azure Functions - dotNet Amsterd...
Creating real life serverless solutions with Azure Functions - dotNet Amsterd...Creating real life serverless solutions with Azure Functions - dotNet Amsterd...
Creating real life serverless solutions with Azure Functions - dotNet Amsterd...
 
What's New in Nuxeo Platform 7.3
What's New in Nuxeo Platform 7.3 What's New in Nuxeo Platform 7.3
What's New in Nuxeo Platform 7.3
 

Andere mochten auch (8)

Causes of dropping_out
Causes of dropping_outCauses of dropping_out
Causes of dropping_out
 
Spotify vs Radio Ads
Spotify vs Radio AdsSpotify vs Radio Ads
Spotify vs Radio Ads
 
Urbanization
UrbanizationUrbanization
Urbanization
 
Threshold and Proactive Pseudo-Random Permutations
Threshold and Proactive Pseudo-Random PermutationsThreshold and Proactive Pseudo-Random Permutations
Threshold and Proactive Pseudo-Random Permutations
 
Search Engine Marketing
Search Engine MarketingSearch Engine Marketing
Search Engine Marketing
 
Towards a theory of data entangelement
Towards a theory of data entangelementTowards a theory of data entangelement
Towards a theory of data entangelement
 
Class powerpoint
Class powerpointClass powerpoint
Class powerpoint
 
New York REDIS Meetup Welcome Session
New York REDIS Meetup Welcome SessionNew York REDIS Meetup Welcome Session
New York REDIS Meetup Welcome Session
 

Ähnlich wie You Too Can Be a Radio Host Or How We Scaled a .NET Startup And Had Fun Doing It

Drizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceDrizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's Conference
Brian Aker
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak
 

Ähnlich wie You Too Can Be a Radio Host Or How We Scaled a .NET Startup And Had Fun Doing It (20)

Top 8 WCM Trends 2010
Top 8 WCM Trends 2010Top 8 WCM Trends 2010
Top 8 WCM Trends 2010
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural Overview
 
UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015
 
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Cloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersCloud State of the Union for Java Developers
Cloud State of the Union for Java Developers
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI Mobile
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
 
Drizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceDrizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's Conference
 
How leading financial services organisations are winning with tech
How leading financial services organisations are winning with techHow leading financial services organisations are winning with tech
How leading financial services organisations are winning with tech
 
Survive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and TricksSurvive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and Tricks
 
Os Owens
Os OwensOs Owens
Os Owens
 
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
 
Building Social Enterprise with Ruby and Salesforce
Building Social Enterprise with Ruby and SalesforceBuilding Social Enterprise with Ruby and Salesforce
Building Social Enterprise with Ruby and Salesforce
 
Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)
 
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
 
C# Client to Cloud
C# Client to CloudC# Client to Cloud
C# Client to Cloud
 

Mehr von Aleksandr Yampolskiy

"Managing software development" by Peter Bell
"Managing software development" by Peter Bell"Managing software development" by Peter Bell
"Managing software development" by Peter Bell
Aleksandr Yampolskiy
 
Malware Goes to the Movies - Briefing
Malware Goes to the Movies - BriefingMalware Goes to the Movies - Briefing
Malware Goes to the Movies - Briefing
Aleksandr Yampolskiy
 
Eight simple rules to writing secure PHP programs
Eight simple rules to writing secure PHP programsEight simple rules to writing secure PHP programs
Eight simple rules to writing secure PHP programs
Aleksandr Yampolskiy
 
Inoculation strategies for victims of viruses
Inoculation strategies for victims of virusesInoculation strategies for victims of viruses
Inoculation strategies for victims of viruses
Aleksandr Yampolskiy
 
Secure information aggregation in sensor networks
Secure information aggregation in sensor networksSecure information aggregation in sensor networks
Secure information aggregation in sensor networks
Aleksandr Yampolskiy
 
A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keys
Aleksandr Yampolskiy
 
Spreading Rumors Quietly and the Subgroup Escape Problem
Spreading Rumors Quietly and the Subgroup Escape ProblemSpreading Rumors Quietly and the Subgroup Escape Problem
Spreading Rumors Quietly and the Subgroup Escape Problem
Aleksandr Yampolskiy
 

Mehr von Aleksandr Yampolskiy (18)

"Managing software development" by Peter Bell
"Managing software development" by Peter Bell"Managing software development" by Peter Bell
"Managing software development" by Peter Bell
 
Recruiting Great Engineers in Six Easy Steps
Recruiting Great Engineers in Six Easy StepsRecruiting Great Engineers in Six Easy Steps
Recruiting Great Engineers in Six Easy Steps
 
Malware Goes to the Movies - Briefing
Malware Goes to the Movies - BriefingMalware Goes to the Movies - Briefing
Malware Goes to the Movies - Briefing
 
Privacy and E-Commerce
Privacy and E-CommercePrivacy and E-Commerce
Privacy and E-Commerce
 
Eight simple rules to writing secure PHP programs
Eight simple rules to writing secure PHP programsEight simple rules to writing secure PHP programs
Eight simple rules to writing secure PHP programs
 
Social media security challenges
Social media security challengesSocial media security challenges
Social media security challenges
 
Social Engineering and What to do About it
Social Engineering and What to do About itSocial Engineering and What to do About it
Social Engineering and What to do About it
 
OWASP Much ado about randomness
OWASP Much ado about randomnessOWASP Much ado about randomness
OWASP Much ado about randomness
 
Malware goes to the movies
Malware goes to the moviesMalware goes to the movies
Malware goes to the movies
 
Inoculation strategies for victims of viruses
Inoculation strategies for victims of virusesInoculation strategies for victims of viruses
Inoculation strategies for victims of viruses
 
Number theory lecture (part 1)
Number theory lecture (part 1)Number theory lecture (part 1)
Number theory lecture (part 1)
 
Number theory lecture (part 2)
Number theory lecture (part 2)Number theory lecture (part 2)
Number theory lecture (part 2)
 
Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?
 
Secure information aggregation in sensor networks
Secure information aggregation in sensor networksSecure information aggregation in sensor networks
Secure information aggregation in sensor networks
 
A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keys
 
Price of anarchy is independent of network topology
Price of anarchy is independent of network topologyPrice of anarchy is independent of network topology
Price of anarchy is independent of network topology
 
Business Case Studies
Business Case Studies Business Case Studies
Business Case Studies
 
Spreading Rumors Quietly and the Subgroup Escape Problem
Spreading Rumors Quietly and the Subgroup Escape ProblemSpreading Rumors Quietly and the Subgroup Escape Problem
Spreading Rumors Quietly and the Subgroup Escape Problem
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

You Too Can Be a Radio Host Or How We Scaled a .NET Startup And Had Fun Doing It

  • 1. You Too Can Be a Radio Host or How We Scaled a .NET Startup and Had Fun Doing it! Aleksandr Yampolskiy and Rob Blackin
  • 2.
  • 3. Previously Director of Development at IDT in charge of systems for global businesses in 9 diff countries
  • 4. CIO of VoiceNet subsidiary of Destia.
  • 5.
  • 7. 10 of them in Tech
  • 8. HQ in New York, NY
  • 10. Powering over 1,500 hours of content creation every dayConfidential © 2011 Cinchcast - All Rights Reserved 3
  • 12. The Cinchcast Platform Confidential © 2011 Cinchcast - All Rights Reserved 5
  • 13. DEMO TIME - LIVE Confidential © 2011 Cinchcast - All Rights Reserved 6
  • 14. Our Approach “Be brief, be bright, be gone” Don’t go chasing hot technologies of the day. Instead ‘mitigate your top problems’ Achieve “essential”, then worry about “excellent”. Be a “how team” instead of a “no team”. Build security into the software development lifecycle. Love And Other Drugs 
  • 15. Current Technology Stack .NET 3.5 C# Jenkins + Nunit Sauce On Demand - Selenium Gomez + NewRelic for monitoring JQuery ASP.NET and MVC 3 IIS 6 SQL SERVER 2005 Windows Server 2003 and 2008 Red 5 Asterisk, Pactolus AiCache Aptimize
  • 16. Development Environment Visual Studio 2010 StyleCop / Resharper experimentation. Scrum methodology for large features + adopting Kanban for various bug fixes JIRA for project management + Greenhopper Svn, Jenkins
  • 17. Metrics Not using metrics for your dev process is like landing a plane without any instruments in a storm. Code coverage Site throughput Number of critical security bugs Time to fix Blocker/Critical/Major JIRA issues. Percentage of developers using your site. Etc.
  • 18. What Do Metrics Tell Us?
  • 25. Evolution Summary 2008 – Multiple web servers via Coyote LB and Scaleout for session state 2009 – Read Only databases through replication and aptimize for combining JS, CSS and Images on the fly. 2010 - aiCache for caching html, second farm on amazon for specific traffic, specializtion of web and database servers. 2011 – Contendo cdn, services framework, retired aptimize due to Continuous Integration process, Service broker queuing.
  • 28.
  • 29. Can be used either as DLL imports or through RESTful calls on the network.BlogTalkRadio Cinch.FM Cinchcast
  • 30. Services Based on Martin framework (https://github.com/thegrubbsian/Martin) Lightweight .NET framework mapping URLs to actions. Modified framework to reflect interfaces and automatically expose all their methods.
  • 31.
  • 32. Not all data is relational, so database isn’t always a good medium.
  • 33. Logging is key to detecting problems.
  • 34.
  • 36. Caching “Donut caching” : caches most of the page except a few dynamic regions. .Net caching via Fixed Expiration myCache.Insert("LiveChatRooms", liveRooms, myDependency, DateTime.UtcNow.AddMinutes(2), Cache.NoSlidingExpiration); .Net caching via Sql Dependency Expiration SqlCacheDependency myHDDependency = new SqlCacheDependency(DBName, "Genres"); myCache.Insert(DictionaryOfGenreEntityByID, myDictionary, myHDDependency); Data Caching via Scaleout return DCacheSoss.GetObjectFromNamedCache(CacheName, UniqueKeyName); CDN caching of JS, CSS and Images via Contendo and Limelight HTML Caching via CDN – Contendo, Limelight, aiCache
  • 37. Cool Tech Projects On the Horizon Personalization of radio shows based on customer’s preferences. Build out of SOA Cinchcast platform from Python, .NET, Java components communicating as RESTFUL JSON-based services Moving real-time search to ElasticSearch (right now just for RSS/bots) Improving our caching layer performance (too many hit misses) A/B testing framework
  • 38.
  • 39. Don’t chase hot technologies (e.g. MemCached mania). Sometimes reinventing the wheel is good.
  • 40. REST+JSON > SOAP+XML
  • 41.
  • 44. If you are good we’ll find a role for you : jobs@cinchcast.comWell-funded profitable startup used by millions. Patent-pending radio tech utilized in a new way. Medical/dental/etc. benefits. Great office space in mid-town right near subway. Flexible hours. Top-notch compensation + stock options.