Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data Networking for Developers

Data Networking for Developers

After years of designing networks, I wanted to share what I think are the most important parts for developers understanding how their applications are served.

Jason Myers

April 01, 2013
Tweet

More Decks by Jason Myers

Other Decks in Technology

Transcript

  1. O*verview • Why this is so important to you? •

    Networking Overview • Firewalls • Load Balancers • Caching • Data Flow Mapping • Application Performance Management • Sniffing for Troubleshooting
  2. Why is this So Important? • n-Tier Architectures • RESTful

    APIs • Service Oriented Architectures • HATEOAS
  3. An Ethernet Frame Frame Ethernet Preamble SOF Dest MAC Source

    MAC Len Data FCS Data Link Packet Data Dest IP Source IP Misc HCS Opt Pad IP Network Segment Data Dest Port Source Port Opt Pad TCP Misc CS Transport
  4. Firewalls • Packet Filtering • Closed from outside • Allow

    return traffic to a request from an inside source
  5. Firewalls: Allowing Traffic f*rom O*utside • “Poking Holes” • Access

    Control List Entries (Network) • Network Address Translation (NAT) (Transport) • Source, Destination, Protocol, Port
  6. L*oad Balancers • Local/Global • VIPs • Server Farms •

    Real Servers • SSL Offloading • Stickiness
  7. L*oad Balancers: Types • Response Time • Bandwidth • Hashes

    (address, content, cookie, head, url) • Connection Count • Least Loaded (health) • Round Robin
  8. Caching: Where • Content Delivery Networks • Hosts (FusionIO) •

    Content Network Devices (Switches, Load Balancers) • SANs (FastCache)