Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ICC 2020: Use Docker & DevOps to Dominate Deployment

Deploying new features, bug fixes, and updates is necessary for every production SCADA/MES installation and without an established deployment cycle, modifications to any system pose significant risk. In this session, you’ll see Git source control, Docker containerization, and DevOps methodologies that you can use to effectively develop and deploy projects with Ignition. Apply standard Dev/Test/Stage/Prod practices from the software industry to support multiple developers, reduce unplanned downtime, and realize a more efficient process for developing and deploying Ignition projects.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

ICC 2020: Use Docker & DevOps to Dominate Deployment

  1. 1. Using Docker & DevOps to Dominate Deployment
  2. 2. Ryan Crownover Senior Industrial Programmer, Vertech
  3. 3. MESEnterprise
  4. 4. What is DevOps?
  5. 5. A methodology and a mindset designed to integrate the development and operation of a system into a cohesive lifecycle What is DevOps? Reliability Scalability Flexibility Changing Demands
  6. 6. Why DevOps?
  7. 7. • Flexible priorities • Rapid turnaround times • Coordination of multiple developers • Minimum risk of invalid operation (bugs) • Minimum risk of system failure (downtime) We need to make changes with Why DevOps? Changing Demands
  8. 8. • Flexible priorities • Rapid turnaround times • Coordination of multiple developers • Minimum risk of invalid operation (bugs) • Minimum risk of system failure (downtime) We need to make changes with Why DevOps? Flexibility Changing Demands
  9. 9. • Flexible priorities • Rapid turnaround times • Coordination of multiple developers • Minimum risk of invalid operation (bugs) • Minimum risk of system failure (downtime) We need to make changes with Why DevOps? Scalability Flexibility Changing Demands
  10. 10. • Flexible priorities • Rapid turnaround times • Coordination of multiple developers • Minimum risk of invalid operation (bugs) • Minimum risk of system failure (downtime) We need to make changes with Why DevOps? Reliability Scalability Flexibility Changing Demands
  11. 11. • Multiple Environments (tiers) • Source Control • Isolated Development • Deployment Processes • Continuous Integration & Delivery (CI/CD) DevOps Toolbox Why DevOps?
  12. 12. • Multiple Environments (tiers) • Source Control • Isolated Development • Deployment Processes DevOps Toolbox Why DevOps? Continuous Integration & Continuous Delivery
  13. 13. Continuous Integration & Continuous Delivery
  14. 14. Continuous Integration & Continuous Delivery Industrial Automation Software demands Continuous Integration & Continuous Delivery
  15. 15. When teams apply whole changes to a test environment as they are completed, keeping the test environment in a “candidate” state for the next environment Continuous Integration Continuous Integration & Delivery
  16. 16. When teams apply whole changes to a test environment as they are completed, keeping the test environment in a “candidate” state for the next environment Continuous Integration When teams keep a staging environment in a state that is an acceptable candidate for production Continuous Delivery Continuous Integration & Delivery
  17. 17. When teams apply whole changes to a test environment as they are completed, keeping the test environment in a “candidate” state for the next environment Continuous Integration When teams keep a staging environment in a state that is an acceptable candidate for production Continuous Delivery Continuous Integration & Delivery Good Testing Boring Releases
  18. 18. • Shift priorities and development based on the shop floor’s needs • Deploy small changes quickly, with little disruption to large changes’ development • Coordinate large development teams working on different tasks • Ensure the code that’s deployed does what it was designed to do • Ensure the system doesn’t encounter downtime (crash) If we can achieve CI/CD, we can: Continuous Integration & Delivery
  19. 19.  Flexible priorities  Rapid turnaround times  Coordination of multiple developers  Minimum risk of invalid operation (bugs)  Minimum risk of system failure (downtime) If we can achieve CI/CD, we can make changes with: Continuous Integration & Delivery
  20. 20. Getting to CI/CD
  21. 21. • Multiple Environments (tiers) • Source Control • Isolated Development • Deployment Processes DevOps Toolbox Getting to CI/CD Continuous Integration & Continuous Delivery
  22. 22. Getting to CI/CD – Tiered Architecture PROD
  23. 23. Getting to CI/CD – Tiered Architecture PROD
  24. 24. Getting to CI/CD – Tiered Architecture DEV PROD
  25. 25. Getting to CI/CD – Tiered Architecture TEST PRODDEV
  26. 26. Getting to CI/CD – Tiered Architecture STAG PRODTESTDEV
  27. 27. Getting to CI/CD – Tiered Architecture STAG PRODTESTDEV
  28. 28. Getting to CI/CD – Tiered Architecture STAG PRODTESTDEV • Multiple Environments • Source Control • Isolated Development • Deployment Processes
  29. 29. Getting to CI/CD – Isolated Development STAG PRODTEST DEV DEV DEV DEV
  30. 30. Getting to CI/CD – Isolated Development STAG PRODTEST DEV DEV DEV DEV • System Resources • Environment Continuity
  31. 31. Containerization (Docker)
  32. 32. Getting to CI/CD – Isolated Development STAG PRODTEST DEV DEV DEV DEV • System Resources • Environment Continuity
  33. 33. Getting to CI/CD – Isolated Development STAG PRODTEST
  34. 34. Getting to CI/CD – Isolated Development STAG PRODTEST • Multiple Environments • Source Control • Isolated Development • Deployment Processes
  35. 35. Demo
  36. 36. • Using Linux made it easy to run this example all on my machine • git runs just the same on Windows • Docker for Windows does the job too • We’ve proven this method cross-platform But your demo is in Linux! We use Windows Demo
  37. 37. • GitLab installation & setup • git/GitLab permissions • Documenting and automating non-git deployment processes • Procedures for gateway configuration changes Not covered, but still important Demo
  38. 38. Docker Setup docker-compose.yml … …
  39. 39. Docker Setup docker-compose.yml … … all-databases.sql ignBackup.gwbk
  40. 40. Demo STAG PRODTEST
  41. 41. vertech.com/icc

    Be the first to comment

Deploying new features, bug fixes, and updates is necessary for every production SCADA/MES installation and without an established deployment cycle, modifications to any system pose significant risk. In this session, you’ll see Git source control, Docker containerization, and DevOps methodologies that you can use to effectively develop and deploy projects with Ignition. Apply standard Dev/Test/Stage/Prod practices from the software industry to support multiple developers, reduce unplanned downtime, and realize a more efficient process for developing and deploying Ignition projects.

Views

Total views

168

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

47

Shares

0

Comments

0

Likes

0

×