Presentation is loading. Please wait.

Presentation is loading. Please wait.

Continuous delivery Webinar Series – February 18, 2015.

Similar presentations


Presentation on theme: "Continuous delivery Webinar Series – February 18, 2015."— Presentation transcript:

1 continuous delivery 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: @rohitghatolrohitghatol Linkedin: www.linkedin.com/in/rohitghatolwww.linkedin.com/in/rohitghatol HomePage: http://rohitghatol.comhttp://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 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 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 DeliveryOperations DevCIQAStagingProd 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 Production Area QA Box Dev QA Op s SUT Test Server V 2.1V 2.2V 2.3 Continuous delivery Rollbacks www.synerzip.com

31 Developer Scenario 31 Dev Box Dev Rails Image Rails Image Docker Hub Docker Hub Web (RoR) 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) Host Machine (Developer codes here) Docker Web (RoR) Web (RoR) DB (MySQL) DB (MySQL) ~/app/src./src IDE, Browsers, etc => Docker Hub 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) Web (RoR) DB (MySQL) DB (MySQL) Docker Hub 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) 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) CI Server (Drone.io, inhouseCI, etc) Docker Web (RoR) Web (RoR) DB (MySQL) DB (MySQL) Docker Hub 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) Web (RoR) DB (MySQL) DB (MySQL) Docker Hub 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 Docker Hub Cloud Portability Use case 40 Amazon AWS Google Cloud Microsoft Azure Digital Ocean Deployment Tool Deployment Tool Docker, Swarm, Drone.io, Flocker, Tutum, etc SAAS Company 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 WebDB 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 Movie Listing Play PSql Movie Listing Profile RoR My SQL My SQL Redis Profile Preference RoR Redis Preference www.synerzip.com

49 ……… Micro Services Use case 49 Recomm Engine Movie Listing Profile Preference Sprint 1Sprint 2Sprint 7 Sprint 1Sprint 2 Sprint 1Sprint 2Sprint 3 Sprint 1Sprint 2Sprint 3 ……… Deploy www.synerzip.com

50 Micro Services Use case 50 Recomm Engine Node Mong o Solr 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 By Invite 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.www.threebeacons.com 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


Download ppt "Continuous delivery Webinar Series – February 18, 2015."

Similar presentations


Ads by Google