Serverless is coming. However, it transformed the IT landscape already. Advocates of that kind of solutions are claiming that those solutions are cost-efficient, less problematic to maintain (again - cheaper, smaller OPEX), and modern (we like those arguments in IT, don't we?).
The truth is that there is a much more significant advantage of embracing serverless. Money is not everything, as there is at least one more precious resource: time. I want to present an interesting case study, how to significantly reduce time to market with using serverless powered by AWS ecosystem.
As always, context is king, and when it comes to building an MVP, serverless provides a tremendous advantage in focusing on business value first. The goal of the talk is to show pitfalls and fallacies related to developing serverless applications but still delivering an MVP (minimum viable product) without sacrificing quality or further enhancements.
4. As a Wojtek
I want to click a button
So that I will be offline in on Slack
5. mashup (computer industry jargon), in web development, is a web page or web application
that uses content from more than one source to create a single new service displayed in a single
graphical interface.
The main characteristics of a mashup are combination, visualization, and aggregation. It is important to
make existing data more useful, for personal and professional use. To be able to permanently access the
data of other services, mashups are generally client applications or hosted online.
35. 1. MQTT
2. Equipped with WiFi and RGB LED.
3. Battery? ~2000 clicks, then it’s dead.
a. No way to recharge or replace.
4. Claiming?
a. This version needs to be either hardwired to your AWS account
and then “sold”, or users have to manually go through the
binding process (or implement custom process on your own).
b. AWS IoT 1-Click and AWS IoT Enterprise Button solve that
problem.
AWS IoT Button
40. 1. Elixir Runtime for AWS Lambda.
a. Package Size
b. You own it (e.g. security patches)
2. AWS SDK for Elixir.
a. Specifications for code generators (here).
3. Slack API - OAuth2 scopes.
a. Add To Slack vs. Sign in with Slack.
4. API Gateway CORS in Lambda-Proxy mode sucks when using
Authenticators.
5. AWS IoT Button is not AWS IoT 1-Click.
6. JavaScript. 😭
Pitfalls
42. 1. Amazon DynamoDB, especially the new API 💕
2. AWS Amplify Framework
3. Serverless Framework
4. AWS IoT Core
Blessings
43.
44. References
1. Our company - Pattern Match and my talks.
2. Repository with source code, including custom runtime for Elixir.
3. Custom AWS Lambda Runtimes.
4. AWS SDK for Elixir - ex-aws/ex_aws.
5. AWS Amplify Framework.
6. Serverless Framework.
7. AWS IoT Button - Official FAQ.
8. Slack API - Sign-in with Slack.
9. Slack API - User presence and Status.
10. Functional Miners (facebook, twitter, github, email, website).