SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

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.