SlideShare a Scribd company logo
1 of 10
Download to read offline
Self hosted server applications
   Why and how to pack the kitchen sink into your server

    Presenter:
          Adam Horvath
          (adam@teamleadnet.com)


21 Mar 2013, DevOps Sydney   Adam Horvath              1
Who had any problems with…
• Differences in
      – Runtime/library environment in dev and prod
      – Configuration settings in dev and prod
•   Setting up A-B testing
•   Setting up load balancing
•   Rolling out a new version to a subset of users
•   Rolling back a malfunctioning version


21 Mar 2013, DevOps Sydney   Adam Horvath             2
Data, Binary, Runtime, Config
• Data is anything that the user creates
      – Files
      – Database entries
• Binary is anything that works or supports work
      – Compiled binaries
      – Script files
      – Images, styles
• Runtime is anything that Binary requires
      – Framework
      – Application server
• Config is anything that advises binary how to behave
      – Config file
      – Command line parameter

21 Mar 2013, DevOps Sydney   Adam Horvath                3
Binary (Code)
              HTTP              Configuration files      Database
             Server
                             User data (Images, files)

                                   Runtime libraries




21 Mar 2013, DevOps Sydney           Adam Horvath                   4
Pack in everything you’d need
• Storage is cheap
      – Store as many binary packages as you want
• The binary package is a ‘throwaway’ container
      – Adding/removing does not affect the system
•   All Binary is internal
•   Most runtime is internal
•   Some configuration is external
•   All data is external

21 Mar 2013, DevOps Sydney   Adam Horvath            5
Self hosting
• Think in small services
• Reduce external dependencies
      –   Ship the application servers with the app
      –   HTTP server
      –   Static content server
      –   Health monitor server
• Run as a simple console application
• Embed most of the configuration
      – Required config in command line - fail early
• Make directory, port, environment irrelevant
• Collect health information centrally

21 Mar 2013, DevOps Sydney       Adam Horvath          6
Forwarding requests
• Treat the external webserver as a forwarder
• Use a lightweight HTTP server like nginx
• What belongs here is
      – Rollout plan to internal users first
      – Rollout plan to small percentage of live users
      – A-B testing
      – Dynamic load balancing
• Tip – set up your own DNS
21 Mar 2013, DevOps Sydney     Adam Horvath              7
HTTP Server
                                                   User data
                              Binary (Code)      (Images, files)

         HTTP                Runtime libraries
         Server



                                                   Database




21 Mar 2013, DevOps Sydney       Adam Horvath                      8
URLs
• This presentation
  http://bit.ly/devops-selfhosted
• nginx
  http://nginx.org/
• dnsmasq
  http://www.thekelleys.org.uk/dnsmasq




21 Mar 2013, DevOps Sydney   Adam Horvath   9
Questions




    Adam Horvath
    (adam@teamleadnet.com)



21 Mar 2013, DevOps Sydney     Adam Horvath   10

More Related Content

What's hot

Storage Enhancements in Windows 2012 R2
Storage Enhancements in Windows 2012 R2Storage Enhancements in Windows 2012 R2
Storage Enhancements in Windows 2012 R2Michael Rüefli
 
GWAVACon 2013: Novell GroupWise Windermere Deep Dive
GWAVACon 2013: Novell GroupWise Windermere Deep DiveGWAVACon 2013: Novell GroupWise Windermere Deep Dive
GWAVACon 2013: Novell GroupWise Windermere Deep DiveGWAVA
 
Redis - The Universal NoSQL Tool
Redis - The Universal NoSQL ToolRedis - The Universal NoSQL Tool
Redis - The Universal NoSQL ToolEberhard Wolff
 
Docker 101 for Oracle DBAs - Oracle OpenWorld 2017
Docker 101 for Oracle DBAs - Oracle OpenWorld 2017Docker 101 for Oracle DBAs - Oracle OpenWorld 2017
Docker 101 for Oracle DBAs - Oracle OpenWorld 2017Adeesh Fulay
 
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of OracleRedis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of OracleRedis Labs
 
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best PracticesVMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best PracticesVMworld
 
Geek Sync | Infrastructure for the Data Professional: An Introduction
Geek Sync | Infrastructure for the Data Professional: An IntroductionGeek Sync | Infrastructure for the Data Professional: An Introduction
Geek Sync | Infrastructure for the Data Professional: An IntroductionIDERA Software
 
Gears of Perforce: AAA Game Development Challenges
Gears of Perforce: AAA Game Development ChallengesGears of Perforce: AAA Game Development Challenges
Gears of Perforce: AAA Game Development ChallengesPerforce
 
The DuraCloud Workshop - Open Repositories 2015
The DuraCloud Workshop - Open Repositories 2015The DuraCloud Workshop - Open Repositories 2015
The DuraCloud Workshop - Open Repositories 2015DuraSpace
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutSander Temme
 

What's hot (13)

Storage Enhancements in Windows 2012 R2
Storage Enhancements in Windows 2012 R2Storage Enhancements in Windows 2012 R2
Storage Enhancements in Windows 2012 R2
 
GWAVACon 2013: Novell GroupWise Windermere Deep Dive
GWAVACon 2013: Novell GroupWise Windermere Deep DiveGWAVACon 2013: Novell GroupWise Windermere Deep Dive
GWAVACon 2013: Novell GroupWise Windermere Deep Dive
 
Migrating from OCLC's Digital Archive to DuraCloud
Migrating from OCLC's Digital Archive to DuraCloudMigrating from OCLC's Digital Archive to DuraCloud
Migrating from OCLC's Digital Archive to DuraCloud
 
Redis - The Universal NoSQL Tool
Redis - The Universal NoSQL ToolRedis - The Universal NoSQL Tool
Redis - The Universal NoSQL Tool
 
Docker 101 for Oracle DBAs - Oracle OpenWorld 2017
Docker 101 for Oracle DBAs - Oracle OpenWorld 2017Docker 101 for Oracle DBAs - Oracle OpenWorld 2017
Docker 101 for Oracle DBAs - Oracle OpenWorld 2017
 
Redis Replication
Redis ReplicationRedis Replication
Redis Replication
 
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of OracleRedis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
 
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best PracticesVMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
VMworld 2014: Advanced SQL Server on vSphere Techniques and Best Practices
 
REDIS327
REDIS327REDIS327
REDIS327
 
Geek Sync | Infrastructure for the Data Professional: An Introduction
Geek Sync | Infrastructure for the Data Professional: An IntroductionGeek Sync | Infrastructure for the Data Professional: An Introduction
Geek Sync | Infrastructure for the Data Professional: An Introduction
 
Gears of Perforce: AAA Game Development Challenges
Gears of Perforce: AAA Game Development ChallengesGears of Perforce: AAA Game Development Challenges
Gears of Perforce: AAA Game Development Challenges
 
The DuraCloud Workshop - Open Repositories 2015
The DuraCloud Workshop - Open Repositories 2015The DuraCloud Workshop - Open Repositories 2015
The DuraCloud Workshop - Open Repositories 2015
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
 

Viewers also liked

01 บทที่ 1-บทนำ แก้
01 บทที่ 1-บทนำ แก้01 บทที่ 1-บทนำ แก้
01 บทที่ 1-บทนำ แก้Jariya Kommanee
 
00 ส่วนนำ1 แก้
00 ส่วนนำ1 แก้00 ส่วนนำ1 แก้
00 ส่วนนำ1 แก้Jariya Kommanee
 
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้อง02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้องJariya Kommanee
 
Presentatie elma multimedia 2208
Presentatie elma multimedia 2208Presentatie elma multimedia 2208
Presentatie elma multimedia 2208elmamultimedia
 
Presentatie elma multimedia 2208
Presentatie elma multimedia 2208Presentatie elma multimedia 2208
Presentatie elma multimedia 2208elmamultimedia
 
310174 แมตทีเรีย
310174 แมตทีเรีย310174 แมตทีเรีย
310174 แมตทีเรียChamp Cha
 
Learning Commons Update 5/21/14
Learning Commons Update  5/21/14Learning Commons Update  5/21/14
Learning Commons Update 5/21/14Alida_Hanson
 
Fallo acción popular 2009 0111
Fallo acción popular 2009 0111Fallo acción popular 2009 0111
Fallo acción popular 2009 0111Paonore
 
งานนำเสนอ ข้อมูลโรงเรียนบ้านโปร่ง esanNB
 งานนำเสนอ ข้อมูลโรงเรียนบ้านโปร่ง esanNB งานนำเสนอ ข้อมูลโรงเรียนบ้านโปร่ง esanNB
งานนำเสนอ ข้อมูลโรงเรียนบ้านโปร่ง esanNBChamp Cha
 
Twitter for Professional Development
Twitter for Professional DevelopmentTwitter for Professional Development
Twitter for Professional DevelopmentAlida_Hanson
 
12 segd xlab_abigail_hartgray_slideshare
12 segd xlab_abigail_hartgray_slideshare12 segd xlab_abigail_hartgray_slideshare
12 segd xlab_abigail_hartgray_slideshareAbigail Gray
 
310252 แมคคานิก
310252 แมคคานิก310252 แมคคานิก
310252 แมคคานิกChamp Cha
 
00 ส่วนนำ1 แก้
00 ส่วนนำ1 แก้00 ส่วนนำ1 แก้
00 ส่วนนำ1 แก้Jariya Kommanee
 
Teaching principles
Teaching principlesTeaching principles
Teaching principlesAlida_Hanson
 
Lockhart art analys upload
Lockhart art analys uploadLockhart art analys upload
Lockhart art analys uploadbrucelockhart
 
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -Hideki Akiba
 
การคิดอัตราค่าไฟ
การคิดอัตราค่าไฟการคิดอัตราค่าไฟ
การคิดอัตราค่าไฟChamp Cha
 

Viewers also liked (20)

01 บทที่ 1-บทนำ แก้
01 บทที่ 1-บทนำ แก้01 บทที่ 1-บทนำ แก้
01 บทที่ 1-บทนำ แก้
 
00 ส่วนนำ1 แก้
00 ส่วนนำ1 แก้00 ส่วนนำ1 แก้
00 ส่วนนำ1 แก้
 
Powerful presentation
Powerful presentationPowerful presentation
Powerful presentation
 
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้อง02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
 
Presentatie elma multimedia 2208
Presentatie elma multimedia 2208Presentatie elma multimedia 2208
Presentatie elma multimedia 2208
 
Creative lanna booklet(3)
Creative lanna booklet(3)Creative lanna booklet(3)
Creative lanna booklet(3)
 
Presentatie elma multimedia 2208
Presentatie elma multimedia 2208Presentatie elma multimedia 2208
Presentatie elma multimedia 2208
 
Triptico
TripticoTriptico
Triptico
 
310174 แมตทีเรีย
310174 แมตทีเรีย310174 แมตทีเรีย
310174 แมตทีเรีย
 
Learning Commons Update 5/21/14
Learning Commons Update  5/21/14Learning Commons Update  5/21/14
Learning Commons Update 5/21/14
 
Fallo acción popular 2009 0111
Fallo acción popular 2009 0111Fallo acción popular 2009 0111
Fallo acción popular 2009 0111
 
งานนำเสนอ ข้อมูลโรงเรียนบ้านโปร่ง esanNB
 งานนำเสนอ ข้อมูลโรงเรียนบ้านโปร่ง esanNB งานนำเสนอ ข้อมูลโรงเรียนบ้านโปร่ง esanNB
งานนำเสนอ ข้อมูลโรงเรียนบ้านโปร่ง esanNB
 
Twitter for Professional Development
Twitter for Professional DevelopmentTwitter for Professional Development
Twitter for Professional Development
 
12 segd xlab_abigail_hartgray_slideshare
12 segd xlab_abigail_hartgray_slideshare12 segd xlab_abigail_hartgray_slideshare
12 segd xlab_abigail_hartgray_slideshare
 
310252 แมคคานิก
310252 แมคคานิก310252 แมคคานิก
310252 แมคคานิก
 
00 ส่วนนำ1 แก้
00 ส่วนนำ1 แก้00 ส่วนนำ1 แก้
00 ส่วนนำ1 แก้
 
Teaching principles
Teaching principlesTeaching principles
Teaching principles
 
Lockhart art analys upload
Lockhart art analys uploadLockhart art analys upload
Lockhart art analys upload
 
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
 
การคิดอัตราค่าไฟ
การคิดอัตราค่าไฟการคิดอัตราค่าไฟ
การคิดอัตราค่าไฟ
 

Similar to Self hosted server applications - Adam Horvath

Hadoop operations-2014-strata-new-york-v5
Hadoop operations-2014-strata-new-york-v5Hadoop operations-2014-strata-new-york-v5
Hadoop operations-2014-strata-new-york-v5Chris Nauroth
 
Hadoop engineering bo_f_final
Hadoop engineering bo_f_finalHadoop engineering bo_f_final
Hadoop engineering bo_f_finalRamya Sunil
 
Architecting Applications with Hadoop
Architecting Applications with HadoopArchitecting Applications with Hadoop
Architecting Applications with Hadoopmarkgrover
 
Strata EU tutorial - Architectural considerations for hadoop applications
Strata EU tutorial - Architectural considerations for hadoop applicationsStrata EU tutorial - Architectural considerations for hadoop applications
Strata EU tutorial - Architectural considerations for hadoop applicationshadooparchbook
 
Strata NY 2014 - Architectural considerations for Hadoop applications tutorial
Strata NY 2014 - Architectural considerations for Hadoop applications tutorialStrata NY 2014 - Architectural considerations for Hadoop applications tutorial
Strata NY 2014 - Architectural considerations for Hadoop applications tutorialhadooparchbook
 
Net essentials6e ch8
Net essentials6e ch8Net essentials6e ch8
Net essentials6e ch8APSU
 
Application Architectures with Hadoop
Application Architectures with HadoopApplication Architectures with Hadoop
Application Architectures with Hadoophadooparchbook
 
Application Architectures with Hadoop | Data Day Texas 2015
Application Architectures with Hadoop | Data Day Texas 2015Application Architectures with Hadoop | Data Day Texas 2015
Application Architectures with Hadoop | Data Day Texas 2015Cloudera, Inc.
 
YARN Ready: Integrating to YARN with Tez
YARN Ready: Integrating to YARN with Tez YARN Ready: Integrating to YARN with Tez
YARN Ready: Integrating to YARN with Tez Hortonworks
 
HDFS- What is New and Future
HDFS- What is New and FutureHDFS- What is New and Future
HDFS- What is New and FutureDataWorks Summit
 
Architecting application with Hadoop - using clickstream analytics as an example
Architecting application with Hadoop - using clickstream analytics as an exampleArchitecting application with Hadoop - using clickstream analytics as an example
Architecting application with Hadoop - using clickstream analytics as an examplehadooparchbook
 
Big data - Online Training
Big data - Online TrainingBig data - Online Training
Big data - Online TrainingLearntek1
 
Application Architectures with Hadoop
Application Architectures with HadoopApplication Architectures with Hadoop
Application Architectures with Hadoophadooparchbook
 
Lessons Learned Running Hadoop and Spark in Docker Containers
Lessons Learned Running Hadoop and Spark in Docker ContainersLessons Learned Running Hadoop and Spark in Docker Containers
Lessons Learned Running Hadoop and Spark in Docker ContainersBlueData, Inc.
 
Tapping into New Postgres Resources with Remote DBAs
Tapping into New Postgres Resources with Remote DBAsTapping into New Postgres Resources with Remote DBAs
Tapping into New Postgres Resources with Remote DBAsEDB
 
Nicholas:hdfs what is new in hadoop 2
Nicholas:hdfs what is new in hadoop 2Nicholas:hdfs what is new in hadoop 2
Nicholas:hdfs what is new in hadoop 2hdhappy001
 
Petabyte scale on commodity infrastructure
Petabyte scale on commodity infrastructurePetabyte scale on commodity infrastructure
Petabyte scale on commodity infrastructureelliando dias
 

Similar to Self hosted server applications - Adam Horvath (20)

Hadoop operations-2014-strata-new-york-v5
Hadoop operations-2014-strata-new-york-v5Hadoop operations-2014-strata-new-york-v5
Hadoop operations-2014-strata-new-york-v5
 
Hadoop engineering bo_f_final
Hadoop engineering bo_f_finalHadoop engineering bo_f_final
Hadoop engineering bo_f_final
 
Architecting Applications with Hadoop
Architecting Applications with HadoopArchitecting Applications with Hadoop
Architecting Applications with Hadoop
 
Strata EU tutorial - Architectural considerations for hadoop applications
Strata EU tutorial - Architectural considerations for hadoop applicationsStrata EU tutorial - Architectural considerations for hadoop applications
Strata EU tutorial - Architectural considerations for hadoop applications
 
Strata NY 2014 - Architectural considerations for Hadoop applications tutorial
Strata NY 2014 - Architectural considerations for Hadoop applications tutorialStrata NY 2014 - Architectural considerations for Hadoop applications tutorial
Strata NY 2014 - Architectural considerations for Hadoop applications tutorial
 
Net essentials6e ch8
Net essentials6e ch8Net essentials6e ch8
Net essentials6e ch8
 
Application Architectures with Hadoop
Application Architectures with HadoopApplication Architectures with Hadoop
Application Architectures with Hadoop
 
Application Architectures with Hadoop | Data Day Texas 2015
Application Architectures with Hadoop | Data Day Texas 2015Application Architectures with Hadoop | Data Day Texas 2015
Application Architectures with Hadoop | Data Day Texas 2015
 
YARN Ready: Integrating to YARN with Tez
YARN Ready: Integrating to YARN with Tez YARN Ready: Integrating to YARN with Tez
YARN Ready: Integrating to YARN with Tez
 
HDFS- What is New and Future
HDFS- What is New and FutureHDFS- What is New and Future
HDFS- What is New and Future
 
Architecting application with Hadoop - using clickstream analytics as an example
Architecting application with Hadoop - using clickstream analytics as an exampleArchitecting application with Hadoop - using clickstream analytics as an example
Architecting application with Hadoop - using clickstream analytics as an example
 
Big data - Online Training
Big data - Online TrainingBig data - Online Training
Big data - Online Training
 
Application Architectures with Hadoop
Application Architectures with HadoopApplication Architectures with Hadoop
Application Architectures with Hadoop
 
Lessons Learned Running Hadoop and Spark in Docker Containers
Lessons Learned Running Hadoop and Spark in Docker ContainersLessons Learned Running Hadoop and Spark in Docker Containers
Lessons Learned Running Hadoop and Spark in Docker Containers
 
Tapping into New Postgres Resources with Remote DBAs
Tapping into New Postgres Resources with Remote DBAsTapping into New Postgres Resources with Remote DBAs
Tapping into New Postgres Resources with Remote DBAs
 
Hadoop.pptx
Hadoop.pptxHadoop.pptx
Hadoop.pptx
 
Hadoop.pptx
Hadoop.pptxHadoop.pptx
Hadoop.pptx
 
List of Engineering Colleges in Uttarakhand
List of Engineering Colleges in UttarakhandList of Engineering Colleges in Uttarakhand
List of Engineering Colleges in Uttarakhand
 
Nicholas:hdfs what is new in hadoop 2
Nicholas:hdfs what is new in hadoop 2Nicholas:hdfs what is new in hadoop 2
Nicholas:hdfs what is new in hadoop 2
 
Petabyte scale on commodity infrastructure
Petabyte scale on commodity infrastructurePetabyte scale on commodity infrastructure
Petabyte scale on commodity infrastructure
 

Recently uploaded

Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 

Recently uploaded (20)

Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 

Self hosted server applications - Adam Horvath

  • 1. Self hosted server applications Why and how to pack the kitchen sink into your server Presenter: Adam Horvath (adam@teamleadnet.com) 21 Mar 2013, DevOps Sydney Adam Horvath 1
  • 2. Who had any problems with… • Differences in – Runtime/library environment in dev and prod – Configuration settings in dev and prod • Setting up A-B testing • Setting up load balancing • Rolling out a new version to a subset of users • Rolling back a malfunctioning version 21 Mar 2013, DevOps Sydney Adam Horvath 2
  • 3. Data, Binary, Runtime, Config • Data is anything that the user creates – Files – Database entries • Binary is anything that works or supports work – Compiled binaries – Script files – Images, styles • Runtime is anything that Binary requires – Framework – Application server • Config is anything that advises binary how to behave – Config file – Command line parameter 21 Mar 2013, DevOps Sydney Adam Horvath 3
  • 4. Binary (Code) HTTP Configuration files Database Server User data (Images, files) Runtime libraries 21 Mar 2013, DevOps Sydney Adam Horvath 4
  • 5. Pack in everything you’d need • Storage is cheap – Store as many binary packages as you want • The binary package is a ‘throwaway’ container – Adding/removing does not affect the system • All Binary is internal • Most runtime is internal • Some configuration is external • All data is external 21 Mar 2013, DevOps Sydney Adam Horvath 5
  • 6. Self hosting • Think in small services • Reduce external dependencies – Ship the application servers with the app – HTTP server – Static content server – Health monitor server • Run as a simple console application • Embed most of the configuration – Required config in command line - fail early • Make directory, port, environment irrelevant • Collect health information centrally 21 Mar 2013, DevOps Sydney Adam Horvath 6
  • 7. Forwarding requests • Treat the external webserver as a forwarder • Use a lightweight HTTP server like nginx • What belongs here is – Rollout plan to internal users first – Rollout plan to small percentage of live users – A-B testing – Dynamic load balancing • Tip – set up your own DNS 21 Mar 2013, DevOps Sydney Adam Horvath 7
  • 8. HTTP Server User data Binary (Code) (Images, files) HTTP Runtime libraries Server Database 21 Mar 2013, DevOps Sydney Adam Horvath 8
  • 9. URLs • This presentation http://bit.ly/devops-selfhosted • nginx http://nginx.org/ • dnsmasq http://www.thekelleys.org.uk/dnsmasq 21 Mar 2013, DevOps Sydney Adam Horvath 9
  • 10. Questions Adam Horvath (adam@teamleadnet.com) 21 Mar 2013, DevOps Sydney Adam Horvath 10