multi-container apps spanning docker, mesos and openstack

Download Multi-Container Apps spanning Docker, Mesos and OpenStack

Post on 22-Jan-2018

1.574 views

Category:

Technology

0 download

Embed Size (px)

TRANSCRIPT

  1. 1. Multi-Container Applications Spanning Docker, Mesos and OpenStack Andrew Kennedy Clocker Project Founder Cloudsoft Corporation
  2. 2. Agenda Features Adding extra capabilities to applications using Clocker Demonstration Live application deployment across Docker, Mesos and OpenStack Introduction What is Clocker? Blueprints Defining multi-container applications across multiple target destinations
  3. 3. Containers, not Virtual Machines, are the Future Cloud.
  4. 4. Introduction What is Clocker?
  5. 5. @grkvlt
  6. 6. @grkvlt Clocker Statistics About the Clocker Project Open Source 1+ Years Old 786 Commits 183 Pull Requests 14 Contributors 2 External 15 KLOC 31 Releases Version 1.1.0 available now http://www.redotheweb.com/CodeFlower/
  7. 7. @grkvlt Application Management Platform Define Application using Blueprints OASIS CAMP and TOSCA Standards Deploy, Manage and Monitor Applications Provisioning, Installation and Customization Runtime Management and Monitoring Policies AutoScaling, Resilience, Performance, Security Apache Brooklyn
  8. 8. @grkvlt Apache jclouds Java Cloud Library API Agnostic OpenStack, SoftLayer, Azure, GCE , AWS EC2, Create Virtual Machines Return SSH Endpoint Create Containers Docker Provider Uses REST API Configuration Execute Commands
  9. 9. @grkvlt Docker Engine Isolation Environment Performance Resource Allocation Composable Huge Ecosystem Internal and External Compute Abstraction Process Wrapper Microservices Container Management
  10. 10. @grkvlt Docker Extras Integrating More Features and Capabilities into Docker Software-Defined Networking Project Calico Weave Storage and Volume Management Flocker More Being Developed Native Plugins Docker Tools Swarm Compose
  11. 11. @grkvlt Apache Mesos Distributed Systems Kernel Cluster Management Resource Sharing and Placement Calico SDN Support Frameworks Aurora, Chronos Marathon Riak, Spark, Storm Hadoop Tasks Marathon for Docker
  12. 12. @grkvlt Docker Cloud Properties 1. On-demand 2. Multi-Tenant 3. Hardware Independent 4. Application Level
  13. 13. @grkvlt Platform Specific Platform Agnostic Application Centric Infrastructure Centric Clocker Positioning
  14. 14. Features Adding extra capabilities to applications using Clocker
  15. 15. @grkvlt Clocker Features 1. Spins up and Manages Docker Clusters in the Cloud 2. Deploys Containers and Networks on Demand 3. Manages Multi-Container Application Deployments
  16. 16. @grkvlt Clocker Blueprints
  17. 17. @grkvlt Application Orchestration Docker Engine Virtual Machine Container Clocker Network Segment SDN Provider Cloud Provider Brooklyn Mesos Cluster Marathon Task
  18. 18. @grkvlt Apache Mesos Integration Marathon Framework Connect to Existing Mesos Cluster Scan for Frameworks Marathon Location for Deployment Docker Container Entites Become Marathon Tasks Arbitrary Entities Start Marathon Task with Ubuntu Image Networking Project Calico Network Module Integration
  19. 19. @grkvlt Networking Capabilities Security Policy for Network Traffic Inter-Container and External Firewalling Wide Area and Multi Region SDN VPN or IPIP and NAT Configuration Cross Platform SDN Both VMs and Containers on a Private Network Name Resolution and Service Discovery Weave DNS or Similar Lightweight DNS Implementation Traditional BIND DNS Server via a Brooklyn Entity Brooklyn Injects Endpoint IP Addresses and Port Numbers
  20. 20. @grkvlt Metaswitch Project Calico Layer 3 Software-Defined Networking Runs on Bare Metal, VMs and Containers Uses OS IP routing and forwarding Internet Scale using BGP Centralised configuration with etcd Uses libnetwork in Docker 1.9.0 Spans VMs, Mesos and Containers Calico OpenStack Neutron Driver Calico Docker Networking Plugin Calico Network Module for Mesos
  21. 21. @grkvlt Container 172.16.1.1 Host 10.1.1.1 SDN Controller Container 172.16.1.2 Internet SDN Gateway Host 10.1.1.2 SDN Agent SDN Agent Clocker Networking
  22. 22. Blueprints Defining multi-container applications across multiple target destinations
  23. 23. @grkvlt id: my-application location: my-docker-cloud services: - type: docker:redis:3 id: redis openPorts: 6379 - type: docker:amouat/dnmonster:1.0 id: dnmonster openPorts: 8080 - type: docker:amouat/identidock:1.0 id: identidock portBindings: 80: 9090 links: - $brooklyn:component("redis") - $brooklyn:component("dnmonster") Application Blueprint One
  24. 24. @grkvlt id: my-application location: my-docker-cloud services: - type: org.apache.brooklyn.entity.nosql.redis.RedisStore id: redis install.version: 3.0.0 - type: docker:amouat/dnmonster:1.0 id: dnmonster openPorts: 8080 - type: docker:amouat/identidock:1.0 id: identidock portBindings: 80: 9090 links: - $brooklyn:component("redis") - $brooklyn:component("dnmonster") Application Blueprint Two
  25. 25. @grkvlt id: my-application services: - type: org.apache.brooklyn.entity.nosql.redis.RedisStore location: my-openstack-cloud id: redis install.version: 3.0.0 - type: docker:amouat/dnmonster:1.0 location: my-docker-cloud id: dnmonster openPorts: 8080 - type: docker:amouat/identidock:1.0 location: my-docker-cloud id: identidock portBindings: 80: 9090 links: - $brooklyn:component("redis") - $brooklyn:component("dnmonster") Application Blueprint Three
  26. 26. @grkvlt id: my-application services: - type: org.apache.brooklyn.entity.nosql.redis.RedisStore location: my-openstack-cloud id: redis install.version: 3.0.0 - type: docker:amouat/dnmonster:1.0 location: my-mesos-cluster id: dnmonster openPorts: 8080 - type: docker:amouat/identidock:1.0 location: my-docker-cloud id: identidock portBindings: 80: 9090 links: - $brooklyn:component("redis") - $brooklyn:component("dnmonster") Application Blueprint Four
  27. 27. Demonstration Live application deployment across Docker, Mesos and OpenStack
  28. 28. Clocker solves: Docker Cloud Networking, Container Placement and Provisioning, and Composite Application Management.
  29. 29. Thank you! Andrew Kennedy @grkvlt andrew@cloudsoft.io http://clocker.io/
  30. 30. @grkvlt clocker.io brooklyn.io github.com/brooklyncentral/clocker/ projectcalico.com mesos.apache.org blog.abstractvisitorpattern.co.uk Web Resources

View more >