taking a saas shop from no ops to noops, pavel suchman

23
No ops to NoOps A story of a journey...

Upload: devops-israel

Post on 12-Nov-2014

3.096 views

Category:

Technology


0 download

DESCRIPTION

I was hired by a client to bring their new SaaS offering to production. At this time they had no operations guy on staff to run it. While working on the project, I asked the CTO and myself if it is possible to deploy methodologies and infrastructure that would enable this company to support their production without a designated ops guy. This is a story of our journey. Presented in the Continuous Delivery track at DevOps Con Israel 2013

TRANSCRIPT

Page 1: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

No ops to NoOps

A story of a journey...

Page 2: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

github.com/flypunk

● In IT since '99, Unix SysAdmin, OPS@XIV, cloud/devops since 07 (@SeekingAlpha)

● Cloud migration and deployment automation in Amadesa

I am a freelancer specializing in Web Applications Delivery

About me

Page 3: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Not an easy thing to describe - see 'NoOps' Debate Grows Heated@AppFog Carlson - Use 3rd party PaaS

@Netflix Cockroft - Outsource messing with hardware to AWS and build your own PaaS

@Etsy Allspaw - We do it the same way as Netflix, but I HATE the term, especially the word 'NO' in it ;)

WTF is NoOps?!

Page 4: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Culture, software architecture, methodologies and tools that enable a (SaaS) company run their business without a dedicated Operations team.

What do I mean by NoOps

Page 5: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Y U NO OPS!?

Page 6: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Waste - Any activity not contributing to customer value (Agile)

While you have No Nops you have...

No DelaysNo Communications overheadNo Dev vs. Ops fingers pointing - Dev is always to blame ;)

NoOps - Eliminating Waste

Page 7: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Study what is needed

Build what is missing

Get the hell out!

If I did my job well, the company shouldfigure out production/operations on its own.

My goal as a (NoOps) consultant

Page 8: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Today - www.massiveimpact.com

End to end solution for ads on cellular

Conversions, not clicks

The client - MassiveImpact

Page 9: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Hired new people

Written new code

Had to start a new production site

The company pivoted from a different product

Page 10: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

.Net on the front end

Big data (hive) on backend

MassiveImpact technology stack:

Page 11: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman
Page 12: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

The head of QA with some Ops experience

I need to ensure that he and his bosses could sleep well at night...

Is it possible for MassiveImpact to continuegrowing without hiring a dedicated Ops employee?

I think - yes!

Who is responsible for ops in the new environment?

Page 13: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Amazon VPC: Harder to set up, more secure, closer to collocated network setup

Let's make everything organized: Chef, Cloud Formation

Btw, we have 2 weeks to launch!

Start manually, add automation later

Requirements for the new environment

Page 14: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

ServerDensity for both machine and service monitoring

● Has built in alerts and graphs● Machines have to be able to connect to

the internet to use it● Used the NAT-PAT instance inside VPC +

static IPs to achieve it.

NoOps advantage: A cloud solution.

Monitoring

Page 15: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Written a naming/access policy doc

Created IAM users, groups, policies and resources in accordance with the doc.

Pro tip: don't use MixedCaseBucketNames - hive won't work with them.

Another tip: EMR with IAM keys and policies is not trivial

AWS IAM credentials

Page 16: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Why EMR failed

Page 17: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Set up a server that will work as binaries repository

Put artifacts into sane default places

Will be used later for CI and deployment scripts

Deployment

Page 18: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

It (kinda;) works!

You can bootstrap and manage nodes with WinRM!

NoOps advantages:

Configuration as codeNo need to manage AMIs (It's a nightmare)

Chef on Windows

Page 19: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Not everything works

First time in my career able to manage M$ servers and install packages from CLI. == Awesome!!!

Easy way to manage users in centralized manner without AD

Chef on Windows - continue

Page 20: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

The system is fully automatic and is run by Cron

Notifications using SNS and email

NoOps advantage: It is fully data driven(Just put the new files to a specified S3 bucket)

Data crunching - Gurobi Cloud

Page 21: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

Monitoring - Implemented

Chef - in development

Cloud Formation - planned

CI/CD - planned

Ops/business console (GeckoBoard) - planned

Current status

Page 22: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

People, then methodologies, last tools

Architect for no ops!Change is hard, but engineers will accept new tech when shown that it worksMake the changes backwards compatible (Libraries for AWS calls)Use external services as a default choice

Takeaways

Page 23: Taking a SaaS Shop from No Ops to NoOps, Pavel Suchman

BTW, you can get the presentation here:

Q&A