What is a stack? Do I need to know?



Similar documents
Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Modern Web Development From Angle Brackets to Web Sockets

NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases

RED HAT SOFTWARE COLLECTIONS BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY

Open Source Technologies on Microsoft Azure

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013

HYBRID. Course Packet

Drupal Performance Tuning

Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor. Danilo Bordini & Osvaldo Daibert

Trollhättan, Sweden

Server-Side Scripting and Web Development. By Susan L. Miertschin

Cloud Computing and Big Data What Technical Writers Need to Know

Java, PHP & Ruby - Cloud Hosting

opalang - Rapid & Secure Web Development

Web Development. How the Web Works 3/3/2015. Clients / Server

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

The Ultimate Tech Glossary for Recruiters & HR Managers

Offerte del 13 giugno 2014

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

@tobiastrelle. codecentric AG 1

Volkov Vyacheslav. Summary. Saransk, , Mordovia, Russian Federation Moscow, Russian Federation +7(925) , +7(917)

CrownPeak Playbook CrownPeak Hosting with PHP

Pentesting Web Frameworks (preview of next year's SEC642 update)

Volkov Vyacheslav. Summary. Saransk, , Mordovia, Russian Federation Moscow, Russian Federation +7(925)

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA

ClickCartPro Software Installation README

IT3504: Web Development Techniques (Optional)

IT3503 Web Development Techniques (Optional)

Extending Tizen Native Framework with Node.js

Iskandar Najmuddin. 10 Beaumont Road, London W4 5AP +44 (0)

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

Stackato PaaS Architecture: How it works and why.

Software development & technologies in Market Research industry

Client Overview. Engagement Situation. Key Requirements

Web Application Frameworks. Robert M. Dondero, Ph.D. Princeton University

Drive new Revenue With PaaS/IaaS. Ruslan Synytsky CTO, Jelastic

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

Avaya Inventory Management System

How To Write A Web Server In Javascript

PaaS - Platform as a Service Google App Engine

Open Source Software

Azure Day Application Development

depl Documentation Release depl contributors

NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne,

COS 333: Advanced Programming Techniques

ABTO Software PHP Web Development Overview

Node.js, MongoDB and AngularJS Web Development

Case Studies PHP 2015

NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF

FormAPI, AJAX and Node.js

Ninja Webtechnologies. Eray Basar, 9elements

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures

Layers of Caching: Key to scaling your website. Lance Albertson -- Narayan Newton

EFFECTIVE APPROACHES FOR PROCESSING OF NOSQL DATABASES IN BIG DATA ENVIRONMENT

By : Khalid Alfalqi Department of Computer Science, Umm Al-Qura University

112 Linton House Union Street London SE1 0LH T: F:

Document management and exchange system supporting education process

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql

An Oracle White Paper May Oracle Tuxedo: An Enterprise Platform for Dynamic Languages

MASTER THESIS. TITLE: Analysis and evaluation of high performance web servers

Chapter 1. Introduction to web development

6 reasons to choose us for your web hosting

Vincent Gabriel. Summary. Experience. Senior Software Developer at Landmark Network

Tech Radar - May 2015

HDB++: HIGH AVAILABILITY WITH. l TANGO Meeting l 20 May 2015 l Reynald Bourtembourg

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com

making drupal run fast

by Pearson Education, Inc. All Rights Reserved.

Extending your VMware Cloud Infrastructure with a Private Platform-as-a-Service

Programming IoT Gateways With macchina.io

Web Development News, Tips and Tutorials

Scalable Architecture on Amazon AWS Cloud

Smart and Innovative Web Solutions. Just One Click Away

Accelerating Wordpress for Pagerank and Profit

Performance Optimization For Operational Risk Management Application On Azure Platform

Private PaaS 101: What It Is and Why You Need It. Insulate Your Cloud with the Stackato Secure Middleware Layer

Company Overview and Case Studies Byng Systems Limited. All rights reserved.

Enterprise RIA Deployment Examples

OpenShift on you own cloud. Troy Dawson OpenShift Engineer, Red Hat November 1, 2013

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

WordPress Optimization

DEVELOPMENT PORTFOLIO

Transcription:

What is a stack? Do I need to know?

WIMP, WAMP, LAMP, LIMP A collection of software that inter-operates to complete a task.

Why think about it?

Standards

Scale

Security

61.240.144.67 - "GET / HTTP/1.0" 200 6086 -" "masscan/1.0 (https://github.com/robertdavidgraham/masscan)" 112.210.135.17 - "GET / HTTP/1.1" 200 2746 "http://best-seo-solution.com/try.php?u=http://ihavealwayswanted.com"

212.109.219.118 -"GET /wp-login.php HTTP/1.1" 404 512 "-" "Mozilla/5.0 (Windows NT 5.1) 212.109.219.118 - "GET /administrator/ HTTP/1.1" 404 513 "-" "Mozilla/5.0 (Windows NT 5.1) 212.109.219.118 - "GET /admin.php HTTP/1.1" 404 508 "-" "Mozilla/5.0 (Windows NT 5.1) 188.120.253.236 - "GET /wp-login.php HTTP/1.0" 404 505 "-" "Mozilla/5.0 (Windows NT 6.1; rv:19.0)

71.187.219.210 - "GET /robots.txt HTTP/1.1" 404 514 "-" "panscient.com" 71.187.219.210 -"GET / HTTP/1.1" 200 2746 "-" "panscient.com" 71.187.219.210 - "GET /js/bootstrap.min.js HTTP/1.1" 200 9792 "-" "panscient.com" 71.187.219.210 - "GET /robots.txt HTTP/1.1" 404 513 "-" "panscient.com" 71.187.219.210 - "GET /details.html HTTP/1.1" 200 2967 "-" "panscient.com" 71.187.219.210 - "GET /signup.html HTTP/1.1" 200 2122 "-" "panscient.com" 71.187.219.210 - "GET /js/?);if(!(e&e.length&(b=e.data( HTTP/1.1" 200 745 "-" "panscient.com" 71.187.219.210 -"GET /js/npm.js HTTP/1.1" 200 551 "-" "panscient.com" 71.187.219.210 - "GET /js/bootstrap.js HTTP/1.1" 200 14076 "-" "panscient.com" 71.187.219.210 - "GET /js/tab.js HTTP/1.1" 404 512 "-" "panscient.com" 71.187.219.210 - "GET /js/carousel.js HTTP/1.1" 404 518 "-" "panscient.com" 71.187.219.210 - "GET /js/alert.js HTTP/1.1" 404 515 "-" panscient.com" 71.187.219.210 -"GET /js/tooltip.js HTTP/1.1" 404 517 "-" "panscient.com 71.187.219.210 -"GET /js/dropdown.js HTTP/1.1" 404 518 "-" "panscient.com" 71.187.219.210 - "GET /js/popover.js HTTP/1.1" 404 517 "-" "panscient.com" 71.187.219.210 - "GET /js/scrollspy.js HTTP/1.1" 404 519 "-" "panscient.com" 71.187.219.210 -"GET /js/affix.js HTTP/1.1" 404 515 "-" "panscient.com" 71.187.219.210 - "GET /js/transition.js HTTP/1.1" 404 520 "-" "panscient.com" 71.187.219.210 - "GET /js/bootstrap.min.js HTTP/1.1" 200 9792 "-" "panscient.com" 71.187.219.210 - "GET /signup.html HTTP/1.1" 200 2122 "-" "panscient.com" 71.187.219.210 - "GET /includes/core/signup.php HTTP/1.1" 404 527 "-" "panscient.com" 71.187.219.210 -"GET /index.html HTTP/1.1" 200 2746 "-" "panscient.com" 71.187.219.210 - "GET /js/?);if(!(e&e.length&(b=e.data( HTTP/1.1" 200 745 "-" "panscient.com" 71.187.219.210 - "GET /robots.txt HTTP/1.1" 404 513 "-" "panscient.com" 71.187.219.210 -"GET /js/npm.js HTTP/1.1" 200 552 "-" "panscient.com" 71.187.219.210 -"GET /js/bootstrap.js HTTP/1.1" 200 14077 "-" "panscient.com" 71.187.219.210 - - [08/Apr/2015:03:51:28-0400] "GET /js/alert.js HTTP/1.1" 404 514 "-" "panscient.com" 71.187.219.210 - - [08/Apr/2015:03:51:29-0400] "GET /js/collapse.js HTTP/1.1" 404 518 "-" "panscient.com

Develop locally, publish globally

Why think about it? Standards Scale Security Develop locally, publish globally

And still

Development Allows dev to prototype on local machine Test with local web server Transfer files via FTP to server No need to worry about intruders.

Any computer Op requires a stack. Blogs Business Logic Web Services (SAAS) Subscriptions, Media, Sales

Minimum OS Run time packages Application software

Web Based OS Webserver Scripting Language Database Presentation tools

Operating System

Operating System Local Windows Linux/Unix Citrix Chrome?

Operating System Linux/Unix Windows Citrix

Operating System The 40 largest hosting companies 100,000,000 names 90,000,000 active sites

Operating System 26 Unix/Linux 3 BSD 4 Windows Server 2008,2012 1 Citrix Netscale 1 F% Big-Ip 4 Unknown

Webservers Apache nginx IIS Google

Webservers Apache 49.3% nginx 21.2% IIS 12.2% Google 2.4% Source netcraft.com

Scripting Tool Programming languages used in most websites.

Client-side Javascript Every popular browser runs a version of Javascript.

Interpreted Server-side Languges Used by the 10 biggest sites JS as Node.JS Python - Django Ruby - ROR PHP - Wordpress, FB Perl(CGI)

Compiled Serverside Java - Scala c/c++ GoLang Erlang

What About Data Relational MySQL (7) MariaDB(2) Postgres(2) SQLite

What About Data

What About Data NoSQL? Document store key value store Schema-less

nosql document

What About Data nosql-style CouchDB MongoDB Cassandra Arango

Presentation tools Simply Standards Based HTML(5) CSS(3)

What I have decided to use? Server - Minimal for development 512MB 20 GB SSD

Server Why so small? If everything runs there, it will scale easily Quickly and Cheaply provisioned One phone call will expand capacity 4 to 10 times

Webserver nginx fast small footprint

Scripting Tried Node/Meteor/Express Ugh, slow memory hog Tools came from different sources

Scripting PHP NO, because it is interpreted Versions roll out quickly but support may be behind Ditto ROR and Python

Scripting Still a toss up Between GoLang, Erlang, and Java

Scripting But, Java is losing Erlang is pretty esoteric

Scripting GoLang Developed and backed by Google Compiled with a baked in runtime Builtin web libraries One smallish program per web page Multiple DB bindings

Scripting Gorilla, a JS Go go-with Several small packages, included as needed Sessions, routing, security

Database Postgres I have a history reasonable size Cleaner and more stable/forgiving than MySQL Has added NoSQL data Under continuos professional development but OSS

My Tool Choices SublimeText, Brackets, Coda Bootstrap, BootstrapJS full blown on dev machine minified on the server Customized CSS files Hand rolled standard JS

So That s a Full STack