SlideShare a Scribd company logo
Deploying Django Apps
Discovering Your Approach
Derek Stegelman 2013
Boulder Django
Our To-dos
Who am I?
The problem
Solutions
Story Telling Time/Deploying is more than a
server
Discussion
Who am I
Software Developer at Five Q
Previously at Kansas State University
Developed and maintained several >
10,000 user applications (all
Python/Django)
New to the Front Range
https://github.com/dstegelman
Self taught; Business/MIS Background
Django Hosting ???
I wrote this app...now what?
The Problem
Hosting a Django app is hard!
Significant learning curve for new developers
from the PHP, other web worlds
Too many options (uWSGI, mod_wsgi,
Gunicorn)
No clear path on where to begin.
Significant deterrent to growing the
Python/Django community.
Solution(s)
Roll your own (AWS, Rackspace, Datacenter)
Story Time
Middle Managed (Webfaction, etc)
Managed (Heroku, Gondor, etc)
Ultimately use what’s best for you and your
situation. (Time, Money, Headaches..)
Roll Your Own
Not that difficult
Large learning curve, but maximum control
Best suited for Enterprise or large scale
business environments
Often requires a SysAdmin to work properly
Cheap and getting cheaper
A Deployment Story
More than just hardware
With a happy ending..
Where we started
Single web/database server
Mercurial copy and update to deploy or, umm
FTP??? FTW?!
Sys Admins had to manually “kick” apache
No migrations or collect static
Very unstable deployments.
Not all that uncommon
Oh, the server broke. Let me debug that.
Inefficient use of developer’s time.
Difficult, painful, and scary deployments
Database changes were even more painful
Django deployment was immature
How to Fix?? Bring in an Expert.
Solution(s)
Evaluated Managed options (Heroku,
Webfaction etc)
Too Expensive for our scale (and budget)
Did not have expertise to build the system
ourselves
Hired an expert on Django
Where we went
Fully automated environment with Chef
Fabric controlled, repeatable deployments
Centralized infrastructure control (Chef/Ops
Code)
Inherited Fabric files and configurations
(Repeatability across projects)
Bundle infrastructure into your applications
(Version Control All the Things)
Version control ALL THE THINGS
Optimize Happiness
New stack optimized for developer happiness
Scratch your own itch
All but eliminated deployment headaches
Instituted a semi formal standards system
through trial and error
Happy ending
Middle Managed
Example: Webfaction
Entire box is managed, but you are left largely
to your own devices for details
Good solution for DIYs
A good middle ground.
Fully Managed
Heroku/Gondor
Their way or the highway
Great for prototyping/feature branches
Limited customization
Easiest to start with
Friend for new developers!!
Start Ups!
What should you do?
Evaluate your needs and how many
headaches you can stand
Evaluate your staffing needs/expertise and
planned scale
Roll Your Own takes a significant amount of
expertise. Don’t underestimate it.
Tools
Many tools exist to make deployment and
automated tasks easier.
Fabric
Capistrano/Fabistrano
Chef/Salt
Just use something!
Fabric
Please, please use fabric. (Or another similar
tool)
Codified, version controlled deployment
mechanisms that can be distributed FTW!
When you make a change to your workflow,
codify it.
AUTOMATE!
Fabric Examples
Shameless plug
Hadrian
https://github.com/dstegelman/hadrian/blob/master
https://github.com/jacobian/django-
deployment-workshop/blob/master/fabfile.py
Lessons to Live By
AUTOMATE EVERYTHING
Version Control and codify your processes
Don’t live with broken windows
Deployment is really important, invest in it!
Choose the provider and solution that fits your
team and specific needs
Questions?
Comments?
Thanks!
Thanks!
Thanks!
github.com/dstegelman
twitter.com/derekstegelman
derek@stegelman.com

More Related Content

What's hot

Q6 Evaluation
Q6 EvaluationQ6 Evaluation
Q6 Evaluation
Wedgeman
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
Sarah Dutkiewicz
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6
Sam Benzie
 
Question 4
Question 4Question 4
Question 4
elliewo1606
 
Stldodn 2014 agile on a shoestring
Stldodn 2014   agile on a shoestringStldodn 2014   agile on a shoestring
Stldodn 2014 agile on a shoestring
Angela Dugan
 
Question 6: Media technologies
Question 6: Media technologiesQuestion 6: Media technologies
Question 6: Media technologies
aanisahkhan
 
Know what (not) to build
Know what (not) to buildKnow what (not) to build
Know what (not) to build
Shem Magnezi
 
Know what (not) to build - Shem Magnezi, MyRoll
Know what (not) to build - Shem Magnezi, MyRollKnow what (not) to build - Shem Magnezi, MyRoll
Know what (not) to build - Shem Magnezi, MyRoll
DroidConTLV
 
Cf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanshipCf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanship
ColdFusionConference
 
Question Six - What have you learnt about
Question Six - What have you learnt about Question Six - What have you learnt about
Question Six - What have you learnt about
kategarner123
 
Problem solving
Problem solvingProblem solving
Problem solving
HarryBorwell
 
The best way to learn java script
The best way to learn java scriptThe best way to learn java script
The best way to learn java script
Wei Sun
 
Question 6
Question 6Question 6
Question 6
Elliott Wigmore
 
What does it mean to be a test engineer?
What does it mean to be a test engineer?What does it mean to be a test engineer?
What does it mean to be a test engineer?
Andrii Dzynia
 
Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...
Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...
Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...
AgileNetwork
 
Repeating the "Quality Debate" @ Agile Gurugram 2019 Conference
Repeating the "Quality Debate" @ Agile Gurugram 2019 ConferenceRepeating the "Quality Debate" @ Agile Gurugram 2019 Conference
Repeating the "Quality Debate" @ Agile Gurugram 2019 Conference
Vishal Prasad
 

What's hot (16)

Q6 Evaluation
Q6 EvaluationQ6 Evaluation
Q6 Evaluation
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6
 
Question 4
Question 4Question 4
Question 4
 
Stldodn 2014 agile on a shoestring
Stldodn 2014   agile on a shoestringStldodn 2014   agile on a shoestring
Stldodn 2014 agile on a shoestring
 
Question 6: Media technologies
Question 6: Media technologiesQuestion 6: Media technologies
Question 6: Media technologies
 
Know what (not) to build
Know what (not) to buildKnow what (not) to build
Know what (not) to build
 
Know what (not) to build - Shem Magnezi, MyRoll
Know what (not) to build - Shem Magnezi, MyRollKnow what (not) to build - Shem Magnezi, MyRoll
Know what (not) to build - Shem Magnezi, MyRoll
 
Cf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanshipCf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanship
 
Question Six - What have you learnt about
Question Six - What have you learnt about Question Six - What have you learnt about
Question Six - What have you learnt about
 
Problem solving
Problem solvingProblem solving
Problem solving
 
The best way to learn java script
The best way to learn java scriptThe best way to learn java script
The best way to learn java script
 
Question 6
Question 6Question 6
Question 6
 
What does it mean to be a test engineer?
What does it mean to be a test engineer?What does it mean to be a test engineer?
What does it mean to be a test engineer?
 
Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...
Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...
Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...
 
Repeating the "Quality Debate" @ Agile Gurugram 2019 Conference
Repeating the "Quality Debate" @ Agile Gurugram 2019 ConferenceRepeating the "Quality Debate" @ Agile Gurugram 2019 Conference
Repeating the "Quality Debate" @ Agile Gurugram 2019 Conference
 

Viewers also liked

Two scoops of Django - Deployment
Two scoops of Django - DeploymentTwo scoops of Django - Deployment
Two scoops of Django - Deployment
flywindy
 
Prototyping in the cloud
Prototyping in the cloudPrototyping in the cloud
Prototyping in the cloud
Kirsten Hunter
 
Python x Django
Python x DjangoPython x Django
Python x Django
Shin Tokiwa
 
Building a Django App on Heroku
Building a Django App on HerokuBuilding a Django App on Heroku
Building a Django App on Heroku
Joe Fusaro
 
PyCon talk: Deploy Python apps in 5 min with a PaaS
PyCon talk: Deploy Python apps in 5 min with a PaaSPyCon talk: Deploy Python apps in 5 min with a PaaS
PyCon talk: Deploy Python apps in 5 min with a PaaS
Appsembler
 
Scaling search to a million pages with Solr, Python, and Django
Scaling search to a million pages with Solr, Python, and DjangoScaling search to a million pages with Solr, Python, and Django
Scaling search to a million pages with Solr, Python, and Django
tow21
 
Offshore Outsourcing
Offshore OutsourcingOffshore Outsourcing
Offshore Outsourcing
karthikprem
 
NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013
Kat Chuang
 
Django è pronto per l'Enterprise
Django è pronto per l'EnterpriseDjango è pronto per l'Enterprise
Django è pronto per l'Enterprise
PyCon Italia
 
Python & Django TTT
Python & Django TTTPython & Django TTT
Python & Django TTT
kevinvw
 
REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-Framework
Marcel Chastain
 
Django Deployment
Django DeploymentDjango Deployment
Django Deployment
Tareque Hossain
 
Django deployment best practices
Django deployment best practicesDjango deployment best practices
Django deployment best practices
Erik LaBianca
 
Rest api with Python
Rest api with PythonRest api with Python
Rest api with Python
Santosh Ghimire
 
Software outsourcing for startups
Software outsourcing for startupsSoftware outsourcing for startups
Software outsourcing for startups
Christoph Raethke
 
Advanced Search with Solr & django-haystack
Advanced Search with Solr & django-haystackAdvanced Search with Solr & django-haystack
Advanced Search with Solr & django-haystack
Marcel Chastain
 
Deploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaSDeploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaS
Appsembler
 
Software Outsourcing: Why, When, What
Software Outsourcing: Why, When, WhatSoftware Outsourcing: Why, When, What
Software Outsourcing: Why, When, What
Softheme
 

Viewers also liked (18)

Two scoops of Django - Deployment
Two scoops of Django - DeploymentTwo scoops of Django - Deployment
Two scoops of Django - Deployment
 
Prototyping in the cloud
Prototyping in the cloudPrototyping in the cloud
Prototyping in the cloud
 
Python x Django
Python x DjangoPython x Django
Python x Django
 
Building a Django App on Heroku
Building a Django App on HerokuBuilding a Django App on Heroku
Building a Django App on Heroku
 
PyCon talk: Deploy Python apps in 5 min with a PaaS
PyCon talk: Deploy Python apps in 5 min with a PaaSPyCon talk: Deploy Python apps in 5 min with a PaaS
PyCon talk: Deploy Python apps in 5 min with a PaaS
 
Scaling search to a million pages with Solr, Python, and Django
Scaling search to a million pages with Solr, Python, and DjangoScaling search to a million pages with Solr, Python, and Django
Scaling search to a million pages with Solr, Python, and Django
 
Offshore Outsourcing
Offshore OutsourcingOffshore Outsourcing
Offshore Outsourcing
 
NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013NYC Pyladies talk May 2, 2013
NYC Pyladies talk May 2, 2013
 
Django è pronto per l'Enterprise
Django è pronto per l'EnterpriseDjango è pronto per l'Enterprise
Django è pronto per l'Enterprise
 
Python & Django TTT
Python & Django TTTPython & Django TTT
Python & Django TTT
 
REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-Framework
 
Django Deployment
Django DeploymentDjango Deployment
Django Deployment
 
Django deployment best practices
Django deployment best practicesDjango deployment best practices
Django deployment best practices
 
Rest api with Python
Rest api with PythonRest api with Python
Rest api with Python
 
Software outsourcing for startups
Software outsourcing for startupsSoftware outsourcing for startups
Software outsourcing for startups
 
Advanced Search with Solr & django-haystack
Advanced Search with Solr & django-haystackAdvanced Search with Solr & django-haystack
Advanced Search with Solr & django-haystack
 
Deploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaSDeploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaS
 
Software Outsourcing: Why, When, What
Software Outsourcing: Why, When, WhatSoftware Outsourcing: Why, When, What
Software Outsourcing: Why, When, What
 

Similar to Django Hosting

Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
Lorna Mitchell
 
Automated tests
Automated testsAutomated tests
Automated tests
Damian Sromek
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Teaching an Old Pony New Tricks: Maintaining and Updating and Aging Django Site
Teaching an Old Pony New Tricks: Maintaining and Updating and Aging Django SiteTeaching an Old Pony New Tricks: Maintaining and Updating and Aging Django Site
Teaching an Old Pony New Tricks: Maintaining and Updating and Aging Django Site
Shawn Rider
 
Rapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web ArchitecturesRapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web Architectures
Keith Fitzgerald
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
Erik Osterman
 
Iterating In the Open
Iterating In the OpenIterating In the Open
Iterating In the Open
Dave Hodson
 
Herding cats in the Cloud
Herding cats in the CloudHerding cats in the Cloud
Herding cats in the Cloud
Dewey Sasser
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
Stephen Donner
 
Novice Programmers Workshop
Novice Programmers WorkshopNovice Programmers Workshop
Novice Programmers Workshop
Alec Clews
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
Lakshman Prasad
 
Django Article V0
Django Article V0Django Article V0
Django Article V0
Udi Bauman
 
How do we do it
How do we do itHow do we do it
How do we do it
Peter Samoilov
 
Trends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa Crispin
Directi Group
 
What is Django | Django Tutorial for Beginners | Python Django Training | Edu...
What is Django | Django Tutorial for Beginners | Python Django Training | Edu...What is Django | Django Tutorial for Beginners | Python Django Training | Edu...
What is Django | Django Tutorial for Beginners | Python Django Training | Edu...
Edureka!
 
Agile and Scrum Workshop
Agile and Scrum WorkshopAgile and Scrum Workshop
Agile and Scrum Workshop
Rainer Stropek
 
Computer software specialists wikki verma
Computer software specialists   wikki vermaComputer software specialists   wikki verma
Computer software specialists wikki verma
Livingston Technology Solution
 
Slides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetingsSlides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetings
10n Software, LLC
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
Vijayan Reddy
 
How to Deliver the Right Software (Specification by example)
How to Deliver the Right Software (Specification by example)How to Deliver the Right Software (Specification by example)
How to Deliver the Right Software (Specification by example)
Asier Barrenetxea
 

Similar to Django Hosting (20)

Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
Teaching an Old Pony New Tricks: Maintaining and Updating and Aging Django Site
Teaching an Old Pony New Tricks: Maintaining and Updating and Aging Django SiteTeaching an Old Pony New Tricks: Maintaining and Updating and Aging Django Site
Teaching an Old Pony New Tricks: Maintaining and Updating and Aging Django Site
 
Rapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web ArchitecturesRapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web Architectures
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
Iterating In the Open
Iterating In the OpenIterating In the Open
Iterating In the Open
 
Herding cats in the Cloud
Herding cats in the CloudHerding cats in the Cloud
Herding cats in the Cloud
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
Novice Programmers Workshop
Novice Programmers WorkshopNovice Programmers Workshop
Novice Programmers Workshop
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
 
Django Article V0
Django Article V0Django Article V0
Django Article V0
 
How do we do it
How do we do itHow do we do it
How do we do it
 
Trends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa Crispin
 
What is Django | Django Tutorial for Beginners | Python Django Training | Edu...
What is Django | Django Tutorial for Beginners | Python Django Training | Edu...What is Django | Django Tutorial for Beginners | Python Django Training | Edu...
What is Django | Django Tutorial for Beginners | Python Django Training | Edu...
 
Agile and Scrum Workshop
Agile and Scrum WorkshopAgile and Scrum Workshop
Agile and Scrum Workshop
 
Computer software specialists wikki verma
Computer software specialists   wikki vermaComputer software specialists   wikki verma
Computer software specialists wikki verma
 
Slides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetingsSlides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetings
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
How to Deliver the Right Software (Specification by example)
How to Deliver the Right Software (Specification by example)How to Deliver the Right Software (Specification by example)
How to Deliver the Right Software (Specification by example)
 

Recently uploaded

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 

Recently uploaded (20)

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 

Django Hosting

  • 1. Deploying Django Apps Discovering Your Approach Derek Stegelman 2013 Boulder Django
  • 2. Our To-dos Who am I? The problem Solutions Story Telling Time/Deploying is more than a server Discussion
  • 3. Who am I Software Developer at Five Q Previously at Kansas State University Developed and maintained several > 10,000 user applications (all Python/Django) New to the Front Range https://github.com/dstegelman Self taught; Business/MIS Background
  • 4. Django Hosting ??? I wrote this app...now what?
  • 5. The Problem Hosting a Django app is hard! Significant learning curve for new developers from the PHP, other web worlds Too many options (uWSGI, mod_wsgi, Gunicorn) No clear path on where to begin. Significant deterrent to growing the Python/Django community.
  • 6. Solution(s) Roll your own (AWS, Rackspace, Datacenter) Story Time Middle Managed (Webfaction, etc) Managed (Heroku, Gondor, etc) Ultimately use what’s best for you and your situation. (Time, Money, Headaches..)
  • 7. Roll Your Own Not that difficult Large learning curve, but maximum control Best suited for Enterprise or large scale business environments Often requires a SysAdmin to work properly Cheap and getting cheaper
  • 8. A Deployment Story More than just hardware With a happy ending..
  • 9. Where we started Single web/database server Mercurial copy and update to deploy or, umm FTP??? FTW?! Sys Admins had to manually “kick” apache No migrations or collect static Very unstable deployments. Not all that uncommon
  • 10. Oh, the server broke. Let me debug that. Inefficient use of developer’s time. Difficult, painful, and scary deployments Database changes were even more painful Django deployment was immature How to Fix?? Bring in an Expert.
  • 11. Solution(s) Evaluated Managed options (Heroku, Webfaction etc) Too Expensive for our scale (and budget) Did not have expertise to build the system ourselves Hired an expert on Django
  • 12. Where we went Fully automated environment with Chef Fabric controlled, repeatable deployments Centralized infrastructure control (Chef/Ops Code) Inherited Fabric files and configurations (Repeatability across projects) Bundle infrastructure into your applications (Version Control All the Things) Version control ALL THE THINGS
  • 13. Optimize Happiness New stack optimized for developer happiness Scratch your own itch All but eliminated deployment headaches Instituted a semi formal standards system through trial and error Happy ending
  • 14. Middle Managed Example: Webfaction Entire box is managed, but you are left largely to your own devices for details Good solution for DIYs A good middle ground.
  • 15. Fully Managed Heroku/Gondor Their way or the highway Great for prototyping/feature branches Limited customization Easiest to start with Friend for new developers!! Start Ups!
  • 16. What should you do? Evaluate your needs and how many headaches you can stand Evaluate your staffing needs/expertise and planned scale Roll Your Own takes a significant amount of expertise. Don’t underestimate it.
  • 17. Tools Many tools exist to make deployment and automated tasks easier. Fabric Capistrano/Fabistrano Chef/Salt Just use something!
  • 18. Fabric Please, please use fabric. (Or another similar tool) Codified, version controlled deployment mechanisms that can be distributed FTW! When you make a change to your workflow, codify it. AUTOMATE!
  • 20. Lessons to Live By AUTOMATE EVERYTHING Version Control and codify your processes Don’t live with broken windows Deployment is really important, invest in it! Choose the provider and solution that fits your team and specific needs