SlideShare ist ein Scribd-Unternehmen logo
1 von 44
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

Weitere ähnliche Inhalte

Was ist angesagt?

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 NewsroomDocker, 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 CaptainAjeet 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 projectPatrick Chanezon
 
Living with microservices at Pipedrive
Living with microservices at PipedriveLiving with microservices at Pipedrive
Living with microservices at PipedriveRenno 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 2014Julien 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 AppsDocker, Inc.
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To FlinkKnoldus 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 AustinPhil 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 AwardAjeet Singh Raina
 
Microservice Composition with Docker and Panamax
Microservice Composition with Docker and PanamaxMicroservice Composition with Docker and Panamax
Microservice Composition with Docker and PanamaxMichael Arnold
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker, Inc.
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, 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 SecurityDocker-Hanoi
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategyDocker, 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.
 

Was ist angesagt? (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 ...
 

Andere mochten auch

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 applicationSustainable Summits Initiative
 
мой любимый вид спорта
мой любимый вид спортамой любимый вид спорта
мой любимый вид спорта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 StoreJonathan 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 TipsWishpond
 
WIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORKWIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORKTejas 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
 

Andere mochten auch (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
 

Ähnlich wie The Future of Web Application Architectures: Microservices, Containers, and Cloud Trends

Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesAtlassian
 
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 2017Patrick Chanezon
 
56K.cloud Docker Training
56K.cloud Docker Training56K.cloud Docker Training
56K.cloud Docker TrainingBrian Christner
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr 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 ScientistsDr Ganesh Iyer
 
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 2015Patrick 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 DockerPatrick Chanezon
 
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 DockerAjeet 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 2016Patrick Chanezon
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016Patrick Chanezon
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionHao Fan
 

Ähnlich wie The Future of Web Application Architectures: Microservices, Containers, and Cloud Trends (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
 
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 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
 
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
 

Kürzlich hochgeladen

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Kürzlich hochgeladen (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

The Future of Web Application Architectures: Microservices, Containers, and Cloud Trends

  • 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