115
Engineering: Weekly Tech Talk Startup Survival Lessons Martin Cozzi May 2014

Startup survival lessons

Embed Size (px)

Citation preview

Page 1: Startup survival lessons

Engineering: Weekly Tech Talk

Startup Survival Lessons

Martin CozziMay 2014

Page 2: Startup survival lessons

Developer

Page 3: Startup survival lessons

Development environment

● Install all the things

Page 4: Startup survival lessons

Development environment

● Install all the things● Manually

Page 5: Startup survival lessons

Development environment

● Install all the things● Manually● Don’t document any of the steps

Page 6: Startup survival lessons

Development environment

● Install all the things● Manually● Don’t document any of the steps● Or the versions

Page 7: Startup survival lessons

Development environment

● Install all the things● Manually● Don’t document any of the steps● Or the versions

Page 8: Startup survival lessons

Developersdevelopers developers

Page 9: Startup survival lessons

Development environment(s)

● Install all the things | What things?

Page 10: Startup survival lessons

Development environment(s)

● Install all the things | What things?● Manually | Mac? Linux? Windows?

Page 11: Startup survival lessons

Development environment(s)

● Install all the things | What things?● Manually | Mac? Linux? Windows?● Don’t document any of the steps● Or the versions

○ Postgres 9.1, 9.2, 9.3, 9.4a○ ES 0.90.4, 0.90.11, master

Page 12: Startup survival lessons

Development environment(s)

● Install all the things | What things?● Manually | Mac? Linux? Windows?● Don’t document any of the steps● Or the versions

○ Postgres 9.1, 9.2, 9.3, 9.4a○ ES 0.90.4, 0.90.11, master○ Ruby 1.9.3, 2.0.0, 2.1.0, master

Page 13: Startup survival lessons

I have an idea

Page 14: Startup survival lessons
Page 15: Startup survival lessons

Development environment

● Install all the things● Manually● Don’t document any of the steps● Or the versions

Page 16: Startup survival lessons

Development environment

● Install all the things● Manually● Don’t document any of the steps● Or the versions

IN ONE PLACE

Page 17: Startup survival lessons

Development environment

Page 18: Startup survival lessons

Development environment

Page 19: Startup survival lessons

Development environment

Page 20: Startup survival lessons

Development environment

Page 21: Startup survival lessons

SPoF

Page 22: Startup survival lessons

Availability

Page 23: Startup survival lessons

Expectations

Page 24: Startup survival lessons

I have an idea

Page 25: Startup survival lessons

Development environment

Page 26: Startup survival lessons

Lesson 1

Configuration management

still by developers developers

Page 27: Startup survival lessons

Chef

Page 28: Startup survival lessons

chef-solo

Page 29: Startup survival lessons

Development environment

Page 30: Startup survival lessons

Development environment

Page 31: Startup survival lessons

● Install all the things● Manually● Don’t document any of the steps● Or the versions

code >

Page 32: Startup survival lessons

Configuration management

● Consistent workstation○ developers○ sandbox○ production

● Shared● Code

Page 33: Startup survival lessons

Lesson 2

Deployments

Page 34: Startup survival lessons

Versionsmatter.

Page 35: Startup survival lessons

dev -> sandbox -> prod

Page 36: Startup survival lessons

dev -> sandbox -> prod

Page 37: Startup survival lessons

dev -> sandbox -> prod

Page 38: Startup survival lessons

dev -> sandbox -> prod

Page 39: Startup survival lessons

dev -> sandbox -> prod

Page 40: Startup survival lessons

dev -> sandbox -> prod

Page 41: Startup survival lessons

dev -> sandbox -> prod

Page 42: Startup survival lessons

dev -> sandbox -> prod

Page 43: Startup survival lessons

dev -> sandbox -> prod

Page 44: Startup survival lessons
Page 45: Startup survival lessons

Blue Green

Page 46: Startup survival lessons

Blue Green deploys

Page 47: Startup survival lessons

Blue Green deploys

Page 48: Startup survival lessons

Blue Green deploys

Page 49: Startup survival lessons

Blue Green deploys

Page 50: Startup survival lessons

Blue Green deploys

Page 51: Startup survival lessons

Canary

Page 52: Startup survival lessons
Page 53: Startup survival lessons

Canary deploys

Page 54: Startup survival lessons

Lesson 3

OwnershipIf you wrote it support it.

Page 55: Startup survival lessons

Test it

Page 56: Startup survival lessons

Measure it

Page 57: Startup survival lessons
Page 58: Startup survival lessons

Log it

Page 59: Startup survival lessons
Page 60: Startup survival lessons
Page 61: Startup survival lessons
Page 62: Startup survival lessons

Monitor it

Page 63: Startup survival lessons

Externally too

Page 64: Startup survival lessons

Externally too

Page 65: Startup survival lessons

Watch it

Page 66: Startup survival lessons

bulletins over time

Page 67: Startup survival lessons

Look for the signs

Page 68: Startup survival lessons
Page 69: Startup survival lessons

Lesson 4

PrioritizationPick your battles

Page 70: Startup survival lessons

Prioritization

● Priority○ p0, p1, p2, p3○ Critical, High, Medium, Low

Page 71: Startup survival lessons

Prioritization

● Priority○ p0, p1, p2, p3○ Critical, High, Medium, Low

● Channels○ Email○ Hipchat○ Text○ Phone call

Page 72: Startup survival lessons
Page 73: Startup survival lessons

Get some sleep!

Page 74: Startup survival lessons

Lesson 5

CommunicationEscalate, but don’t panic.

Page 75: Startup survival lessons
Page 76: Startup survival lessons
Page 77: Startup survival lessons

NotifySupport, Bizdev, Engineering

Page 78: Startup survival lessons

Fixbut don’t take shortcuts

Page 79: Startup survival lessons

UpdateSupport, Bizdev, Engineering

Page 80: Startup survival lessons

Post MortemsHelp you learn from your mistakes.

Page 81: Startup survival lessons

TestsCatch it early on next time

Page 82: Startup survival lessons

Automate

Page 83: Startup survival lessons
Page 84: Startup survival lessons
Page 85: Startup survival lessons
Page 86: Startup survival lessons

Lesson 5

Cattle not Cats(don’t be sad)

Page 87: Startup survival lessons
Page 88: Startup survival lessons
Page 89: Startup survival lessons

If someone knows an IPnuke the box

Page 90: Startup survival lessons

(clouds don’t have feelings)it’s OK

Page 91: Startup survival lessons

Lesson 6

Time > MoneyYMMV

Page 92: Startup survival lessons

Blackboxes are great

Page 93: Startup survival lessons

Instant value

Page 94: Startup survival lessons

EBS

Page 95: Startup survival lessons

EBS

● Stop your instance

Page 96: Startup survival lessons

EBS

● Stop your instance● No data loss on deletion (instance)

Page 97: Startup survival lessons

EBS

● Stop your instance● No data loss on deletion (instance)● Resize

Page 98: Startup survival lessons

EBS

● Stop your instance● No data loss on deletion (instance)● Resize● Snapshot

Page 99: Startup survival lessons

EBS

● Stop your instance● No data loss on deletion (instance)● Resize● Snapshot● IOPS

Page 100: Startup survival lessons
Page 101: Startup survival lessons
Page 102: Startup survival lessons
Page 103: Startup survival lessons
Page 104: Startup survival lessons

Blackboxes are greatuntil they break

Page 105: Startup survival lessons

Monitor Cost

Page 106: Startup survival lessons

High Level

Page 107: Startup survival lessons

AWS Breakdown

Page 108: Startup survival lessons

AWS / service breakdown

Page 109: Startup survival lessons

Conclusion

● Code > Wiki

Page 110: Startup survival lessons

Conclusion

● Code > Wiki● Systems fail

Page 111: Startup survival lessons

Conclusion

● Code > Wiki● Systems fail● Own your stuff

Page 112: Startup survival lessons

Conclusion

● Code > Wiki● Systems fail● Own your stuff● Communicate

Page 113: Startup survival lessons

Conclusion

● Code > Wiki● Systems fail● Own your stuff● Communicate● Track your costs

Page 114: Startup survival lessons

Conclusion

● Code > Wiki● Systems fail● Own your stuff● Communicate● Track your costs● Be proud

Page 115: Startup survival lessons

Questions?