Introduction to designing scalable services on Amazon’s Web Services


Title: Introduction to designing scalable services on Amazon’s Web Services

Amazon offers a wide number of tools to architect scalable services in various ways. I will walk you through creating your first simple autoscaling application via EC2/Autoscaling/RDS. By the end of this workshop, you will have setup your (first?) own autoscaled application on AWS which can scale up, handle load, and tolerate failures and you'll have an understanding of the technologies and tools and methodologies to succeed in using Amazon for autoscaling services.

I’ll kick the workshop off with one main topic doing this with one common and simple approach. And then based on shared interest and time we’ll cover the optional topics below and/or explore more techniques together. The topics available include…

Main Topic
• Creating/modifying an existing application for (auto)scale on AWS (Workshop with EC2, RDS, Cloudwatch Logs, AutoScaling)

Optional Topics (time permitting and interest-based)
• Deployment Strategies, Schema Change Strategies with our just-created environment
• Explanation, demonstration and Q&A discussion of Continuous Delivery/Deployment Strategies and tools and their uses/usage pertaining to AWS
• Scalable Services on AWS in a healthy DevOps culture (SNS, SQS, AWS Lambda, Slack)
• Architecting Services without Servers (Workshop with AWS Lambda, NodeJS, Serverless, API Gateway, CloudFront)
• Insert your other topic here, questions and curiosity is welcome during the workshop!

To participate in this workshop and to maximize what you can get out of this workshop, you will need…
• A functional unix-based or unix-friendly computer or VM (or enough skills with windows cygwin to get by)
• A functional Amazon AWS Account (https://aws.amazon.com)
• Amazon’s CLI toolkit installed (https://aws.amazon.com/cli/)
• Amazon’s CLI toolkit configured on your machine
(http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)
• Simple command-line usage abilities (cd, ls, curl, ssh)
• A general understanding of some of the various technologies and concepts above and/or interest to learn
• If you want to "dabble" a little bit with Lambda / API Gateway, a basic understanding of programming concepts will be necessary (esp. Python / NodeJS)
• If we get into trying "serverless" together, you'll need NodeJS v4.x or newer installed

NOTE: This is a beginner-to-intermediate level class. If you're already an experienced sysadmin managing numerous servers for clients, this might not be a class for you unless you have no experience with AWS.

In this workshop I will provide…
• Slides at the start of the chat
• Demo/Sample API endpoints and code to be used by some of the workshop
• Various sample codebases and/or tools in various git repositories to be used in the workshop
• A friendly helpful guide to explore various tools and technologies with you and answer any questions you might have

About the speaker

Farley is a Senior DevOps Engineer and consultant for OlinData. He has experience with high-scalability systems both in bare metal and in the cloud for the last 12 years and on AWS for over 6 years now. He's founded a handful of startups and been doing consulting for a wide range of companies in Silicon Valley and around the world. He is passionate about high-scalability and redundant, systems, automation, agile and continuous deployment, documentation, diagramming and open-source software. He has no associations with Amazon other than being a passionate user of their platform and holding an AWS Associate Certification.

Farley's interests don’t end at managing servers, he's authored and launched over 30 mobile applications, numerous games, he’s launched or been an early employee at a dozen startups, and has years of experience designing and consuming APIs using various languages. And for fun he plays with microelectronics and designs & flies racing quad-copters in his free time.

Speaker