SlideShare une entreprise Scribd logo
1  sur  34
SERVER SIDE BASICS
       Keith Swallow
  PDX Web & Design Meetup
TONIGHT

• DNS: What     Does 72.26.203.99 Mean?

• HTTP: Its   Just Text!

• MVC: The Way      of Web Apps

• Recipes: Login   and Email

• Scaling: More, Smaller, Faster
DNS
What Do Those Numbers Mean?
DOMAIN NAMING SERVICE


• Computers    are bad with names, prefer numbers

• People   are bad with numbers, prefer names

• DNS   bridges the gap
• You   type http://xkcd.com in a browser

• Your   computer asks its local DNS server where xkcd.com is

• That   DNS server asks an authoritative server

• Then   relays the IP address (72.26.203.99)
DOMAIN NAMING SERVICE

                where is xkcd.com?




your computer
                                     DNS server
DOMAIN NAMING SERVICE

                where is xkcd.com?


                                                  where is xkcd.com?

your computer
                                     DNS server




                                                                   authoritative
                                                                   DNS server
DOMAIN NAMING SERVICE

                where is xkcd.com?


                                                  72.26.203.99

your computer
                                     DNS server




                                                                 authoritative
                                                                 DNS server
DOMAIN NAMING SERVICE

                72.26.203.99


                                            72.26.203.99

your computer
                               DNS server




                                                           authoritative
                                                           DNS server
DOMAIN NAMING SERVICE

                72.26.203.99


                                                  72.26.203.99

your computer
                                     DNS server




                                                                 authoritative
                                                                 DNS server
                       xkcd.com
                      72.26.203.99
HTTP
Its Just Text!
HYPER TEXT TRANSFER
             PROTOCOL
• Request

 • Ask   for data

• Response

 • Read     response headers

 • Act   on response body

• Repeat
HTTP VERBS


• GET

• POST

• PUT

• DELETE
HTTP REQUEST

Host: xkcd.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/
  20100401 Firefox/3.6.3

Accept: text/html,application/xhtml+xml,application/xml;

Accept-Language: en-us,en;

Accept-Encoding: gzip,deflate

Accept-Charset: ISO-8859-1,utf-8;

Keep-Alive: 115
HTTP RESPONSE HEADERS
Vary: Accept-Encoding

Last-Modified: Mon, 21 Feb 2011 05:00:08 GMT

Etag: "2060469139"

Content-Type: text/html

Accept-Ranges: bytes

Date: Tue, 22 Feb 2011 18:28:44 GMT

Server: lighttpd/1.4.19

Content-Length: 2799
HTTP RESPONSE BODY
<?xml version="1.0" encoding="utf-8" ?>


<?xml-stylesheet href="http://imgs.xkcd.com/s/c40a9f8.css" type="text/css" media="screen" ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">


<head>


 <title>xkcd: Computer Problems</title>


 <link rel="stylesheet" type="text/css" href="http://imgs.xkcd.com/s/c40a9f8.css" media="screen" title="Default" />


<link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="/atom.xml" />


 <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="/rss.xml" />
HTTP RESPONSE BODY
MVC
The Way of Web Apps
MODEL-VIEW-CONTROLLER

• Controller

  • Handles    the request and sends it to the correct model(s)

• Model

  • Business   logic and abstract representation of domain entities

• View

  • Display   of information contained in models
REQUEST FLOW

 Browser   Controller




  View      Model
RAILS MVC & RECIPES



• Logon

• Email
SCALING
More, Smaller, Faster
SCALING

• Horizontal    Scaling (More)

  • Throw     more hardware at the problem

• Vertical   Scaling (Smaller)

  • Cut   the problem into smaller chunks

• Caching    (Faster)

  • Increase   response speed, reduce load
HORIZONTAL SCALING

• Add more hardware to
 deliver the same content
                                       your computer
                            xkcd.com




   web
HORIZONTAL SCALING

• Add more hardware to
 deliver the same content
                                       your computer
                            xkcd.com




   web
  images
HORIZONTAL SCALING

• Add more hardware to
 deliver the same content
                                       your computer
                            xkcd.com




   web
  images
  database
HORIZONTAL SCALING

• Add more hardware to
 deliver the same content
                                       your computer
                            xkcd.com




   web
  images
  database
HORIZONTAL SCALING

• Add more hardware to
 deliver the same content
                                       your computer
                            xkcd.com




   web
  images
  database
VERTICAL SCALING
                            xkcd.com


                            web
                          images
                          database



   your computer



• Break the system into
 specialized parts
VERTICAL SCALING
                          xkcd.com


                          web




                                 images
   your computer
                                database


• Break the system into
 specialized parts
VERTICAL SCALING
                          xkcd.com


                          web




                                 images
   your computer



• Break the system into
 specialized parts                        database
VERTICAL SCALING
                             xkcd.com


                             cache




  your computer

                                          web

• Respond   quickly to the              images
                                        database
 request
QUESTIONS?
Speak now or forever hold your peace
THANK YOU!
    Keith Swallow
     keithcelt.com
 twitter.com/keithcelt
 keithcelt@gmail.com

Contenu connexe

Tendances

Deep Dive Into Windows Server 2012 Hyper-V
Deep Dive Into Windows Server 2012 Hyper-VDeep Dive Into Windows Server 2012 Hyper-V
Deep Dive Into Windows Server 2012 Hyper-V
Lai Yoong Seng
 
Getting Started With Your Virtual Dedicated Server
Getting Started With Your Virtual Dedicated ServerGetting Started With Your Virtual Dedicated Server
Getting Started With Your Virtual Dedicated Server
webhostingguy
 
Microsoft Offical Course 20410C_12
Microsoft Offical Course 20410C_12Microsoft Offical Course 20410C_12
Microsoft Offical Course 20410C_12
gameaxt
 
DotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud ServersDotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud Servers
brchapman
 
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
AOE
 

Tendances (20)

Deep Dive Into Windows Server 2012 Hyper-V
Deep Dive Into Windows Server 2012 Hyper-VDeep Dive Into Windows Server 2012 Hyper-V
Deep Dive Into Windows Server 2012 Hyper-V
 
What’s new in windows server 2012
What’s new in windows server 2012What’s new in windows server 2012
What’s new in windows server 2012
 
windows server 2012 R2
windows server 2012 R2windows server 2012 R2
windows server 2012 R2
 
Getting Started With Your Virtual Dedicated Server
Getting Started With Your Virtual Dedicated ServerGetting Started With Your Virtual Dedicated Server
Getting Started With Your Virtual Dedicated Server
 
What's New in Windows Server 2012 R2
What's New in Windows Server 2012 R2What's New in Windows Server 2012 R2
What's New in Windows Server 2012 R2
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsCloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web Apps
 
Art of Using Xen at Scale
Art of Using Xen at ScaleArt of Using Xen at Scale
Art of Using Xen at Scale
 
70-410 Practice Test
70-410 Practice Test70-410 Practice Test
70-410 Practice Test
 
Selecting the correct hypervisor for CloudStack 4.5
Selecting the correct hypervisor for CloudStack 4.5Selecting the correct hypervisor for CloudStack 4.5
Selecting the correct hypervisor for CloudStack 4.5
 
SharePoint on Azure
SharePoint on Azure SharePoint on Azure
SharePoint on Azure
 
KoprowskiT_SQLSat152_Bulgaria_HighAvailabilityOfSQLintheContextOfSLA
KoprowskiT_SQLSat152_Bulgaria_HighAvailabilityOfSQLintheContextOfSLAKoprowskiT_SQLSat152_Bulgaria_HighAvailabilityOfSQLintheContextOfSLA
KoprowskiT_SQLSat152_Bulgaria_HighAvailabilityOfSQLintheContextOfSLA
 
Scaling Xen within Rackspace Cloud Servers
Scaling Xen within Rackspace Cloud ServersScaling Xen within Rackspace Cloud Servers
Scaling Xen within Rackspace Cloud Servers
 
Hypervisor selection in CloudStack
Hypervisor selection in CloudStackHypervisor selection in CloudStack
Hypervisor selection in CloudStack
 
Microsoft Offical Course 20410C_12
Microsoft Offical Course 20410C_12Microsoft Offical Course 20410C_12
Microsoft Offical Course 20410C_12
 
EMAIL
EMAIL EMAIL
EMAIL
 
DotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud ServersDotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud Servers
 
Windows Azure Design Patterns
Windows Azure Design PatternsWindows Azure Design Patterns
Windows Azure Design Patterns
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 
Server 2008 R2 Yeniliklər
Server 2008 R2 YeniliklərServer 2008 R2 Yeniliklər
Server 2008 R2 Yeniliklər
 
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
 

En vedette

Pmw2 k3ni 1-2b
Pmw2 k3ni 1-2bPmw2 k3ni 1-2b
Pmw2 k3ni 1-2b
hariclant1
 
Pmw2 k3ni 1-1b
Pmw2 k3ni 1-1bPmw2 k3ni 1-1b
Pmw2 k3ni 1-1b
hariclant1
 
Pmw2 k3ni 1-2a
Pmw2 k3ni 1-2aPmw2 k3ni 1-2a
Pmw2 k3ni 1-2a
hariclant1
 
Pmw2 k3ni 1-3a
Pmw2 k3ni 1-3aPmw2 k3ni 1-3a
Pmw2 k3ni 1-3a
hariclant1
 
Installing active directory, dns and dhcp to
Installing active directory, dns and dhcp toInstalling active directory, dns and dhcp to
Installing active directory, dns and dhcp to
abayazed
 
6421 configuring and troubleshooting win server 2008 network infrastructure
6421   configuring and troubleshooting win server 2008 network infrastructure6421   configuring and troubleshooting win server 2008 network infrastructure
6421 configuring and troubleshooting win server 2008 network infrastructure
bestip
 
Dns protocol design attacks and security
Dns protocol design attacks and securityDns protocol design attacks and security
Dns protocol design attacks and security
Michael Earls
 
Session 4 Tp 4
Session 4 Tp 4Session 4 Tp 4
Session 4 Tp 4
githe26200
 
How to configure dns server(2)
How to configure dns server(2)How to configure dns server(2)
How to configure dns server(2)
Amandeep Kaur
 

En vedette (20)

Pmw2 k3ni 1-2b
Pmw2 k3ni 1-2bPmw2 k3ni 1-2b
Pmw2 k3ni 1-2b
 
Deploying and configuring dns service
Deploying and configuring dns serviceDeploying and configuring dns service
Deploying and configuring dns service
 
Pmw2 k3ni 1-1b
Pmw2 k3ni 1-1bPmw2 k3ni 1-1b
Pmw2 k3ni 1-1b
 
Pmw2 k3ni 1-2a
Pmw2 k3ni 1-2aPmw2 k3ni 1-2a
Pmw2 k3ni 1-2a
 
Linux04 dns 2
Linux04 dns 2Linux04 dns 2
Linux04 dns 2
 
Pmw2 k3ni 1-3a
Pmw2 k3ni 1-3aPmw2 k3ni 1-3a
Pmw2 k3ni 1-3a
 
ALCLS
ALCLSALCLS
ALCLS
 
PGCA_Agenda 2017
PGCA_Agenda 2017PGCA_Agenda 2017
PGCA_Agenda 2017
 
6421 b Module-13
6421 b Module-136421 b Module-13
6421 b Module-13
 
Windows server 2012_r2_networking_white_paper material
Windows server 2012_r2_networking_white_paper materialWindows server 2012_r2_networking_white_paper material
Windows server 2012_r2_networking_white_paper material
 
DNS Presentation
DNS PresentationDNS Presentation
DNS Presentation
 
CRISPR Gene Editing Congress, 25-27 February 2015 in Boston, MA
CRISPR Gene Editing Congress, 25-27 February 2015 in Boston, MACRISPR Gene Editing Congress, 25-27 February 2015 in Boston, MA
CRISPR Gene Editing Congress, 25-27 February 2015 in Boston, MA
 
Installing active directory, dns and dhcp to
Installing active directory, dns and dhcp toInstalling active directory, dns and dhcp to
Installing active directory, dns and dhcp to
 
6421 configuring and troubleshooting win server 2008 network infrastructure
6421   configuring and troubleshooting win server 2008 network infrastructure6421   configuring and troubleshooting win server 2008 network infrastructure
6421 configuring and troubleshooting win server 2008 network infrastructure
 
Dns protocol design attacks and security
Dns protocol design attacks and securityDns protocol design attacks and security
Dns protocol design attacks and security
 
Essa lab week 1
Essa lab week 1Essa lab week 1
Essa lab week 1
 
6421 b Module-03
6421 b Module-036421 b Module-03
6421 b Module-03
 
DNS Attacks
DNS AttacksDNS Attacks
DNS Attacks
 
Session 4 Tp 4
Session 4 Tp 4Session 4 Tp 4
Session 4 Tp 4
 
How to configure dns server(2)
How to configure dns server(2)How to configure dns server(2)
How to configure dns server(2)
 

Similaire à Server Side Basics

Presentation virtual desktops why is this so hot
Presentation   virtual desktops why is this so hotPresentation   virtual desktops why is this so hot
Presentation virtual desktops why is this so hot
solarisyourep
 
Server Virtualization
Server VirtualizationServer Virtualization
Server Virtualization
webhostingguy
 

Similaire à Server Side Basics (20)

Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201
 
AWS Summit Auckland - Running your Enterprise Windows Workload on AWS
AWS Summit Auckland  - Running your Enterprise Windows Workload on AWSAWS Summit Auckland  - Running your Enterprise Windows Workload on AWS
AWS Summit Auckland - Running your Enterprise Windows Workload on AWS
 
Presentation v mware, microsoft, or citrix whose virtual desktop
Presentation   v mware, microsoft, or citrix whose virtual desktopPresentation   v mware, microsoft, or citrix whose virtual desktop
Presentation v mware, microsoft, or citrix whose virtual desktop
 
Presentation virtual desktops why is this so hot
Presentation   virtual desktops why is this so hotPresentation   virtual desktops why is this so hot
Presentation virtual desktops why is this so hot
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Summit301 hdx media stream for flash configuration and troubleshooting
Summit301   hdx media stream for flash configuration and troubleshootingSummit301   hdx media stream for flash configuration and troubleshooting
Summit301 hdx media stream for flash configuration and troubleshooting
 
Whose Virtual Desktop is Right for You
Whose Virtual Desktop is Right for YouWhose Virtual Desktop is Right for You
Whose Virtual Desktop is Right for You
 
Getting started with MariaDB with Docker
Getting started with MariaDB with DockerGetting started with MariaDB with Docker
Getting started with MariaDB with Docker
 
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity OptionsCreating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
 
Server 2016 sneak peek
Server 2016 sneak peekServer 2016 sneak peek
Server 2016 sneak peek
 
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the CloudAmazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
 
Server Virtualization
Server VirtualizationServer Virtualization
Server Virtualization
 
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud Amazon WorkSpaces - Fully Managed Desktops in the Cloud
Amazon WorkSpaces - Fully Managed Desktops in the Cloud
 
Expandindo seu Data Center com uma infraestrutura hibrida
Expandindo seu Data Center com uma infraestrutura hibridaExpandindo seu Data Center com uma infraestrutura hibrida
Expandindo seu Data Center com uma infraestrutura hibrida
 
Creating your virtual data center - Toronto
Creating your virtual data center - TorontoCreating your virtual data center - Toronto
Creating your virtual data center - Toronto
 
PC = Personal Cloud (or how to use your development machine with Vagrant and ...
PC = Personal Cloud (or how to use your development machine with Vagrant and ...PC = Personal Cloud (or how to use your development machine with Vagrant and ...
PC = Personal Cloud (or how to use your development machine with Vagrant and ...
 
Introduction to Microsoft Workloads on AWS - AWS Online Tech Talks
Introduction to Microsoft Workloads on AWS - AWS Online Tech TalksIntroduction to Microsoft Workloads on AWS - AWS Online Tech Talks
Introduction to Microsoft Workloads on AWS - AWS Online Tech Talks
 
CMS on AWS Deep Dive
CMS on AWS Deep DiveCMS on AWS Deep Dive
CMS on AWS Deep Dive
 
Cloud computing presentation
Cloud computing presentation  Cloud computing presentation
Cloud computing presentation
 
Introduction to virtualization
Introduction to virtualizationIntroduction to virtualization
Introduction to virtualization
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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...
 
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
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Server Side Basics

  • 1. SERVER SIDE BASICS Keith Swallow PDX Web & Design Meetup
  • 2. TONIGHT • DNS: What Does 72.26.203.99 Mean? • HTTP: Its Just Text! • MVC: The Way of Web Apps • Recipes: Login and Email • Scaling: More, Smaller, Faster
  • 3. DNS What Do Those Numbers Mean?
  • 4. DOMAIN NAMING SERVICE • Computers are bad with names, prefer numbers • People are bad with numbers, prefer names • DNS bridges the gap
  • 5. • You type http://xkcd.com in a browser • Your computer asks its local DNS server where xkcd.com is • That DNS server asks an authoritative server • Then relays the IP address (72.26.203.99)
  • 6. DOMAIN NAMING SERVICE where is xkcd.com? your computer DNS server
  • 7. DOMAIN NAMING SERVICE where is xkcd.com? where is xkcd.com? your computer DNS server authoritative DNS server
  • 8. DOMAIN NAMING SERVICE where is xkcd.com? 72.26.203.99 your computer DNS server authoritative DNS server
  • 9. DOMAIN NAMING SERVICE 72.26.203.99 72.26.203.99 your computer DNS server authoritative DNS server
  • 10. DOMAIN NAMING SERVICE 72.26.203.99 72.26.203.99 your computer DNS server authoritative DNS server xkcd.com 72.26.203.99
  • 12. HYPER TEXT TRANSFER PROTOCOL • Request • Ask for data • Response • Read response headers • Act on response body • Repeat
  • 13. HTTP VERBS • GET • POST • PUT • DELETE
  • 14. HTTP REQUEST Host: xkcd.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/ 20100401 Firefox/3.6.3 Accept: text/html,application/xhtml+xml,application/xml; Accept-Language: en-us,en; Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8; Keep-Alive: 115
  • 15. HTTP RESPONSE HEADERS Vary: Accept-Encoding Last-Modified: Mon, 21 Feb 2011 05:00:08 GMT Etag: "2060469139" Content-Type: text/html Accept-Ranges: bytes Date: Tue, 22 Feb 2011 18:28:44 GMT Server: lighttpd/1.4.19 Content-Length: 2799
  • 16. HTTP RESPONSE BODY <?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet href="http://imgs.xkcd.com/s/c40a9f8.css" type="text/css" media="screen" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>xkcd: Computer Problems</title> <link rel="stylesheet" type="text/css" href="http://imgs.xkcd.com/s/c40a9f8.css" media="screen" title="Default" /> <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="/atom.xml" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="/rss.xml" />
  • 18. MVC The Way of Web Apps
  • 19. MODEL-VIEW-CONTROLLER • Controller • Handles the request and sends it to the correct model(s) • Model • Business logic and abstract representation of domain entities • View • Display of information contained in models
  • 20. REQUEST FLOW Browser Controller View Model
  • 21. RAILS MVC & RECIPES • Logon • Email
  • 23. SCALING • Horizontal Scaling (More) • Throw more hardware at the problem • Vertical Scaling (Smaller) • Cut the problem into smaller chunks • Caching (Faster) • Increase response speed, reduce load
  • 24. HORIZONTAL SCALING • Add more hardware to deliver the same content your computer xkcd.com web
  • 25. HORIZONTAL SCALING • Add more hardware to deliver the same content your computer xkcd.com web images
  • 26. HORIZONTAL SCALING • Add more hardware to deliver the same content your computer xkcd.com web images database
  • 27. HORIZONTAL SCALING • Add more hardware to deliver the same content your computer xkcd.com web images database
  • 28. HORIZONTAL SCALING • Add more hardware to deliver the same content your computer xkcd.com web images database
  • 29. VERTICAL SCALING xkcd.com web images database your computer • Break the system into specialized parts
  • 30. VERTICAL SCALING xkcd.com web images your computer database • Break the system into specialized parts
  • 31. VERTICAL SCALING xkcd.com web images your computer • Break the system into specialized parts database
  • 32. VERTICAL SCALING xkcd.com cache your computer web • Respond quickly to the images database request
  • 33. QUESTIONS? Speak now or forever hold your peace
  • 34. THANK YOU! Keith Swallow keithcelt.com twitter.com/keithcelt keithcelt@gmail.com

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n