SlideShare a Scribd company logo
re:Invent 2018 -  Scaling and Supporting Your Production App
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Scaling andSupporting your
ProductionApp
Patrick Hannah
VP of Engineering
CloudHesive
D V C 0 3
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
About Me
• Who am I?
• What’s my background?
• What are we going to talk
about?
• Why does this matter?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Meetups
• Boca Raton: https://www.meetup.com/awsflorida/
• Doral: https://www.meetup.com/AWSUserGroupDoral/
• Fort Lauderdale: https://www.meetup.com/South-Florida-Amazon-Web-Services-Meetup/
• Jacksonville: https://www.meetup.com/AWS-User-Groups-of-Florida-Jacksonville/
• Miami: https://www.meetup.com/Miami-AWS-Users-Group/
• Miami Beach: https://www.meetup.com/aws-user-group-miami/
• Orlando: https://www.meetup.com/Orlando-AWS-Users-Group/
• Palm Beach Gardens: https://www.meetup.com/AWS-Users-Group-of-Florida-Palm-Beach-Gardens/
• Tampa: https://www.meetup.com/Tampa-AWS-Users-Group/
• Montevideo, Uruguay: https://www.meetup.com/Meetup-de-Amazon-Web-Services-AWS-en-Montevideo/
• Asuncion, Paraguay: https://www.meetup.com/Meetup-de-Amazon-Web-Services-en-Asuncion/
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AboutCloudHesive
• Professional Services
• Assessment (Current environment, datacenter or cloud footprint)
• Strategy (Getting to the future state)
• Migration (Environment-to-cloud, Datacenter-to-cloud)
• Implementation (Point solutions)
• Support (Break/fix and ongoing enhancement)
• DevOps Services
• Assessment
• Strategy
• Implementation (Point solutions)
• Management (Supporting infrastructure, solutions or ongoing
enhancement)
• Support (Break/fix and ongoing enhancement)
• Managed Security Services (SecOps)
• Encryption as a Service (EaaS) – encryption at rest and in flight
• End Point Security as a Service
• Threat Management
• SOC II Type 2 Validated
• Next Generation Managed Services
• Leveraging our Professional, DevOps and Managed Security Services
• Single payer billing
• Intelligent operations and automation
• AWS Audited
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Scale
• What do you think of when you hear scale?
• Autoscaling? Aurora?
• Containerization? Serverless?
• What about scaling your organization?
• Pipelines?
• Infrastructure as Code?
• Sounds fun, right?
• Sometimes you just need to deliver a product
• Focus on MVP, Gain Traction, Iterate but have the building blocks in place so you don’t hurt
later
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Support
• What do you think of when you hear support?
• Doesn’t sound fun, right?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Whatdo wewanttoestablish?
• Basic Development Lifecycle Best Practices
• Basic Multi Tenant SaaS Application Characteristics
• Basic Operational Success Plan
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Administrivia
• Daily
• Standup meetings
• 15 minutes at the start or end of the day
• Development team mandatory, remainder of the team is optional
• git push to GitHub
• Latest development tagged as such
• Each release tagged as such (code will also have breadcrumb containing release)
• Automated build/testing via Jenkins
• Update of Worklog in Jira
• Summary of work, including Blockers/Design Decisions should be documented here
• Sprint planning/review meetings
• 30-60 minutes (note that recommended duration is 4 hours, but in the interest of efficiency we should keep this to a minimum)
• All parties mandatory
• Sprint planning
• New backlog items will have story points assigned and next sprint will be pre-populated up to the maximum number of supported story points
• Prioritization directly relates to customer impact (eg. fixing a bug impacting a customer or implementing a customer derived feature)
• Architecture/Design changes will be managed through backlog (eg. recommendation made, clarified, story points assigned, worked in the agreed upon Sprint)
• Sprint review
• Will be used to accept User Stories and close Sprint
• User Story acceptance criteria is: code committed, function demoed, function documented and function tested
• Sprint close is reflected by the delivery of a release, user stories being accepted, and release tested
• Managed and documented through Jira (minus predefined meetings)
• 2 Week duration for Sprints, aligned to work week
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Development Lifecycle
• Version Control
• This is a necessity, even if you are on a team of one
• Branching vs. Tagging vs. Commit based deployments
• Commit works, Tagging is better, Branching is best
• What goes in it? Code, Config, Infrastructure + Data Structures
• Keep them separate
• Code should be generic enough to deploy to any lifecycle
• The config should define that lifecycle
• Most importantly – avoid (within reason) hardcoding values (timeouts, etc.) – parameterize them
• Testing
• Automation of feature/functionality testing is key
• Deployment
• You’ll want to automate this
• You’ll also want to deploy to an intermediary (test/uat/integration/preprod/beta)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ApplicationCharacteristics
• AAA (Authentication, Authorization and Accounting)
• Persona driven (Facebook, SAML, Internal)
• User Hierarchies, Roles
• Activity Auditing is critical
• Session Management
• In memory will take you so far
• Consider scale and maintenance activities
• Entitlement/Entitlement Management
• Are you running a buffet? Or cash bar?
• Feature Management
• All at once
• A/B
• Selective/Opt In/Opt Out
• Billing
• Also persona driven (AWS Marketplace)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
OperationalSuccessPlan
• Operational Metrics
• Establish operational metrics that define the user experience (performance, response time, defects, features)
• Establish operational metrics that define the success of the platform (volume, revenue)
• Instrument or extract?
• Performance
• Ties into Operational Metrics, but instrumented separately
• Log all the things
• WAF
• Cloudfront
• S3
• ALB/ELB/NLB
• (Your application goes here)
• ECS/EKS
• Lambda
• Security
• Inherent to your business, should be inherent to your application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Conclusion
• Establishment of these fundamentals might not have an immediate
impact to application feature/functionality but the up front investment
(which amounts to hours, not days) will be realized after the first
development cycle.
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Patrick Hannah
VP of Engineering
CloudHesive

More Related Content

re:Invent 2018 - Scaling and Supporting Your Production App

  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Scaling andSupporting your ProductionApp Patrick Hannah VP of Engineering CloudHesive D V C 0 3
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. About Me • Who am I? • What’s my background? • What are we going to talk about? • Why does this matter?
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Meetups • Boca Raton: https://www.meetup.com/awsflorida/ • Doral: https://www.meetup.com/AWSUserGroupDoral/ • Fort Lauderdale: https://www.meetup.com/South-Florida-Amazon-Web-Services-Meetup/ • Jacksonville: https://www.meetup.com/AWS-User-Groups-of-Florida-Jacksonville/ • Miami: https://www.meetup.com/Miami-AWS-Users-Group/ • Miami Beach: https://www.meetup.com/aws-user-group-miami/ • Orlando: https://www.meetup.com/Orlando-AWS-Users-Group/ • Palm Beach Gardens: https://www.meetup.com/AWS-Users-Group-of-Florida-Palm-Beach-Gardens/ • Tampa: https://www.meetup.com/Tampa-AWS-Users-Group/ • Montevideo, Uruguay: https://www.meetup.com/Meetup-de-Amazon-Web-Services-AWS-en-Montevideo/ • Asuncion, Paraguay: https://www.meetup.com/Meetup-de-Amazon-Web-Services-en-Asuncion/
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AboutCloudHesive • Professional Services • Assessment (Current environment, datacenter or cloud footprint) • Strategy (Getting to the future state) • Migration (Environment-to-cloud, Datacenter-to-cloud) • Implementation (Point solutions) • Support (Break/fix and ongoing enhancement) • DevOps Services • Assessment • Strategy • Implementation (Point solutions) • Management (Supporting infrastructure, solutions or ongoing enhancement) • Support (Break/fix and ongoing enhancement) • Managed Security Services (SecOps) • Encryption as a Service (EaaS) – encryption at rest and in flight • End Point Security as a Service • Threat Management • SOC II Type 2 Validated • Next Generation Managed Services • Leveraging our Professional, DevOps and Managed Security Services • Single payer billing • Intelligent operations and automation • AWS Audited
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Scale • What do you think of when you hear scale? • Autoscaling? Aurora? • Containerization? Serverless? • What about scaling your organization? • Pipelines? • Infrastructure as Code? • Sounds fun, right? • Sometimes you just need to deliver a product • Focus on MVP, Gain Traction, Iterate but have the building blocks in place so you don’t hurt later
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Support • What do you think of when you hear support? • Doesn’t sound fun, right?
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Whatdo wewanttoestablish? • Basic Development Lifecycle Best Practices • Basic Multi Tenant SaaS Application Characteristics • Basic Operational Success Plan
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Administrivia • Daily • Standup meetings • 15 minutes at the start or end of the day • Development team mandatory, remainder of the team is optional • git push to GitHub • Latest development tagged as such • Each release tagged as such (code will also have breadcrumb containing release) • Automated build/testing via Jenkins • Update of Worklog in Jira • Summary of work, including Blockers/Design Decisions should be documented here • Sprint planning/review meetings • 30-60 minutes (note that recommended duration is 4 hours, but in the interest of efficiency we should keep this to a minimum) • All parties mandatory • Sprint planning • New backlog items will have story points assigned and next sprint will be pre-populated up to the maximum number of supported story points • Prioritization directly relates to customer impact (eg. fixing a bug impacting a customer or implementing a customer derived feature) • Architecture/Design changes will be managed through backlog (eg. recommendation made, clarified, story points assigned, worked in the agreed upon Sprint) • Sprint review • Will be used to accept User Stories and close Sprint • User Story acceptance criteria is: code committed, function demoed, function documented and function tested • Sprint close is reflected by the delivery of a release, user stories being accepted, and release tested • Managed and documented through Jira (minus predefined meetings) • 2 Week duration for Sprints, aligned to work week
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Development Lifecycle • Version Control • This is a necessity, even if you are on a team of one • Branching vs. Tagging vs. Commit based deployments • Commit works, Tagging is better, Branching is best • What goes in it? Code, Config, Infrastructure + Data Structures • Keep them separate • Code should be generic enough to deploy to any lifecycle • The config should define that lifecycle • Most importantly – avoid (within reason) hardcoding values (timeouts, etc.) – parameterize them • Testing • Automation of feature/functionality testing is key • Deployment • You’ll want to automate this • You’ll also want to deploy to an intermediary (test/uat/integration/preprod/beta)
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ApplicationCharacteristics • AAA (Authentication, Authorization and Accounting) • Persona driven (Facebook, SAML, Internal) • User Hierarchies, Roles • Activity Auditing is critical • Session Management • In memory will take you so far • Consider scale and maintenance activities • Entitlement/Entitlement Management • Are you running a buffet? Or cash bar? • Feature Management • All at once • A/B • Selective/Opt In/Opt Out • Billing • Also persona driven (AWS Marketplace)
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. OperationalSuccessPlan • Operational Metrics • Establish operational metrics that define the user experience (performance, response time, defects, features) • Establish operational metrics that define the success of the platform (volume, revenue) • Instrument or extract? • Performance • Ties into Operational Metrics, but instrumented separately • Log all the things • WAF • Cloudfront • S3 • ALB/ELB/NLB • (Your application goes here) • ECS/EKS • Lambda • Security • Inherent to your business, should be inherent to your application
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Conclusion • Establishment of these fundamentals might not have an immediate impact to application feature/functionality but the up front investment (which amounts to hours, not days) will be realized after the first development cycle.
  • 14. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Patrick Hannah VP of Engineering CloudHesive

Editor's Notes

  1. Certifications in CCSK, CCSP, ITIL Experience with AWS, GovCloud, FedRAMP, specifically Higher Ed – FAU Government Sponsored Enterprise – CSS Federal – FDA, USDA