SlideShare a Scribd company logo
The Future of Web
Application
Architectures
by
Lucas Carlson
Programmer
18 Years
Author
• Ruby Cookbook
• Programming for PaaS
Entrepreneur
• AppFog PaaS
• Mog Music Streaming Service
Current Role
• Chief Innovation Officer at
CenturyLink
Who Am I?
Structure
1
Who Am I?
2
What’s Next
for Web App
Architectures?
3
How to Future-Proof
Your Applications
with Micro-Services
4
The 6 Insider Tech
Trends in Cloud
Computing
5
Getting the Most
From Docker and
Linux Containers
6
Conclusions
What’s Next for Web App Architectures?
Web Architectures Are Changing
From
heavy
monolithic
backend
systems
To
lightweight
distributed
share-nothing
systems
What’s Share-Nothing?
 No persistent state is ever stored on
application instances (database,
uploaded files, sessions, etc.)
 Easy to scale because you can add more
to a load balancer without worrying
about discrepancies
Web Architectures Are Changing
From
hands-on IT-deployed and
managed
To
automated DevOps-deployed through
PaaS or continuous integration and
continuous deployment
How to Future-Proof Your Applications
with Micro-Services
4 Things to Think About
JSON REST APIs
Asset hosting
Session
management
Async Processing
JSON REST APIs
Micro-Services are small
lightweight services
Communicate with databases to produce
JSON through REST APIs
Minimalist application logic by encapsulating one
thing well (authentication service, blog post
service, credit card service, etc.)
Asset Hosting
Use Object Storage and
CDN to eliminate
dependencies on disk
Allows you to scale
horizontally
This is the foundation of
share-nothing
architecture
Session Management
• By default, many sessions are stores on disk
• This breaks share-nothing architecture
• Especially look out for WordPress/
Drupal/Joomla
Async Processing
Evaluate if you want a
simple queue or to
consider orchestration
which has first-class
queue in it
Keeping micro-services lightweight means
running complicated logic asynchronously
The 6 Insider Tech Trends
In Cloud Computing
#1 DockerLinux Containers are
Revolutionizing Infrastructure
#2 Orchestration
Declarative DevOps Automation for Cloud Apps
Automation from Source Control to Test to Production
#3 Continuous Integration &
Deployment
#4
Micro
Everything
Micro-Services | Micro-Frameworks | Micro-Languages | Go, Hack, Sinatra, etc.
#5 Mobile
Great APIs are essential for mobile app development
• More logic happening in the
browser than ever using the
same mobile APIs
• AngularJS, Backbone, Ember
#6
Client Side
Javascript
Getting the Most From Docker and Linux
Containers
Cargo Transport Pre-1960
Multiplicity of Goods
Multiplicity of methods for transporting
Do I worry about how goods interact
Can I transport quickly and smoothly
Multiplicity of Goods
Multiplicity of methods
for transporting
Do I worry about how
goods interact
Can I transport quickly
and smoothly
Solution: Intermodal Shipping
Container
Docker is a shipping container
system for code
Static website Web frontendUser DB Queue Analytics DB
Multiplicity of Stacks
Multiplicity of
hardware
environments
Do services and apps
interact appropriately?
Can I migrate smoothly
and quickly
Development VM QA server Public Cloud Contributor’s laptopProduction ClusterCustomer Data Center
Containers vs. VMs
App A
Bins/Li
bs
Guest
OS
App A’
Bins/Li
bs
Guest
OS
App B
Bins/Li
bs
Guest
OS
Hypervisor (Type 2)
Host OS
Server
VM
Containers are isolated, but share OS
and, where appropriate, bins/libraries
App
App
App
App
App
App
App
Bins/Libs Bins/Libs
Docker Engine
Host OS
Server
Container
What are the basics of the Docker
system?
Build
ContainerA
ContainerA
Push
Search
Pull
Run
Docker Engine
Host 1 OS (Linux)
ContainerC
ContainerB
Source Code
Repository
Dockerfile
For A
Docker
Container
Image
Registry
Docker Engine
Host 2 OS 2 (Linux)
What does it looks like ?
Without Docker
$ echo Hello World
Hello World
With Docker
$ docker run ubuntu echo Hello World
Hello World
Interactive Docker
$ docker run -i -t ubuntu bash
root@0bffc7cc54f7:/# ps
PID TTY TIME CMD
1 ? 00:00:00 bash
16 ? 00:00:00 ps
Daemonized Docker
$ docker run -d ubuntu nc -l -p 80
5b06834fe326
$ docker ps
CONTAINER ID IMAGE COMMAND
5b06834fe326 ubuntu:latest "nc -l -p 80"
CREATED STATUS PORTS
22 seconds ago Up 21 seconds
Open Ports Docker
$ docker run -d -p 80 ubuntu nc -l -p 80
c7a533f7901b
$ docker ps
CONTAINER ID IMAGE COMMAND
c7a533f7901b ubuntu:latest "nc -l -p 80"
CREATED STATUS PORTS
2 seconds ago Up 1 seconds 0.0.0.0:49153->80/tcp
Dockerfile
FROM Ubuntu
MAINTAINER Lucas Carlson <lucas@carlson.net>
RUN apt-get update && apt-get install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
ADD . /usr/share/nginx/html
EXPOSE 80
CMD /usr/sbin/nginx -c /etc/nginx/nginx.conf
Build Docker Images
$ docker build -t cardmagic/nginx .
Sending build context to Docker daemon
2.56 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu
---> 5506de2b643b
Step 1 : MAINTAINER Lucas Carlson
<lucas@carlson.net>
---> Using cache
---> 6d173bfde6c5
Step 2 : RUN apt-get update && apt-get
install -y nginx
---> Using cache
---> 8a9eb983d6f9
Step 3 : ADD . /usr/share/nginx/html
---> Using cache
---> 4b2ebb367b5f
Step 4 : EXPOSE 80
---> Using cache
---> ce5d15c82edf
Step 5 : CMD /usr/bin/nginx
---> Using cache
---> 3b7a04a72de7
Successfully built 3b7a04a72de7
Run your Container
$ docker run -d -p 80 cardmagic/nginx
c7a533f7901b
$ docker ps
CONTAINER ID IMAGE COMMAND
f2cd2860cf84 cardmagic/nginx:latest “/usr/sbin/nginx"
CREATED STATUS PORTS
3 seconds ago Up 2 seconds 0.0.0.0:49158->80/tcp
$ curl http://$(boot2docker ip):49158/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
$ docker pull
cardmagic/nginx
Share your Container
$ docker push
cardmagic/nginx
Docker’s Do and Don’ts
Do
 Containerize your application
code
 Use containers to create
consistency
Don’ts
 Run databases inside containers
yet
 Run multi-tenant containers
Conclusion
Conclusion
Automation is dominating the future landscape of
web app architectures
1
Docker and Linux Containers are the new way to
package and distribute your applications
3
Micro-services are the future:
• Lightweight distributed
• Share-nothing systems built with APIs
2
Thank You!
@cardmagic
LucasCarlson.com

More Related Content

What's hot

DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
Docker, Inc.
 
My Journey to Becoming a Docker Captain
My Journey to Becoming a Docker CaptainMy Journey to Becoming a Docker Captain
My Journey to Becoming a Docker Captain
Ajeet Singh Raina
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
Patrick Chanezon
 
Living with microservices at Pipedrive
Living with microservices at PipedriveLiving with microservices at Pipedrive
Living with microservices at Pipedrive
Renno Reinurm
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Julien Barbier
 
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
Docker, Inc.
 
Modernizing .NET Apps
Modernizing .NET AppsModernizing .NET Apps
Modernizing .NET Apps
Docker, Inc.
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
Knoldus Inc.
 
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
Empower Your Docker Containers with Watson - DockerCon 2017 AustinEmpower Your Docker Containers with Watson - DockerCon 2017 Austin
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
Phil Estes
 
My Journey from Docker Captain to Tips of Captain's Hat Award
My Journey from Docker Captain to Tips of Captain's Hat AwardMy Journey from Docker Captain to Tips of Captain's Hat Award
My Journey from Docker Captain to Tips of Captain's Hat Award
Ajeet Singh Raina
 
Microservice Composition with Docker and Panamax
Microservice Composition with Docker and PanamaxMicroservice Composition with Docker and Panamax
Microservice Composition with Docker and Panamax
Michael Arnold
 
Dockercon 2018 EU Updates
Dockercon 2018 EU Updates Dockercon 2018 EU Updates
Dockercon 2018 EU Updates
Ajeet Singh Raina
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
Docker, Inc.
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
Phil Estes
 
CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)
CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)
CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)
Red Hat Developers
 
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Docker, Inc.
 
DockerDay2015: Docker Security
DockerDay2015: Docker SecurityDockerDay2015: Docker Security
DockerDay2015: Docker Security
Docker-Hanoi
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategy
Docker, Inc.
 
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker, Inc.
 

What's hot (20)

DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
 
My Journey to Becoming a Docker Captain
My Journey to Becoming a Docker CaptainMy Journey to Becoming a Docker Captain
My Journey to Becoming a Docker Captain
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 
Living with microservices at Pipedrive
Living with microservices at PipedriveLiving with microservices at Pipedrive
Living with microservices at Pipedrive
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014
 
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
 
Modernizing .NET Apps
Modernizing .NET AppsModernizing .NET Apps
Modernizing .NET Apps
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
 
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
Empower Your Docker Containers with Watson - DockerCon 2017 AustinEmpower Your Docker Containers with Watson - DockerCon 2017 Austin
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
 
My Journey from Docker Captain to Tips of Captain's Hat Award
My Journey from Docker Captain to Tips of Captain's Hat AwardMy Journey from Docker Captain to Tips of Captain's Hat Award
My Journey from Docker Captain to Tips of Captain's Hat Award
 
Microservice Composition with Docker and Panamax
Microservice Composition with Docker and PanamaxMicroservice Composition with Docker and Panamax
Microservice Composition with Docker and Panamax
 
Dockercon 2018 EU Updates
Dockercon 2018 EU Updates Dockercon 2018 EU Updates
Dockercon 2018 EU Updates
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)
CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)
CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)
 
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
 
DockerDay2015: Docker Security
DockerDay2015: Docker SecurityDockerDay2015: Docker Security
DockerDay2015: Docker Security
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategy
 
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
 

Viewers also liked

Lawhon - Catholes: History, research current use, and future application
Lawhon - Catholes: History, research current use, and future applicationLawhon - Catholes: History, research current use, and future application
Lawhon - Catholes: History, research current use, and future application
Sustainable Summits Initiative
 
Canales
CanalesCanales
мой любимый вид спорта
мой любимый вид спортамой любимый вид спорта
мой любимый вид спорта
manecelena
 
Future of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App StoreFuture of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App Store
Jonathan Jeon
 
Docker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application DeliveryDocker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application DeliveryDocker, Inc.
 
Social Media Marketing for Real Estate Agents: 21 Tips
Social Media Marketing for Real Estate Agents: 21 TipsSocial Media Marketing for Real Estate Agents: 21 Tips
Social Media Marketing for Real Estate Agents: 21 Tips
Wishpond
 
Uses of accelerometer sensor and its application in m-Learning environments: ...
Uses of accelerometer sensor and its application in m-Learning environments: ...Uses of accelerometer sensor and its application in m-Learning environments: ...
Uses of accelerometer sensor and its application in m-Learning environments: ...
Technological Ecosystems for Enhancing Multiculturality
 
WIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORKWIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORK
Tejas Wasule
 
Skinput technology
Skinput technologySkinput technology
Skinput technologyneha pevekar
 
wireless sensor network my seminar ppt
wireless sensor network my seminar pptwireless sensor network my seminar ppt
wireless sensor network my seminar pptEisha Madhwal
 
Wireless Sensor Networks
Wireless Sensor NetworksWireless Sensor Networks
Wireless Sensor Networksrajatmal4
 

Viewers also liked (12)

Lawhon - Catholes: History, research current use, and future application
Lawhon - Catholes: History, research current use, and future applicationLawhon - Catholes: History, research current use, and future application
Lawhon - Catholes: History, research current use, and future application
 
Canales
CanalesCanales
Canales
 
мой любимый вид спорта
мой любимый вид спортамой любимый вид спорта
мой любимый вид спорта
 
Future of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App StoreFuture of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App Store
 
Docker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application DeliveryDocker, Containers and the Future of Application Delivery
Docker, Containers and the Future of Application Delivery
 
Social Media Marketing for Real Estate Agents: 21 Tips
Social Media Marketing for Real Estate Agents: 21 TipsSocial Media Marketing for Real Estate Agents: 21 Tips
Social Media Marketing for Real Estate Agents: 21 Tips
 
Uses of accelerometer sensor and its application in m-Learning environments: ...
Uses of accelerometer sensor and its application in m-Learning environments: ...Uses of accelerometer sensor and its application in m-Learning environments: ...
Uses of accelerometer sensor and its application in m-Learning environments: ...
 
Rain technology
Rain technologyRain technology
Rain technology
 
WIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORKWIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORK
 
Skinput technology
Skinput technologySkinput technology
Skinput technology
 
wireless sensor network my seminar ppt
wireless sensor network my seminar pptwireless sensor network my seminar ppt
wireless sensor network my seminar ppt
 
Wireless Sensor Networks
Wireless Sensor NetworksWireless Sensor Networks
Wireless Sensor Networks
 

Similar to The Future of Web Application Architectures

Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
Atlassian
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
dotCloud
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
56K.cloud Docker Training
56K.cloud Docker Training56K.cloud Docker Training
56K.cloud Docker Training
Brian Christner
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
Dr Ganesh Iyer
 
Docker intro
Docker introDocker intro
Docker introspiddy
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
Dr Ganesh Iyer
 
Introduction Into Docker Ecosystem
Introduction Into Docker EcosystemIntroduction Into Docker Ecosystem
Introduction Into Docker Ecosystem
Alexander Pastukhov, OCPJP, OCPJWSD
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
Arun prasath
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
Patrick Chanezon
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Patrick Chanezon
 
Programming the world with Docker
Programming the world with DockerProgramming the world with Docker
Programming the world with Docker
Patrick Chanezon
 
Cloud Native & Docker
Cloud Native & DockerCloud Native & Docker
Cloud Native & Docker
Brian Christner
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
Ajeet Singh Raina
 
Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016
Patrick Chanezon
 
0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi0507 057 01 98 * Adana Klima Tamir Servisi
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
Patrick Chanezon
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Hao Fan
 

Similar to The Future of Web Application Architectures (20)

Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
 
Are VMs Passé?
Are VMs Passé?Are VMs Passé?
Are VMs Passé?
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
56K.cloud Docker Training
56K.cloud Docker Training56K.cloud Docker Training
56K.cloud Docker Training
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Docker intro
Docker introDocker intro
Docker intro
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
Introduction Into Docker Ecosystem
Introduction Into Docker EcosystemIntroduction Into Docker Ecosystem
Introduction Into Docker Ecosystem
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 
Programming the world with Docker
Programming the world with DockerProgramming the world with Docker
Programming the world with Docker
 
Cloud Native & Docker
Cloud Native & DockerCloud Native & Docker
Cloud Native & Docker
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016
 
0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 

The Future of Web Application Architectures

  • 1. The Future of Web Application Architectures by Lucas Carlson
  • 2. Programmer 18 Years Author • Ruby Cookbook • Programming for PaaS Entrepreneur • AppFog PaaS • Mog Music Streaming Service Current Role • Chief Innovation Officer at CenturyLink Who Am I?
  • 3. Structure 1 Who Am I? 2 What’s Next for Web App Architectures? 3 How to Future-Proof Your Applications with Micro-Services 4 The 6 Insider Tech Trends in Cloud Computing 5 Getting the Most From Docker and Linux Containers 6 Conclusions
  • 4. What’s Next for Web App Architectures?
  • 5.
  • 6. Web Architectures Are Changing From heavy monolithic backend systems To lightweight distributed share-nothing systems
  • 7. What’s Share-Nothing?  No persistent state is ever stored on application instances (database, uploaded files, sessions, etc.)  Easy to scale because you can add more to a load balancer without worrying about discrepancies
  • 8.
  • 9. Web Architectures Are Changing From hands-on IT-deployed and managed To automated DevOps-deployed through PaaS or continuous integration and continuous deployment
  • 10.
  • 11. How to Future-Proof Your Applications with Micro-Services
  • 12. 4 Things to Think About JSON REST APIs Asset hosting Session management Async Processing
  • 13. JSON REST APIs Micro-Services are small lightweight services Communicate with databases to produce JSON through REST APIs Minimalist application logic by encapsulating one thing well (authentication service, blog post service, credit card service, etc.)
  • 14. Asset Hosting Use Object Storage and CDN to eliminate dependencies on disk Allows you to scale horizontally This is the foundation of share-nothing architecture
  • 15. Session Management • By default, many sessions are stores on disk • This breaks share-nothing architecture • Especially look out for WordPress/ Drupal/Joomla
  • 16. Async Processing Evaluate if you want a simple queue or to consider orchestration which has first-class queue in it Keeping micro-services lightweight means running complicated logic asynchronously
  • 17.
  • 18. The 6 Insider Tech Trends In Cloud Computing
  • 19. #1 DockerLinux Containers are Revolutionizing Infrastructure
  • 20. #2 Orchestration Declarative DevOps Automation for Cloud Apps
  • 21. Automation from Source Control to Test to Production #3 Continuous Integration & Deployment
  • 22. #4 Micro Everything Micro-Services | Micro-Frameworks | Micro-Languages | Go, Hack, Sinatra, etc.
  • 23. #5 Mobile Great APIs are essential for mobile app development
  • 24. • More logic happening in the browser than ever using the same mobile APIs • AngularJS, Backbone, Ember #6 Client Side Javascript
  • 25. Getting the Most From Docker and Linux Containers
  • 26. Cargo Transport Pre-1960 Multiplicity of Goods Multiplicity of methods for transporting Do I worry about how goods interact Can I transport quickly and smoothly
  • 27. Multiplicity of Goods Multiplicity of methods for transporting Do I worry about how goods interact Can I transport quickly and smoothly Solution: Intermodal Shipping Container
  • 28. Docker is a shipping container system for code Static website Web frontendUser DB Queue Analytics DB Multiplicity of Stacks Multiplicity of hardware environments Do services and apps interact appropriately? Can I migrate smoothly and quickly Development VM QA server Public Cloud Contributor’s laptopProduction ClusterCustomer Data Center
  • 29. Containers vs. VMs App A Bins/Li bs Guest OS App A’ Bins/Li bs Guest OS App B Bins/Li bs Guest OS Hypervisor (Type 2) Host OS Server VM Containers are isolated, but share OS and, where appropriate, bins/libraries App App App App App App App Bins/Libs Bins/Libs Docker Engine Host OS Server Container
  • 30. What are the basics of the Docker system? Build ContainerA ContainerA Push Search Pull Run Docker Engine Host 1 OS (Linux) ContainerC ContainerB Source Code Repository Dockerfile For A Docker Container Image Registry Docker Engine Host 2 OS 2 (Linux)
  • 31. What does it looks like ?
  • 32. Without Docker $ echo Hello World Hello World
  • 33. With Docker $ docker run ubuntu echo Hello World Hello World
  • 34. Interactive Docker $ docker run -i -t ubuntu bash root@0bffc7cc54f7:/# ps PID TTY TIME CMD 1 ? 00:00:00 bash 16 ? 00:00:00 ps
  • 35. Daemonized Docker $ docker run -d ubuntu nc -l -p 80 5b06834fe326 $ docker ps CONTAINER ID IMAGE COMMAND 5b06834fe326 ubuntu:latest "nc -l -p 80" CREATED STATUS PORTS 22 seconds ago Up 21 seconds
  • 36. Open Ports Docker $ docker run -d -p 80 ubuntu nc -l -p 80 c7a533f7901b $ docker ps CONTAINER ID IMAGE COMMAND c7a533f7901b ubuntu:latest "nc -l -p 80" CREATED STATUS PORTS 2 seconds ago Up 1 seconds 0.0.0.0:49153->80/tcp
  • 37. Dockerfile FROM Ubuntu MAINTAINER Lucas Carlson <lucas@carlson.net> RUN apt-get update && apt-get install -y nginx RUN echo "daemon off;" >> /etc/nginx/nginx.conf ADD . /usr/share/nginx/html EXPOSE 80 CMD /usr/sbin/nginx -c /etc/nginx/nginx.conf
  • 38. Build Docker Images $ docker build -t cardmagic/nginx . Sending build context to Docker daemon 2.56 kB Sending build context to Docker daemon Step 0 : FROM ubuntu ---> 5506de2b643b Step 1 : MAINTAINER Lucas Carlson <lucas@carlson.net> ---> Using cache ---> 6d173bfde6c5 Step 2 : RUN apt-get update && apt-get install -y nginx ---> Using cache ---> 8a9eb983d6f9 Step 3 : ADD . /usr/share/nginx/html ---> Using cache ---> 4b2ebb367b5f Step 4 : EXPOSE 80 ---> Using cache ---> ce5d15c82edf Step 5 : CMD /usr/bin/nginx ---> Using cache ---> 3b7a04a72de7 Successfully built 3b7a04a72de7
  • 39. Run your Container $ docker run -d -p 80 cardmagic/nginx c7a533f7901b $ docker ps CONTAINER ID IMAGE COMMAND f2cd2860cf84 cardmagic/nginx:latest “/usr/sbin/nginx" CREATED STATUS PORTS 3 seconds ago Up 2 seconds 0.0.0.0:49158->80/tcp $ curl http://$(boot2docker ip):49158/ <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title>
  • 40. $ docker pull cardmagic/nginx Share your Container $ docker push cardmagic/nginx
  • 41. Docker’s Do and Don’ts Do  Containerize your application code  Use containers to create consistency Don’ts  Run databases inside containers yet  Run multi-tenant containers
  • 43. Conclusion Automation is dominating the future landscape of web app architectures 1 Docker and Linux Containers are the new way to package and distribute your applications 3 Micro-services are the future: • Lightweight distributed • Share-nothing systems built with APIs 2