Font size:

For IT professionals, developers, software engineers, and DevOps practitioners – This boot camp provides the technical practices and tooling fundamentals necessary to begin realizing the benefits of Microservices as a foundation for IT architecture, software engineering, and service/release delivery. The workshop includes 16 hands-on exercises which give you real-world practice on the engineering tools and skills a team needs in order to realistically implement your own flavor of Microservices architecture patterns so you can address the team needs of your own organization.
  • Adopt, plan or improve your transition to microservices
  • Map technical practices to the business strategy behind microservices
  • Navigate different tools for enabling microservices and how to use them
  • Communicate with stakeholders, management, and teams regarding needs and expectations around microservices
  • Get hands-on practice with Docker, Kubernetes, Jenkins, and JFrog tools for core microservices architecture
  • Get hands-on practice with the toolchain in our real-world application labs
  • Build more mature DevOps practices through microservice adoption
  • Understand how to refactor monolithic systems into more modular, component-based systems
  • Apply microservice use cases to continuous integration, delivery, and testing
  • Enable more automated testing and self-service QA capability

  1. Intro to Microservices
    1. Optimize for speed, not efficiency 
    2. Case Study: General Electric
      1. Throughput
      2. Waste
    3. Amazon Web Services Case Study (SOA/Microservices)
      1. Problem: Scaling the Organization and the ‘Big ball of mud’
      2. Conway’s Law
      3. Service Oriented Architecture
      4. Forced Self Service Mandate
      5. Result: Amazon dominance of cloud
      6. Result: High velocity at scale
    4. Intro to Containers (encapsulation)
      1. What is Docker
      2. Exercise: Install Docker
      3. Exercise: Docker Hello World
      4. Docker ecosystem
      5. Docker concepts
      6. Container encapsulation/ideal use cases
        • Encapsulation
        • Speed
        • Increased utilization of compute resources
      7. Benefits
        • Configure once, run everywhere
      8. VM’s vs Container use cases
        • Databases & stateless workloads
      9. Docker Architecture
      10. Exercise: Docker 101 - Web App
      11. Docker File System
      12. Docker Images
      13. Exercise: Stateless Web App
      14. Local Registry
      15. Data Volumes
      16. Exercise: Docker 201 - Compose Multi-tier app
      17. Continuous integration patterns
      18. Docker Security
      19. Continuous Integration
        • Canary Release
        • Blue Green Deployment
        • A/B Testing
        • Rolling Update
        • Jenkins Plugin
    5. Microservice challenge: Continuous Integration Service
      1. On Premise
        • Jenkins
      2. SaaS Service
        • Shippable
        • Jenkins
        • TravisCI
      3. Exercise: Trigger build/tests from change
  2. Microservices in Development
  1. Uber Case Study
    1. 2000 services, 1000 engineers
    2. Tradeoffs
      • Plus - overall development speed
      • Cons - technical challenges
  2. Box Case Study
    1. Traditional service deployment with bare metal
    2. 10x faster workflow with Devops practices
  3. Microservice challenge: Image repository
    1. Docker repository development instance
    2. On Premise Service
      • Quay by CoreOS
    3. SaaS solution
      • Docker Hub
      • JFrog
    4. Exercise: Submit image to service
    5. Exercise: Pull image from service
  4. Intro to Kubernetes (Containers at Google)
    1. Prerequisites
    2. Containers
    3. Linux Kernel Features
    4. Container User Experience
    5. New Container Capabilities
    6. Gaps using Containers in Production
  5. Exercise: Kubernetes 100: Hello World
  6. Core Concepts
    1. Cluster Orchestration
    2. Originated at Google
    3. Open Source
    4. Benefits
    5. Design Principles
  7. Architecture
    1. Master/Node
    2. Kubectl
    3. Replication Controller
    4. Kubelet
    5. Kube-Proxy
    6. Persistent Volumes
    7. Etcd
    8. High Availability
    9. Exercise: Kubernetes 101: Stateless web app
  8. Kubernetes Features
    1. Pods
    2. Labels
    3. Services
    4. Namespaces
    5. Resource Quota
  9. Exercise: Kubernetes 201: Guestbook app
  1. Microservices in Production
    1. Spotify Case Study
      1. 810 Services, 477 engineers
    2. Microservice challenge: Service discovery
      1. Skydns
      2. Consul
    3. Exercise: Resolve service with DNS
    4. Security
      1. Goals
      2. Roles
      3. Attribute Based Access Control
      4. Policies
      5. Service Accounts
      6. Secrets
    5. Forth Microservice challenge: Secrets
      1. Vault
      2. Kubernetes Secrets API
    6. Exercise: Kubernetes - Store database credentials in cluster
    7. Cluster Addons
      1. Cluster DNS
      2. Logging with Elasticsearch and Fluentd
      3. Container Level Monitoring
      4. cAdvisor
      5. InfluxDB
      6. Prometheus
    8. Exercise: Wordpress on Kubernetes
    9. Managing state with disposable architectures
      1. Tradeoffs, strandalone vs containerized db’s
      2. CAP Theroem
      3. SQL Databases
      4. NOSQL Databases
    10. Exercise: Cassandra on Kubernetes
    11. Practicing Failure
      1. Optimize MTTR
    12. Netflix Case Study
      1. Simian Army
      2. Graceful handling of failure
  1. Putting it all together
  1. Why Microservices?
    1. Scale an organization
    2. Tradeoffs
    3. Fault Tolerance
    4. Throughput
    5. Waste
  2. Kubernetes Alpha Features
    1. Multi Datacenter Control Plane
    2. RBAC/Multi-tenancy
  3. Openshift/Mesos/Other PaaS platforms
  4. Exercise: Customize Microservice App
  5. Exercise: Scale app for simulated demand
  6. Review of Microservice Challenges
    1. Secure Images
    2. Highly available application
    3. Secrets
    4. Continuous Integration
    5. DNS Name resolution
  7. Summary

 

 

In-Class Exercises: (short description of each exercise)

  • Exercise: Install Docker
  • Exercise: Docker Hello World
  • Exercise: Docker 101 - Web App
  • Exercise: Docker 201 - Compose Multi-tier app
  • Exercise: Trigger build/tests from change
  • Exercise: Submit image to service
  • Exercise: Pull image from service
  • Exercise: Kubernetes 100: Hello World
  • Exercise: Kubernetes 101: Stateless web app
  • Exercise: Kubernetes 201: Guestbook app
  • Exercise: Resolve service with DNS
  • Exercise: Kubernetes - Store database credentials in cluster
  • Exercise: Wordpress on Kubernetes
  • Exercise: Cassandra on Kubernetes
  • Exercise: Customize Microservice App
  • Exercise: Scale app for simulated demand

Find a class and register in three easy steps:
  • 1. Select Location:
  • 2. Select Date Range:
    to
  • 3. Select Class Type:
    • All Types
    • C Classroom
    • V Virtual Live
    • Cv In-Class Virtual
    • O Online
MD Columbia1/22/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101458
Virtual Live1/22/2018 8:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102067
TX Dallas2/20/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101462
Virtual Live2/20/2018 9:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102068
PA King Of Prussia3/19/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101467
Virtual Live3/19/2018 8:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102071
WA Kirkland4/16/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101471
Virtual Live4/16/2018 11:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102072
CO Denver5/14/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101474
Virtual Live5/14/2018 10:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102076
OH Columbus6/18/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101478
Virtual Live6/18/2018 8:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102074
KS Leawood7/16/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101457
Virtual Live7/16/2018 9:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102080
NC Cary8/13/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101461
Virtual Live8/13/2018 9:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102084
MA Burlington9/17/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101465
Virtual Live9/17/2018 8:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102078
CA San Francisco10/15/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101470
Virtual Live10/15/2018 11:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102062
Virtual Live11/12/2018 8:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102082
GA Atlanta11/12/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101473
Virtual Live12/10/2018 8:30:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>3 days2495.002102086
VA Herndon12/10/2018 8:30:00 AM<span class="course-type type-c" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'ILT')" onmouseout="clearHoverInfo()">C</span>3 days2495.002101476
seek-warrow-w
  • 1
arrow-eseek-eitems per page1 - 24 of 24 items