Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Microservices infrastructure with Terraform, Consul and Vault

230040c8f72b7e8ec4c222b5d17f9cb8?s=47 mongrelion
September 08, 2016

Microservices infrastructure with Terraform, Consul and Vault

Talk at HashiConf USA on Microservices

230040c8f72b7e8ec4c222b5d17f9cb8?s=128

mongrelion

September 08, 2016
Tweet

Transcript

  1. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion µservices With Terraform, Consul and Vault Carlos León September 2016, Napa HashiConf
  2. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion About me 2 Carlos León Software Engineer @ Container Solutions Hang gliding pilot @mongrelion linkedin.com/in/mongrelion carlos.leon@container-solutions.com
  3. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Agenda 3 Software development: Monolith to microservices Rise of the containers Challenges with microservices: Putting everything together (MANTL) Bringing the solution to the customers Q&A
  4. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Software development : pre-DevOps 4
  5. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Software development : DevOps 5
  6. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 6
  7. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 7
  8. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Software development : DevOps 8
  9. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Software development : Post-DevOps 9
  10. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 10 How to move to microservices?
  11. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 11
  12. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 12
  13. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 13
  14. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 14 Cluster Management?
  15. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 15 Orchestration? Cluster Management?
  16. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 16 Orchestration? Networking? Cluster Management?
  17. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 17 Security? Orchestration? Networking? Cluster Management?
  18. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 18 Security? Service discovery? Orchestration? Networking? Cluster Management?
  19. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 19 Security? Service discovery? Orchestration? Networking? Persistence? Cluster Management?
  20. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 20 Security? Service discovery? Orchestration? Networking? Persistence? Monitoring? Cluster Management?
  21. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 21 We start with Docker
  22. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 22 Maybe add some scheduling?
  23. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 23 And Consul for service discovery?
  24. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 24 And Project Calico (canal) for the networking?
  25. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 25 And ELK for the logs collection?
  26. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 26 … 6 months later … • Terraform & Ansible deployment to cloud providers • etcd distributed key-value store for Calico • Calico a new kind of virtual network • Mesos cluster manager • Marathon long running services • Consul for service discovery • Vault for managing secrets • Docker container runtime • collectd for metrics collection • Logstash for log forwarding • GlusterFS for container volume storage • Traefik for proxying external traffic
  27. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 27 Why are you building infrastructure and not your application?
  28. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 28
  29. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion What is MANTL ? 29 • Mantl is a modern platform for rapidly deploying globally distributed microservices • Open source • Cloud agnostic • Available now: github.com/CiscoCloud/mantl
  30. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion What problems does MANTL solve? 30 • Networking • Security • Service Discovery • Persistence • Monitoring • Orchestration • Cluster Management • And others...
  31. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion What problems does MANTL solve? 31 • Networking • Security • Service Discovery • Persistence • Monitoring • Orchestration • Cluster Management • And others... • Supports easier migration to microservices • Solves integration conflicts • Lowers configuration time • More time for development • Runs anywhere • Avoid cloud locking • End-to-End platform • Customizable (open-source)
  32. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 32 MANTL Architecture 3 types of components: • Control • Edge • Resource
  33. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 33 MANTL Architecture
  34. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 34 MANTL Architecture
  35. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 35 MANTL Architecture
  36. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 36 Adding MANTL to your infrastructure
  37. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 37 Adding MANTL to your infrastructure
  38. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 38
  39. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 39
  40. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 40
  41. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 41 Security Service discovery Orchestration Networking Persistence Monitoring Cluster Management
  42. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 42 How to build them? Policies? How to run them? How to ship them? Cloud or on-premises? Infrastructure monitoring? Auto-scaling?
  43. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 43
  44. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 44 What is Shipped ? • Shipped is a continuous delivery platform for microservices (cloud native apps) • Commercial Cisco product • Runs on top of MANTL • Complements MANTL • In the cloud or on premises • In open Beta now: ciscoshipped.io
  45. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 45 What problems does Shipped solve ?
  46. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion What problems does Shipped solve? 46 • CI/CD platform (build/deploy/run) • Application intent engine • Infrastructure monitoring • Contiv (Infra Policy Enforcement)
  47. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 47 Shipped overview
  48. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 48 Shipped overview Application Intent
  49. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Shipped - Implementing App Intent - Scaling
  50. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Shipped - Implementing App Intent - Scaling
  51. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Shipped - Implementing App Intent - Scaling
  52. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 52
  53. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion 53 Security Service discovery Orchestration Networking Persistence Monitoring Cluster Management How to build them? How to run them? Infrastructure monitoring? Policies? How to ship them? Cloud or on-premises? Auto-scaling?
  54. container-solutions.com | @containersoluti µservices with Terraform, Consul & Vault |

    @mongrelion Thanks, links & more 54 MANTL: mantl.io (contribute on ) Shipped: ciscoshipped.io (open beta) Microservices: Applications & Microservices with Docker & Containers - thenewstack.io martinfowler.com/articles/microservices.html Docker : Using Docker - Adrian Mouat Blogs: blogs.cisco.com/cloud container-solutions.com/blog