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

Station F - 1001 lives of containers in the cloud

Station F - 1001 lives of containers in the cloud

You're not using containers in your startup and you're wondering if you're missing something? Or maybe you are using it but running into challenges to running outside your dev machine? Wish you could experiment new technical stacks or architectures without hurting velocity precious at your stage? During this session, we'll see how containers can help you on the development, testing and production phases. We'll also see the different containers cloud hosting possibilities and how to choose the best option for you.

Christopher MANEU

February 28, 2019
Tweet

More Decks by Christopher MANEU

Other Decks in Technology

Transcript

  1. 1001 lives of containers in the cloud Christopher Maneu Azure

    Engineer & Advocate Microsoft R&D @cmaneu
  2. 1001 lives of containers in the cloud Dev teams challenges

    Technology changes as fast as a startup does Recruitment is hard - Finding great developers - Onboarding a dev is complex - Great candidates but not the right skillset? Security is hard Enterprise customer deployments are complex …
  3. 1001 lives of containers in the cloud Agenda What is

    a container anyway? How containers can help developers? What a container can do for production environments?
  4. 1001 lives of containers in the cloud What is a

    container anyway? A way to create lightweit, portable and self- sufficent packages for your application. Docker is the most used containerization techology. It’s an open-source project.
  5. 1001 lives of containers in the cloud Seems almost like

    a VM, no? Infrastructure Infrastructure Host Operating System Operating System Hypervisor Docker engine Guest OS Bin/libs App 1 Guest OS Bin/libs App 2 Guest OS Bin/libs App 3 Bin/libs App 1 Bin/libs App 2 Bin/libs App 3 Virtual machine Containers A complete OS / stack (memory,disk,cpy) footprint for each of your VMs An OS-level isolation of your resources
  6. 1001 lives of containers in the cloud How containers can

    help developers? Start working on a project quickly Share an environment configuration with other developers Deploy apps more safely Test new framework versions with ease Unite dev & ops
  7. 1001 lives of containers in the cloud | How containers

    can help developers? Start working on a project quickly Write and execute code quickly without having to install anything Debug my code as usual Use docker for CLI tools Create your own docker container Use Visual Studio Code to debug within a container
  8. 1001 lives of containers in the cloud | How containers

    can help developers? Share an environment configuration with other developers Use and share pre-build containers through registries Hub.docker.com Azure Container Registry Use containers as a way to build your code in a CD/CI env. Build container pattern ( multi-stage builds) Use volume mapping + run command docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.8 go build -v
  9. 1001 lives of containers in the cloud | How containers

    can help developers? Deploy apps more safely Docker containers self-contain your app, eliminating any dependency issues Deploy on-demand apps for testing purposes Azure Container Instances Simplify A/B testing, carany deployments, etc… Azure Web Apps + Slots Deploy your apps anywhere! Your dev machine, all clouds, on customer’s infrastructure, on some IoT Devices (Azure IoT Hub), etc…
  10. 1001 lives of containers in the cloud | How containers

    can help developers? Test new framework versions with ease FROM node:8 WORKDIR /usr/src/app COPY package*.json ./ FROM node:8.15.0-jessie WORKDIR /usr/src/app COPY package*.json ./ Tags allows you to specifiy a specific version to use. Your own (base) images can have a tag. You can use latest to get the most recent version, this can be used in your CD/CI environment to test your code nightly against the latest/nightly version of your stack.
  11. 1001 lives of containers in the cloud Containers for production:

    some challenges How do you manage persisted state? How do you scale your service to several nodes? How do you implement a self-healing infrastructure? How do compose services using different containers? How do you aggregate logs from all containers & hosts ? You need an orchestrator & some cloud services!
  12. 1001 lives of containers in the cloud What is Kubernetes?

    Open source project started by Google in 2014 container-centric vs. host-centric schedules and runs application containers across a cluster of machines portable: public, private, hybrid, multi-cloud extensible: modular, pluggable, hookable, composable self-healing: auto-placement, auto-restart, auto-replication, auto- scaling Provides resource monitoring, load balancing, naming & discovery, horizontal auto-scaling Has cloud provider integration (Eg - Azure networking, Azure disks)
  13. 1001 lives of containers in the cloud You didn’t talked

    about microservices, right? CONTAINERIZE EXISTING APPLICATIONS Containerize for portability, efficiency and reliability TRANSFORM MONOLITHS TO MICROSERVICES New code and transforming existing code ACCELERATE NEW APPLICATIONS Agile cloud native app development
  14. 1001 lives of containers in the cloud You may need

    more than 1 cloud service https://aka.ms/1001SF-archi
  15. 1001 lives of containers in the cloud Next steps http://aka.ms/1001SF-slides

    http://aka.ms/1001SF-demo http://aka.ms/1001SF-runcloud http://aka.ms/1001SF-registry