Building a Better Web
June 19–20, 2017: Training
June 20–22, 2017: Tutorials & Conference
San Jose, CA

In-Person Training
Practical microservices: Exploring design patterns, platforms, and tools with Docker and Kubernetes

Sequoia McDowell (Charm/Offensive)
Monday, June 19 & Tuesday, June 20, 9:00am – 5:00pm
Location: 212 D
Average rating: *....
(1.00, 2 ratings)

Participants should plan to attend both days of this 2-day training course. Platinum and Training passes do not include access to tutorials on Tuesday.

Join Sequoia McDowell for a hands-on, in-depth exploration of microservices. In this course, you’ll learn what benefits a microservice architecture can bring your organization and how microservices can make your applications faster, more scalable, less expensive to run, easier to update, and more secure.

What you'll learn, and how you can apply it

  • Learn how to decompose monolithic applications into microservices
  • Understand how to select a platform that fits your needs
  • Discover how to introduce microservices into your ecosystem in a safe, controlled way
  • Learn how to integrate microservices to work in concert, within and across platforms
  • Understand how to scale microservices to meet demand and minimize cost

This training is for you because...

  • You're an iOS or Android developer who wants to build your backend easily with a language you already know.
  • You're a frontend JavaScript developer who wants to leverage your existing skills to build server software.
  • You're an experienced AWS user who wants to learn what alternatives are available.
  • You're an experienced backend developer who wants to expand your skills and learn in-demand technologies in order to improve your job prospects.

Prerequisites:

  • A working knowledge of Node.js or JavaScript (While this course focuses more on platforms, architecture, and integration than code-authoring itself, we will be writing some code, primarily in JavaScript. You should be comfortable writing JavaScript or following along via copy/paste.)
  • An understanding of HTTP basics and the concept of RESTful APIs
  • The ability to work with the command line

Recommended preparation:

In the past decade and a half, consumer expectations have evolved at a breakneck pace. Where consumers were once satisfied with a brochure website, they now expect a cutting-edge web application, mobile app, and IoT integration to boot. While consumer demands have been completely reinvented, many of our application architecture practices have not. The monolithic architecture patterns of yesteryear are not equipped to keep up with today’s product ecosystem.

To compete in 2017 and beyond, applications must be flexible enough to meet constantly shifting requirements, scalable enough to respond instantly to spikes in usage and wind down when not in use, and modular enough to allow for the ongoing, incremental improvement that consumers expect. Microservice architectures are a large part of meeting each of these challenges and more.

Join Sequoia McDowell for a hands-on, in-depth exploration of microservices. Through a mix of lecture and hands-on exercises, you’ll learn what benefits a microservice architecture can bring your organization and how microservices can make your applications faster, more scalable, less expensive to run, easier to update, and more secure. The microservice revolution is underway; don’t get left behind.

Outline

Day 1:

Microservice introduction

  • What is a microservice?
  • Differences from monolithic application architectures
  • When to use a microservice architecture (and when not to)
  • Comparing platforms and selecting the right tools

Platform: AWS Lambda

  • Functions as a service
  • Serverless architecture: Benefits and pitfalls
  • Creating and deploying Lambda functions
  • Handling secrets and configuration
  • Running and testing functions locally

Tool/platform: IBM Bluemix and API Connect

  • Rapid API development using API Connect
  • Autogenerating CRUD endpoints for existing datasets
  • Deploying to Bluemix

Design patterns: Authentication and session management

  • Challenges presented by microservices
  • JSON Web Tokens (JWTs): When to use them and when not to
  • Using JWTs for stateless cross-serve claim verification
  • Session-based authentication across microservices

Day 2:

Platform: Now.sh

  • What it is and when to use it
  • Moving from development to production
  • Handling secrets
  • Scaling on “now”
  • Grouping microservices under one domain
  • Integrating external services (via AWS Lambda)

Tool: Docker

  • What it is and when to use it
  • Dockerizing an application
  • Using existing Docker containers
  • Composing Docker containers with docker-compose
  • Deploying Docker containers to “now”

Tool: Kubernetes

  • What it is and when to use it
  • Kubernetes concepts and anatomy of a cluster
  • Configuring pods, services, and deployments
  • Migrating Docker containers to Kubernetes
  • Running Kubernetes locally and deploying locally

Platform: Google Cloud Engine (GKE)

  • Getting started with GKE
  • Exploring the interfaces: The CLI and GUI
  • Creating a Kubernetes cluster
  • Differences between GKE deploy and local deploy
  • Deploying to GKE

About your instructor

Photo of Sequoia McDowell

Sequoia McDowell is a software engineer-cum-educator specializing in Node.js (at the moment). He’s spoken at national programming and IT conferences on topics ranging from testing to build tools to encrypted communication, and he’s one of the few JavaScript educators with the distinction of having run Node.js trainings in every time zone in the continental United States. As a member of the NodeSchool community, Sequoia has extensive experience teaching people about Node.js both online and off.

Twitter for _sequoia

Conference registration

Get the Platinum pass or the Training pass to add this course to your package.