Serverless and Software Craftsmanship

Serverless and Software Craftsmanship

From ServerlessConf New York 2017

7a9e2c47c8719d221fd711b135b33341?s=128

Florian Motlik

October 11, 2017
Tweet

Transcript

  1. SERVERLESS AND SOFTWARE CRAFTSMANSHIP

  2. WHO AM I Florian Motlik ‣Co-Founder and former CTO of

    Codeship ‣Former CTO of Serverless Inc AWS/Serverless/Development Process Consultant
 Need help in your infrastructure: flo@theserverlessway.com T W I T T E R : @ F L O M O T L I K W E B S I T E : T H E S E R V E R L E S S WAY. C O M E M A I L : F L O @ T H E S E R V E R L E S S WAY. C O M
  3. HOW TOOLING WILL MAKE OR BREAK SERVERLESS INFRASTRUCTURE

  4. LET’S FOCUS ON US TODAY

  5. On-Prem Virtual Cloud Servers Private Cloud Serverless Cloud-Native

  6. PAST SERVER SERVER SERVER SERVER SERVER SERVER SERVER SERVER SERVER

    SERVER SERVER SERVER
  7. PAST SERVER SERVER SERVER SERVER SERVER SERVER SERVER SERVER SERVER

    SERVER SERVER SERVER Application cluster Database cluster Data and ETL Pipeline
  8. SERVERLESS INFRASTRUCTURE Service A F1 F2 F3 Service C F1

    F2 Service B F1 Service E F1 F2 F3 Service D F1 F2 F3 F4 F5 S3 Kinesis DynamoDB Api Gateway Server ECS Cluster C1 C2 C3
  9. WHY ARE WE DOING THIS?

  10. WELL, PRODUCTIVITY

  11. WHAT IS PRODUCTIVITY?

  12. EFFICIENTLY IMPLEMENTING THE MOST EFFECTIVE SOLUTION FOR OUR CUSTOMERS

  13. SHITTY QUALITY ISN’T EFFECTIVE OR EFFICIENT

  14. FIREFIGHTING IS NOT PRODUCTIVE WORK

  15. OK SO EFFECTIVENESS?

  16. HOW CAN WE BE EFFECTIVE ▸ Understanding our Customers ▸

    Working with them to continuously understand their needs ▸ Having the time to do it!
  17. OK SO WHAT ABOUT EFFICIENCY?

  18. MAKE GOOD STUFF HAPPEN FAST OVER A LONG TIME

  19. SO HOW DOES SOFTWARE CRAFTSMANSHIP APPLY HERE?

  20. MANIFESTO FOR SOFTWARE CRAFTSMANSHIP ▸ Not only working software, but

    also well-crafted software ▸ Not only responding to change, but also steadily adding value ▸ Not only individuals and interactions, but also a community of professionals ▸ Not only customer collaboration, but also productive partnerships
 
 
 http://manifesto.softwarecraftsmanship.org/
  21. WE ARE TIRED OF WRITING CRAP!

  22. WHAT THAT MEANS FOR CODE ▸ Well written code ▸

    Well tested code ▸ Well documented (where necessary) code ▸ Easy to change ▸ …
  23. INFRASTRUCTURE IS NOW PART OF OUR CODE

  24. OUR INFRASTRUCTURE IS AN EXTENSION OF OUR CODE Service A

    F1 F2 F3 Service C F1 F2 Service B F1 Service E F1 F2 F3 Service D F1 F2 F3 F4 F5 S3 Kinesis DynamoDB Api Gateway Server ECS Cluster C1 C2 C3
  25. IT’S ALL ABOUT THE GLUE

  26. WHAT THAT MEANS FOR INFRASTRUCTURE ▸ Well automated infrastructure ▸

    Well monitored infrastructure ▸ Well operated infrastructure ▸ Well documented (where necessary) infrastructure ▸ Easy to change ▸ …
  27. EQUALLY IMPORTANT TO THE QUALITY OF OUR CODE

  28. AND WE ARE RESPONSIBLE FOR IT

  29. NOT JUST DIFFERENT TOOLING, BUT DIFFERENT WAY TO WORK

  30. PAST SERVER SERVER SERVER SERVER SERVER SERVER SERVER SERVER SERVER

    SERVER SERVER SERVER Application cluster Database cluster Data and ETL Pipeline
  31. SERVERLESS INFRASTRUCTURE Service A F1 F2 F3 Service C F1

    F2 Service B F1 Service E F1 F2 F3 Service D F1 F2 F3 F4 F5 S3 Kinesis DynamoDB Api Gateway Server ECS Cluster C1 C2 C3
  32. AND ITS GETTING MORE COMPLICATED

  33. NEW FEATURES COME IN ALL THE TIME AND WE HAVE

    TO DEAL WITH IT
  34. SERVICES BECOME EASIER TO USE THOUGH

  35. HEAVY TECH LIFTING IS DONE BY SERVICE PROVIDER

  36. OUR JOB IS TO GLUE IT TOGETHER

  37. SKILLS WE NEED TO GLUE IT TOGETHER

  38. SKILLS WE NEED TO BE CAPABLE OF ▸ Insight ▸

    Resource Management ▸ Authorisation ▸ Monitoring ▸ Operations
  39. HOW FAST CAN YOU LEARN STUFF ABOUT YOUR DEPLOYED RESOURCES

    INSIGHT
  40. INSIGHT >3 Seconds is a Problem

  41. CREATING AND UPDATING RESOURCES IN SERVICES IN THE CLOUD RESOURCE

    MANAGEMENT
  42. RESOURCE MANAGEMENT ▸ Automation ▸ Automation ▸ Automation ▸ Automation

    ▸ Automation ▸ And Yes, Automation
  43. IT'S AUTOMATED, THEREFORE IT IS!

  44. LEAST PRIVILEGE IS CORRECT PRIVILEGE AUTHORISATION

  45. IAM REALLY ISN’T THAT COMPLEX

  46. WTF IS GOING ON HERE? MONITORING

  47. HOW DO I FIX THIS? OPERATIONS

  48. WHAT DO I NEED TO LEARN ON AWS?

  49. AWS CORE SERVICES AND TOOLS ▸ AWS CLI ▸ CloudFormation

    ▸ IAM ▸ CloudWatch
  50. INSIGHT AWS CLI

  51. AUTOMATION CLOUDFORMATION

  52. AUTHORISATION IAM

  53. MONITORING AND OPERATIONS CLOUDWATCH

  54. THE CLOUD IS STANDARDISED, SO CUSTOMISE YOUR TOOLS

  55. BASIC SHELL TOOLING ▸ Make ▸ xargs ▸ JQ ▸

    Sed ▸ AWK
  56. WHY CAN’T I LEAVE THIS TO SOME SMART TOOL?

  57. NEW FEATURES COME IN ALL THE TIME AND WE HAVE

    TO DEAL WITH IT
  58. DOESN’T MEAN YOU CAN’T USE HIGH LEVEL TOOLS

  59. TOOLING IS MORE POWERFUL THAN EVER

  60. SO WHERE DO I START TO LEARN THIS?

  61. AWS DOCUMENTATION ISN’T AS COMPLEX AS IT SEEMS

  62. THESERVERLESSWAY.COM

  63. GUIDES ▸ Serverless ▸ AWSCli ▸ CloudFormation ▸ IAM ▸

    More to come…
  64. THE SERVERLESS WAY TOOL SUITE ▸ Formica - CloudFormation client

    ▸ AWSInfo - The AWS Console in your terminal ▸ AWSIE - CloudFormation aware AWS CLI Wrapper ▸ Former - The easiest way to get CloudFormation Resource definitions ▸ More to come…
  65. CONCLUSIONS ▸ Learn the AWS Core Services and Tools ▸

    Custom tools for standard infrastructure components ▸ Think about your own productivity as a Serverless developer ▸ Don’t build crap ▸ Check out theserverlessway.com ▸ Join the Serverless-Forum on Slack (https://wt-serverless- seattle.run.webtask.io/serverless-forum-signup?webtask_no_cache=1)
  66. THANK YOU Florian Motlik Questions? AWS/Serverless/Development Process Consultant
 Need help

    in your infrastructure: flo@theserverlessway.com T W I T T E R : @ F L O M O T L I K W E B S I T E : T H E S E R V E R L E S S WAY. C O M E M A I L : F L O @ T H E S E R V E R L E S S WAY. C O M
  67. FURTHER READING ‣ https://martinfowler.com/bliki/CraftmanshipAndTheCrevasse.html ‣ http://blog.cleancoder.com/uncle-bob/2011/01/17/software-craftsmanship-is- about.html ‣ https://dannorth.net/2011/01/11/programming-is-not-a-craft/ ‣

    http://blog.gdinwiddie.com/2011/01/17/trades-crafts-and-certification/