Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Running, improving and maintaining a site in th...
Search
Shravan Kumar Kasagoni
May 19, 2015
Technology
0
37
Running, improving and maintaining a site in the real world
Shravan Kumar Kasagoni
May 19, 2015
Tweet
Share
More Decks by Shravan Kumar Kasagoni
See All by Shravan Kumar Kasagoni
Functional Programming in JavaScript
shravan
0
36
ASP.NET Core – Deep Dive on Building a Real Website
shravan
0
42
Cross-Platform Mobile Development using Visual Studio and Xamarin
shravan
1
40
Angular 2 with TypeScript
shravan
1
160
Building Next Generation Web Apps and Services using ASP.NET 5
shravan
0
89
Writing Application-Scale JavaScript:TypeScript
shravan
0
56
Real-time Communications with SignalR
shravan
0
50
Open Web Interface for .NET
shravan
0
140
Glance at Visual Studio 2013 ASP.NET and Web Tools 2013
shravan
0
76
Other Decks in Technology
See All in Technology
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
490
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
120
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
260
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
340
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
100
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Facilitating Awesome Meetings
lara
55
6.5k
The Cult of Friendly URLs
andyhume
79
6.6k
Into the Great Unknown - MozCon
thekraken
40
2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Code Review Best Practice
trishagee
71
19k
Transcript
Running, improving and maintaining a site in the real world
Shravan Kumar Kasagoni
Agenda 1) Scenario: Scale 2) Scenario: Adapt to Change 3)
Scenario: Environments
Let’s get Real
Scenario: Scale
Scenario description Your site load varies over time. You need
to adapt. Smoothly. 5
Load profiles 6 INCREASING BATCH Load No load Load PREDICTABLE
UNPREDICTABLE
Step 1: Preserve server bandwidth PROBLEM: Your servers are wasting
bandwidth serving static files. 7
Step 1: Preserve server bandwidth SOLUTION: Serve static files from
blob storage. This is a step towards to delivering content from a content delivery network (CDN). 8
Step 2: Caching PROBLEM: Your servers have finite resources. You
don’t want to repeat work you don’t have to. 9
Step 2: Caching SOLUTION: Store ASP.NET page output cache in
Windows Azure Caching Service. 10
Step 3: Manual scale PROBLEM: You need more server resources.
11
Step 2: Manual Scale SOLUTION: Add more servers (horizontal scaling).
Use more powerful servers (vertical scaling). 12
13
Step 3: Auto-scale PROBLEM: Manual scaling reaction time means outages.
Manual scaling is busy work. 14
Step 2: Auto-scale SOLUTION: Use auto-scale. 15
16
Demo Scenario: Scale
Scenario: Change
Scenario description Your site isn’t done when you deploy to
production. You need to add new features. Change adds risk. 19
Step 1: Manage database schema PROBLEM: Your database and application
code need to stay in sync. 20
Step 1: Manage database schema SOLUTION: Use Entity Framework Data
Migrations. 21
Demo Scenario: Data migrations
Step 2: Manage deployments PROBLEM: People sometimes make misteaks. 23
Step 2: Manage deployments SOLUTION: Use deployment rollback. 24
25
Demo Scenario: Deployment rollback
Step 3: Leverage services PROBLEM: Large changes often require you
to add new features quickly. 27
Step 3: Leverage services SOLUTION: Take advantage of available Windows
Azure services. 28
Demo Scenario: Windows Azure Active Directory
Scenario: Multiple Environments
Scenario description Running a real site requires multiple internal environments.
Global availability requires multiple worldwide deployments. 31
Step 1: Dev / Test environments PROBLEM: Setting up development
web server environments is time consuming. You need to see your code running somewhere other than deployment before deploying. 32
Step 1: Dev / Test environments SOLUTION: Environment consistency via
deployment setup in Windows Azure Web Sites or VM images. Cost savings by paying only for what you need. 33
DISCOUNT VIRTUAL MACHINES 33% 25% DISCOUNT RESERVED WEB SITES CLOUD
SERVICES, HDINSIGHT MONTHLY CREDIT VISUAL STUDIO ULTIMATE WITH MSDN $150 CREDIT CARD REQUIRED NO MONTHLY CREDIT VISUAL STUDIO PREMIUM WITH MSDN $100 MONTHLY CREDIT VISUAL STUDIO PROFESSIONAL WITH MSDN $50
Step 2: Global Reach PROBLEM: It’s hard to deploy a
consistent environment in multiple datacenters. 35
Step 2: Global Reach SOLUTION: Use automated deployment workflow to
ensure consistency in deployment process. 36
Step 3: Continuous Delivery PROBLEM: Bugs and issues in your
code get harder to fix the longer it takes to find out about them. Deployment is a risky, error-prone operation. 37
Step 3: Continuous Delivery SOLUTION: Use continuous integration to automate
build, unit & integration testing. Use automated deployment workflow to ensure consistency in deployment process. 38
Demo Scenario: Multiple environment
Thank You