Docker Containers for Continuous Delivery - Comment
Looking for continuous delivery options that are also cloud agnostic? Docker could be your answer. This webinar answers some of your basic questions about Docker and gives you an overview of how to setup Docker for Continuous Delivery. We will also touch upon more advanced topics like Cloud Portability, Microservices deployment and MEAN stack enablement. Get details at https://www.synerzip.com/webinar/docker-containers-for-continuous-delivery-webinar-february-2015/ Topics covered: 1. Webinar Series – February 18, 2015 2. SPEAKER INTRODUCTION www.synerzip.com 2 3. Rohit Ghatol 3 • Director of Engineering @ Synerzip • Technology Evangelist Contact Details Twitter: @rohitghatol Linkedin: www.linkedin.com/in/rohitghatol HomePage: http://rohitghatol.com www.synerzip.com 4. DOCKER INTRODUCTION 4 www.synerzip.com 5. Docker As a Technology – • Light Weight Container Technology for Virtualization • Fastest Growing Technology (2 Years) • First Release March 2013 • 0.9 Release in March 2014 • Colossal Adoption Rate • 18,876 Star on Github 5 www.synerzip.com 6. Docker As a Company - • Incubated @ DotCloud (PAAS Company) • Changed to Docker Oct 2013 • Privately Held Company • $55 Million in 2 Rounds from 6 Investors • Sold DotCloud to CloudControl Aug 2014 6 www.synerzip.com 7. WHO USES DOCKER? 7 www.synerzip.com 8. Who uses Docker? Companies using Docker 8 And many more… www.synerzip.com 9. Who uses Docker? Docker PAAS Providers 9 And many more… www.synerzip.com 10. Who uses Docker? 10 As an Infrastructure Tool along side www.synerzip.com 11. CONTINUOUS DELIVERY www.synerzip.com 11 12. Continuous Delivery 12 www.synerzip.com 13. The Components 13 1.5 Host Environment 2.1 App config DB www.synerzip.com 14. Continuous Delivery 14 App confi g DB 1.0 Env 1.2 1.3 Env 2.3 1.5 Env 2.1 App DB App DB confi g confi g www.synerzip.com 15. The Components 15 Jenkins, Bamboo, etc 1.5 Host Environment 2.1 App config DB Vagrant, Puppet, Chef etc. Virtual Machines, Instructions, Commands, Etc. www.synerzip.com 16. CONTINUOUS DELIVERY THE NEXT STEP… 16 www.synerzip.com 17. Containers 17 1.5 Env 2.1 App config DB www.synerzip.com 18. LANDSCAPE How companies are deploying SAAS today? 18 www.synerzip.com 19. Landscape 19 Dev Box Test Servers CI Staging Area Production Area QA Box Dev QA Op s DevOps Tools - Chef, Puppet, Anisble, SaltStack, Vagrant, VirtualBox, VMWare CIT Tools – Jenkins,Bamboo,Travis, etc IAAS/PAAS – AWS, Azure, Google Cloud, Digital Ocean,Heroku etc www.synerzip.com 20. DOCKER 101 20 www.synerzip.com 21. What is Docker? Docker provides Docker Daemon to run light weight containers on Linux. Applications: • Are dockerized and • Run on Docker Containers – from laptops to production servers on cloud • Their images are shared on Docker Hub • Apps can be linked (node -> mongo) 21 www.synerzip.com 22. What is a Container? 22 Virtual Machine Container Using namespace, cgroups, apparmour, etc. www.synerzip.com 23. What is Docker? 23 Docker Client Docker Daemon Public Repo Private Repo Docker File DSL www.synerzip.com 24. Docker File System 24 www.synerzip.com 25. Dockerfile FROM dockerfile/node - Base Image RUN apt-get update –qq - Instructions RUN mkdir /my/app - while building image ADD . /my/app CMD [“node”,”web”] -What Command to run 25 www.synerzip.com 26. Dockerfile //Build an Image $> docker build –t “rohitghatol/node” . //Run an Image $>docker run –d –p 80:3000 rohitghatol/node //Push to Docker Hub $>docker push rohitghatol/node //developer $>docker pull rohitghatol/node //operations 26 www.synerzip.com 27. DOCKER USE CASES 27 www.synerzip.com 28. CONTINUOUS DELIVERY 28 www.synerzip.com 29. Continuous Delivery 29 Continuous Delivery Operations Dev CI QA Staging Prod High Availability Redundancy SLAs Area where Docker shines Kubernetes etc www.synerzip.com 30. Continuous Delivery Use case 30 Dev Box Test Servers CIT Staging Area Production Area QA Box Dev QA Op s SUT Test Server V 2.1 V 2.2 V 2.3 Continuous delivery Rollbacks www.synerzip.com 31. Developer Scenario 31 Dev Box Dev Rails Image Docker Hub Web (RoR) Dev 1. Pull 2. Run 3. Customize 4. Push as Base Image Team 5. Pull www.synerzip.com 32. Developer Scenario 32 Dev Box Dev Host Machine (Developer codes here) Docker Web (RoR) DB (MySQL) ~/app/src ./src IDE, Browsers, etc => Docker Hub Sync Folder Code runs here www.synerzip.com 33. CI Scenarios 33 Code Push Test Code Test Feature Build App Docker Image Run Docker Container with App Image Publish App Docker Image Numerous combinations… Pull Code www.synerzip.com 34. CI Scenarios – Option 1 34 Code Push Pull Code Test Code Publish App Docker Image Build App Docker Image www.synerzip.com 35. CI Scenario 35 Github Docker Web (RoR) DB (MySQL) Docker Hub Dev Box Dev 1. Push Code 2. Listen 3. Get Base Image 5. Run Tests 4. Pull Code 6. Build App Image 7. Push App Image www.synerzip.com CI Server ( Drone, Shippable, Circle CI, CodeShip, Travis CI, Jenkins etc) 36. CI Scenarios – Option 2 36 Code Push Test Feature Build App Docker Image Run Docker Container with App Image Publish App Docker Image Mark Good App Image www.synerzip.com 37. CI Scenario 37 Github CI Server (Drone.io, inhouseCI, etc) Docker Web (RoR) DB (MySQL) Docker Hub Dev Box Dev 1. Push Code 3. Listen 2. Create App Docker Image 5. Run Tests 4. Pull Run App Image 6. Accept/Reject Image www.synerzip.com 38. Staging/Prod Scenario 38 Host Machine Docker Container Web (RoR) DB (MySQL) Docker Hub 1. Trigger Event 3. Pull App Image 4. Run Image 2. Deploy Docker Container (AWS, Azure, Digital Ocean, etc.) Host Machine www.synerzip.com 39. CLOUD PORTABILITY 39 www.synerzip.com 40. Docker Hub Cloud Portability Use case 40 Amazon AWS Google Cloud Microsoft Azure Digital Ocean Deployment Tool Docker, Swarm, Drone.io, Flocker, Tutum, etc SAAS Company Github www.synerzip.com 41. MEAN STACK 41 www.synerzip.com 42. MeanStack Use case 42 Open-Source Full-Stack Solution for MEAN Applications www.synerzip.com 43. MeanStack Use case • Mean.js provides – Code generator to generate Mean App – Mean.js apps typically have • Node Js Server • Mongo DB database – Provides Dockerfile and fig.yml to run the app in Docker Containers • One Docker container for Node Js Server • One Docker container for Mongo DB Database 43 www.synerzip.com 44. MeanStack Use case 44 www.synerzip.com 45. MeanStack Use case 45 Web DB Port 3000 Port 27017 Docker Containers fig.yml www.synerzip.com 46. MeanStack Use case 46 dockerfile/nodejs Image grunt-cli bower package.json ….. Dockerfile www.synerzip.com 47. MICRO SERVICES 47 www.synerzip.com 48. Micro Services Use case 48 Micro Service Recomm Engine Node Mong o Solr Recomm Engine Recomm Engine Movie Listing Play PSql Movie Listing Movie Listing Movie Listing Profile RoR My SQL Redis Profile Preference RoR Redis Preference www.synerzip.com 49. ……… ……… Micro Services Use case 49 Recomm Engine Movie Listing Profile Preference Sprint 1 Sprint 2 Sprint 7 Sprint 1 Sprint 2 Sprint 1 Sprint 2 Sprint 3 Sprint 1 Sprint 2 Sprint 3 ……… ……… Deploy www.synerzip.com 50. Micro Services Use case 50 Recomm Engine Node Mong o Solr Recomm Engine Recomm Engine Docker Container Gateway/Re v Proxy www.synerzip.com 51. Micro Services Use case • Micro services are hard to run • Needs strong DevOps process • Docker helps by – Defining container/micro service as unit – Shipping one micro service as one container – More containers = more scale – By improving Dev – Operations relationships 51 www.synerzip.com 52. Micro Services Use case • What else is needed? – Scheduling – High Availability – Service Discovery – Etc. 52 Giant Swarm www.synerzip.com 53. FUTURE OF DOCKER 53 www.synerzip.com 54. NEW DOCKER PRODUCTS 54 www.synerzip.com 55. New Docker Products • Docker Machine • Docker Swarm • Docker Compose 55 www.synerzip.com 56. Docker Machine • Machine makes it really easy to create Docker hosts on local hypervisors and cloud providers. • It creates servers, installs Docker on them, then configures the Docker client to talk to them. 56 www.synerzip.com 57. Docker Machine $>docker-machine create -d virtualbox dev $>docker-machine create -d digitalocean -- digitalocean-access-token=... staging 57 www.synerzip.com 58. Docker Swarm • Swarm is a simple tool which controls a cluster of Docker hosts and exposes it as a single "virtual" host. • Swarm uses the standard Docker API as its frontend, which means any tool which speaks Docker can control swarm transparently. 58 www.synerzip.com 59. Docker Swarm • # create a cluster $ docker run --rm swarm create • # Add Machine to cluster docker run -d swarm join --addr= token:// • #Run Docker commands on swarm docker -H tcp:// run –d –P dockerfile/node 59 www.synerzip.com 60. Docker Compose • An orchestration tool for Docker • Defines – Which Docker containers are to be run – How they are connected – What ports they expose – All in single file – Initial design based on Fig.sh • Current status - limbo 60 www.synerzip.com 61. IAAS/PAAS ADOPTION 61 www.synerzip.com 62. IAAS/PAAS Adoption • Amazon ECS – Container service – Supports tasks configuration • Google Cloud – Based on Kubernetes • Microsoft Azure 62 www.synerzip.com 63. Q & A? 63 www.synerzip.com 64. •6484 www.synerzip.com Ashish Shanker ashish.shanker@synerzip.com 469.374.0500 64 www.synerzip.com 65. Synerzip in a Nutshell • Software product development partner for small/mid-sized technology companies – Exclusive focus on small/mid-sized technology companies, typically venture- backed companies in growth phase – By definition, all Synerzip work is the IP of its respective clients – Deep experience in full SDLC – design, dev, QA/testing, deployment • Dedicated team of high caliber software professionals for each client – Seamlessly extends client’s local team, offering full transparency – Stable teams with very low turn-over – NOT just “staff augmentation”, but provide full mgmt support • Actually reduces risk of development/delivery – Experienced team - uses appropriate level of engineering discipline – Practices Agile development – responsive, yet disciplined • Reduces cost – dual-shore team, 50% cost advantage • Offers long term flexibility – allows (facilitates) taking offshore team captive – aka “BOT” option 65 www.synerzip.com 66. Our Clients 66 www.synerzip.com 67. Next Webinar Life Cycle of a User Story Complimentary Webinar: Tuesday, March 17, 2015 @ noon CST Presented by: Michael Hall, CEO and Founder of Three Beacons. Michael is a software practitioner and team leader, Certified Scrum Master, Certified Scrum Product Owner, and an early adopter of Agile methods since 2001. Three Beacons is a leading provider of agile training and consulting services. See www.threebeacons.com for a complete description of Agile training courses available. 67 www.synerzip.com 68. Ashish Shanker ashish.shanker@synerzip.com 469.374.0500 Thanks! @Synerzip_Agile linkedin.com/company/synerzip facebook.com/Synerzip 68 www.synerzip.com |
|||
Posted by : peter88 | Post date : 2020-01-06 15:54 | ||
Category : Technology | Views : 369 | ||
New Comment