deployment made easy
play

DEPLOYMENT MADE EASY! Presented by Hunde Keba & Ashish Pagar - PowerPoint PPT Presentation

DEPLOYMENT MADE EASY! Presented by Hunde Keba & Ashish Pagar DSFederal Inc. - Connecting the dots 1 DSFederal Inc. We provide solutions to Federal Agencies Our technology solutions connect customers to the people they serve


  1. DEPLOYMENT MADE EASY! Presented by Hunde Keba & Ashish Pagar DSFederal Inc. - “Connecting the dots” 1

  2. DSFederal Inc. » We provide solutions to Federal Agencies » Our technology solutions connect customers to the people they serve DSFederal Inc. - “Connecting the dots” 2

  3. Necessity is the Mother of Invention » Project Requirements – Budget – Team Size – Time » Need for Standardized Deployments » Workflow with CI/CD » Onboarding Developers – Classic local development – Virtual Machine DSFederal Inc. - “Connecting the dots” 3

  4. Classic Dev Environment Problems? » Host OS Support; tedious configurations » Non-transferable » Deployment Hassle DSFederal Inc. - “Connecting the dots” 4

  5. Virtual Machines » Pros – Pristine host; highly customizable – Multiple VMs, 1 per project – Clone, share and transfer to other hosts » Cons – Resource heavy – Difficult to share images DSFederal Inc. - “Connecting the dots” 5

  6. Docker to the Rescue DSFederal Inc. - “Connecting the dots” 6

  7. Docker Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud. DSFederal Inc. - “Connecting the dots” 7

  8. Why Docker? » Lightweight » Portable » Consistent Environment DSFederal Inc. - “Connecting the dots” 8

  9. Docker Containers » Docker container wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server » A container is a runtime instance of an image DSFederal Inc. - “Connecting the dots” 9

  10. Docker Images » Docker container runs an Image » Binary package with root filesystem and metadata » Metadata includes: – Application Process – Volumes – Ports, etc. DSFederal Inc. - “Connecting the dots” 10

  11. Compose Docker Image » Images are built from DockerFile » DockerFile is sequential list of commands » Images can inherit from other images Example: php:5.6-fpm inherits from debian:jessie DSFederal Inc. - “Connecting the dots” 11

  12. DockerFile example #Docker File 2 (Here we don’t care about the OS) #Docker file 1 (Installing apache on an FROM php:7.2-apache Ubuntu 12 image ) FROM ubuntu:12.04 WORKDIR /var/www/html EXPOSE 80 RUN apt-get update && apt-get install -y apache2 && apt-get clean && rm -rf /var/lib/apt/lists/* ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 EXPOSE 80 CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"] DSFederal Inc. - “Connecting the dots” 12

  13. Lets Setup Local » Dockerfile for Applications » Compose File » Environment Variables » Volumes » Git Branches DSFederal Inc. - “Connecting the dots” 13

  14. Amazon Web Services » Provides secured hosting service » Scalable » Complies with Fed. Govt. and is FEDRAMP Certified » Pay as you go » Great set of tools DSFederal Inc. - “Connecting the dots” 14

  15. Setup AWS EC2 Instance » Create AWS Account » Configure EC2 Instance » Setup SSH Access » Install Docker & Docker Compose DSFederal Inc. - “Connecting the dots” 15

  16. Setup Nginx » Organize domains » Redirect incoming requests for eg., govcondev.dsfederal.com 127.0.0.1:10080 govconstg.dsfederal.com 127.0.0.1:10081 DSFederal Inc. - “Connecting the dots” 16

  17. CI Jenkins » Automation Server » Makes deployment easier » Works great with EC2, github, etc. » For our purposes we will use plugins: – Github Plugin – Publish Over SSH DSFederal Inc. - “Connecting the dots” 17

  18. SSH SSH Server DSFederal Inc. - “Connecting the dots” 18

  19. Github Personal Token DSFederal Inc. - “Connecting the dots” 19

  20. Token Access DSFederal Inc. - “Connecting the dots” 20

  21. Github Credentials in Jenkins DSFederal Inc. - “Connecting the dots” 21

  22. Github Connection DSFederal Inc. - “Connecting the dots” 22

  23. Jenkins Build Tasks » Build tasks for each path » Git Polling triggers individual tasks » Task Definition: – DrupalGovConDev – DrupalGovConStage – DrupalGovConProd DSFederal Inc. - “Connecting the dots” 23

  24. Demo https://youtu.be/qZalwRMcQk0 https://youtu.be/GHTRZyfXc2M DSFederal Inc. - “Connecting the dots” 24

  25. QUESTIONS? https://github.com/DSFederalInc/Drupal4GovCon Demo: https://youtu.be/qZalwRMcQk0 https://youtu.be/GHTRZyfXc2M Hunde Keba Twitter: @hunde_keba hunde.keba@dsfederal.com Ashish Pagar Twitter: @ashishpagar ashish.pagar@dsfederal.com THANK YOU DSFederal Inc. - “Connecting the dots” 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend