DevOps

in a Serverless World

Linda Nichols

@lynnaloo

Norfolk,VA

norfolk.js

Virginia is for Lovers

@lynnaloo

Serverless

^

#SerVAless
@lynnaloo
#SerVAless

Virginia is for Lovers

Serverless

^

But there are servers?

@lynnaloo
#Serverfull

Thank You Nashville!

@lynnaloo
@lynnaloo
@lynnaloo

Let's Talk About Serverless...

and Developers

@lynnaloo

with a little help from...

1988

@lynnaloo

Developers Have Lots of Opinions

@lynnaloo

They Love Process and Best Practices

@lynnaloo
  • Their favorite editor
  • Their favorite language
  • Their favorite frameworks
  • A code formatting tool
  • Formatting tool for code prettiness
  • Real-time static code analysis

Developers Want (need):

@lynnaloo

Vim

VS Code

Emacs

Atom

IntelliJ

Visual Studio

Eclipse

Notepad

Lint

Prettier

editorconfig

pylint

eslint

Mechanical Keyboard

Stack Overflow

Java

.Net

npm

nuget

Ruby

CoffeeScript

Python

Rust

TypeScript

yarn

@lynnaloo
  • Pair-programming
  • Very-opinionated testing framework
  • Unit tests
  • Integration tests
  • Code coverage up to 90%

Then Test the Code:

@lynnaloo

Wait, should we have written the tests before the code?!?

@lynnaloo
  • Very-opinionated revision control system
  • Current popular branching strategy
  • Squash those insignificant commits
  • Very detailed commit messages
  • Branch names match the task

Then Commit the Code:

@lynnaloo

Github

Gitlab

Visual Source Safe

Bitbucket

Gitflow

Github Flow

Subversion

CodeCommit

GitOps

@lynnaloo
  • Push the code to a dev branch
  • Issue a pull request
  • Make sure all of the tests are passing
  • Request a code review

Merge the Code into Master:

@lynnaloo

Your branch isn't up to date??

Why aren't the tests passing?

Why did you use tabs and not spaces?

Squash those commits!

The linter is failing!

@lynnaloo

Sometimes, reviewers can be tough.

@lynnaloo

OK, LGTM. Merged.

@lynnaloo

Cue the CI/CD Tool:

@lynnaloo

Travis CI

Azure Pipelines

Gitlab CI

Jenkins

Circle CI

Bamboo

CodeDeploy

Flux

Github Actions

LaunchDarkly

CodeBuild

@lynnaloo

Now the code is being deployed to a staging environment for more testing

@lynnaloo

What about Serverless?

@lynnaloo

Serverless is for Developers

@lynnaloo

Serverless is for Developers

  • Event-driven architecture
  • Support for most programming languages
  • Focus is on code, not infrastructure
  • Built-in services and libraries means less code
  • FaaS naturally map to microservices
@lynnaloo

What's the Development Process?

@lynnaloo

Pre-recorded Demo Time

@lynnaloo
@lynnaloo
@lynnaloo
@lynnaloo

Unfortunately, no service is fully-managed enough to format, test, and debug your messy code.

@lynnaloo

So, why do those who hold process so dear, throw it all away when they build cloud-native apps?

@lynnaloo

Because serverless application development is new and can be a little scary.

@lynnaloo

But all of the development practices that we love, still apply in a serverless world.

and there are many, many new tools and services to support your process.

@lynnaloo

Demo

@lynnaloo
@lynnaloo

My Toolset

Conclusion

  • No-ops does not mean no DevOps
  • FaaS is not revision control
  • Testing in prod isn't testing
  • Abstraction is not CI/CD
  • Don't abandon what's important
@lynnaloo

Conclusion

@lynnaloo

Thank you

@lynnaloo

Credits

Travis Webb

YOLO Programmer

DevOps in a Serverless World

By Linda Nichols

DevOps in a Serverless World

DevOps in a Serverless World - Serverless Days Nashville

  • 1,339