Dan Crawford - Canadian Executive Cloud & DevOps Summit Presentation

TriNimbus 234 views 21 slides Jun 26, 2017
Slide 1
Slide 1 of 21
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21

About This Presentation

Dan Crawford of Klashwerks presents at the Canadian Executive Cloud & DevOps Summit on June 9, 2017 in Toronto, ON on the topic of "Transforming Ideas Into Reality Using Serverless Technologies"


Slide Content

Transforming Ideas I nto reality using serverless technologies June 2017 - Dan Crawford

Intro Early stage startup leveraging many AWS services Building consumer device for the connected car market (IoT + Cloud + Mobile) Been using AWS since 2008 Leveraging serverless http://raven.is

This talk Compare AWS from 5 years ago to now Two high-level architectures for an app idea Division of development time Challenges Future trends

2012

Beer League’r App

Easiest - Mobile App for Team Captain Features: Enter team’s contact info Schedule messages Automate the ‘bring beer’ SMS Track who bought beer Problems: What happens when someone cancels Low user count (only team captains) Low Engagement No easy way to get responses back Potential to monetize = VERY LOW

Implementation in 2012 Access contacts from phone Server and database to schedule messages & track who’s next AWS SNS to send SMS messages Challenges: Quality => Automated testing Secure => A lot of work Performant => Monitoring & alerting High availability => Redundancy Repeatable => Deployment process

2012 Challenges Multiple instances required for availability & staging Upgrade and resize instances Fixed costs incurred for each instance Monitoring instances Monitor security alerts regarding OS, runtime environment AND patch Monitor RDS database and manually upgrade + resize Implement your own security Manage your own code repositories Implement mobile-server interface (REST api) Implement core features

Technology Treadmill Maintenance, upgrades & obsolescence of dependencies/technologies Security patches Bug fixes (scheduled & emergency) New features & releases Need to be fit & ready when jumping on

Developer Time Competing priorities Open-ended tasks Always on call Putting out fires (system hacked) Tough environment to schedule & plan

2017

Idea in 2017 Problems: Exposes the least reliable teammates Benefits: High number of users ( entire team) High engagement Potential to monetize = HIGH Features: Team messaging Interactive scheduling Attendance tracking Game notifications (including bring beer) Advertisements & Promos Data synchronization across devices Team captain administration

2017 Implementation Cognito & User pools (User Accounts) Push notifications (SNS) RDS Aurora (auto-scaling and updates) Pinpoint (targeted messaging) 3rd party SDK for interstitial ads Cloudwatch scheduled events Cloudwatch logging & monitoring Cloudwatch alarms API Gateway (mobile-lambda interface) S3 Persistent storage Security: IAM + VPC CodeCommit

AWS Lambda Events cause code to run Amazon manages the resources to run the code Charged only when code is executed Logging & monitoring built-in with Cloudwatch Security managed by AWS Benefits: No fixed costs AWS owns server uptime, upgrades & management No additional servers required to do monitoring, log aggregation or staging Cloudwatch alerts Can glue AWS services together quickly & easily Deployment process supports stages and rollbacks Lambda = BUILD VALUE LOGIC

Cognito & User Pools Scaleable user management solution User signup, log in, change password Data synchronization across devices User verification (SMS token) User groups (team captain + teammates) Security for accessing AWS resources ( C ognito ID) User attributes (name, age, phone number, email, address, etc)

Technology Treadmill Serverless & the new cloud-made services (aurora) remove pain-points from building software solutions Maintenance, upgrades & obsolescence of dependencies/technologies Security patches Bug fixes (scheduled & emergency) New features & releases

Developer’s Time - hitting home runs Focuses on the fun value logic instead of mundane common services (user signup, api boilerplate) or resizing databases.

2018 Cloud Service Integrators Amazon is positioning lambda as the glue between their services and the way to add customizations . Cloud development = Cloud service integrations Increased productivity of developers Quickly build cheap, secure & scaleable solutions Focus on building value Less pain points = Happier developers Examples: Aurora stored procedures as lambda functions AWS Greengrass – lambda functions pushed to devices Lambda@Edge – Cloudfront events run lambda functions at AWS edge locations API Gateway and lambda integration

Challenges VPC setup & configuration is tough Subnets Security Groups NAT Gateways Internet Gateways Route tables Early days: Beta services Not fully featured (ex. binary support) Potential scaling issues (ex. lambda & database connections) My advice - Hire a cloud consultant to help design VPC and security policies

Future Cloud Economics Developer’s time spent implementing value logic Significantly lower up-front capital investments Shorter timelines to MVP Securely scales Motivated developers Makes niche apps & services viable Easily monetize using API Gateway & AWS Marketplace

Cheers! Email: [email protected]