Four presentations for the 3rd Birthday of our User Group! After a short overview about Serverless Mindset (regardless of your tech stack), see:
1. how #Serverless has changed Software Development Process (Gareth McCumskey of Serverless.com) and a demo of Serverless Desktop (https://github.com/serverless/desktop)
2. How small teams achieve BIG things with Firebase and #GCP Serverless Services (Kudzanai Murefu of Strma.io)
3. See folks competing to get involved with "COVID-19 Vaccination Passport", a project with a greater moral purpose in today's "upside-down world" (David Janes of Consensas.com)
4. A reflection on the Serverless evolution and optimism for the future of Serverless (and Startups) as the line between its ecosystem and other Cloud-native Technologies keeps blurring (Mike Apted of #AWS #Startups).
BONUS
1. Recording https://youtu.be/mdxT929JJoE
2. Invitation https://www.meetup.com/Serverless-Toronto/events/273716629/
3. For more forward-looking #Software #Developerment topics, join #ServerlessTO User Group
LINKS FROM THE MEETUP
https://www.askyourdeveloper.com/
https://www.meetup.com/en-AU/lean-product/
https://www.linkedin.com/in/marcbrouillard/
https://www.youtube.com/watch?t=1390&v=Ivcndg9pTpk
https://youtu.be/8Rzv68K8ZOY
https://www.youtube.com/watch?t=2304&v=SPsaqiegOP4
https://www.manning.com/
https://www.serverless.com/author/garethmccumskey/
https://www.linkedin.com/in/kudzanai-murefu-7b128886/
https://www.linkedin.com/in/davidjanes/
https://www.linkedin.com/in/mikeapted/
https://serverless.com/slack
https://github.com/serverless/desktop
https://strma.io
https://cccc4.ca/
https://passport.consensas.com/
https://github.com/Consensas/information-passport/tree/main/docs
https://dpjanes.medium.com/
https://en.wikipedia.org/wiki/Antoine_de_Saint-Exup%C3%A9ry
https://youtu.be/1SqfJo47kMA
https://youtu.be/tz89XTBby-M
https://aws.amazon.com/activate/founders/
https://aws.amazon.com/builders-library/
https://www.amazon.science/publications
https://www.linkedin.com/in/rupakg
Serverless Evolution during 3 years of Serverless Toronto
1.
2. Welcome to ServerlessToronto.org
1
Introduce Yourself:
- Where from? Why are you here?
- Looking for, or Offering work?
Fill the survey to win prises!
Feb 8, 2021: “Community Lightning Talks
& Updates” will start at 6:10pm…
3. In Memory of Daniel’s Mom and Dad
2
Stana & Radovan Zivkovic
Mom: Jan 31, 1934 – Jan 30, 2021
Dad: Apr 30, 1938 – Mar 21, 2009
4. Serverless Evolution since we started UG
3
Serverless is New Agile & Mindset
#1 We started as Back-
end FaaS (Serverless)
Developers who enjoyed
“gluing” other people’s
APIs and Managed
Services)
#3 We're obsessed by
creating business value
(meaningful MVPs,
Products), focusing on
Outcomes – NOT
Outputs, and we mesh
well with Product
Managers
#2 We build bridges
between Serverless
Community (“Dev leg”),
and Front-end, Voice-First
& UX folks (“UX leg”)
#4 Achieve agility NOT
by “sprinting” faster
(like in Scrum), but
working smarter (by
using bigger building
blocks and less Ops)
5. What is the Serverless Mindset?
4
My spin: Let’s focus less
on “pimping up our cars”
(infrastructure/code),
more on “driving” (the
business) forward ☺
In “Conversations with tech leaders shaping the Future of Canada”,
Marc Brouillard, – A/CIO & CTO of the Government of Canada,
gave this advice to students aspiring to join the IT profession:
1. Technology should never be an end in itself. It's always in
support of evolving business problems or making people's lives
better. So, the more you can connect with the outcomes of your
work, the more successful you're going to be.
2. Understand the big picture – expand your bubble.
6. It can be applied to any Tech stack, even…
5
“Serverless is a state of mind. It’s about how you make
decisions, not what your choices are.” – Ben Kehoe
…even your On-Prem
Data Centre
Serverless is a direction, not a destination
It’s about avoiding
Dogma – this:
7. Knowledge Sponsor
(on our path to enlightenment :)
1. Go to www.manning.com
2. Select *any* e-Book, Video course, or liveProject you want!
3. Add it to your shopping cart (no more than 1 item in the cart)
4. Raffle winners will send me the emails (used in Manning portal),
5. So the publisher can move it to your Dashboard – as if purchased.
Fill the survey to win!
8. Upcoming ServerlessToronto.org Meetups
7
1) How to choose what Azure
services to use and when?
– Barry Luijbregts Azure
MVP & Pluralsight Author
2) This is my Architecture to
prevent $72K Cloud Bills /
bankruptcies – Sudeep
Chauhan, ToMilkieWay.com
3) ??? We need you ☺
Please rate us ☺
9. Feature Presentations
8
1) Gareth McCumskey – Solutions Architect at Serverless Inc, will share the
news from our "Mothership" and talk about the effects serverless has on
the Software Development process.
2) Kudzanai Murefuof – Founder at Strma Music, will talk about Strma.io
Architectural improvements since his last Firebase talk.
3) David Janes – CTO at Consensas, will explain the tech stack and the design
of the "COVID-19 Vaccination Passport" project.
4) Mike Apted – Principal Solutions Architect with AWS Startups & Techstars
mentor, will update us on how he has seen entrepreneurs navigating the
unique challenges and opportunities of 2020 forward and the impact of
Serverless Computing.
29. Current State
➔ Running 4 client Applications (3 web & 1 Android)
➔ Serving 5000 weekly users mainly on our web platform
➔ Use React on front-end & NodeJS on backend
➔ Just rolled out android app in January
30. Growing Challenges we Faced
➔ Application code was tightly coupled with backend code
➔ Difficulty managing microservice workflows and requests to other inhouse services
➔ Rolling out & testing new features to subset of real users.
31. Decoupling our Apps
➔ All our apps were deployed on cloud run as separate containers
➔ Divided stack into 2 layers, application and microservice layers
➔ We push code to GIT which then triggers Cloud Build to
containerize the repository and serve it on Cloud Run.
32. Build Automation
➔ Use Github as a Code Repo,
➔ Each commit triggers Cloud Build to run tests, if passed they are deployed to Cloud Run
➔ Our Android App also uses same process to build and deploy to Play Store
33. Rolling out new features
➔ Cloud Run allows us to run canary releases
➔ We configure a subset of our traffic to see the new features
➔ Gradually rollout changes to 100% traffic after successful testing
34. Cloud Workflows
➔ Orchestrate our HTTP API services into serverless workflows
➔ We can describe steps that combine 2 or more API services in one single place
38. Vaccinination & Test Passports
• Digital Proof that a Vaccination has been received, a test performed, etc.
• Goals
• Reopen economy
• Smooth entry through borders
• Protect residents in LTHC, etc.
• Many sociological issues to be dealt with … but not here
• A type of Veri
fi
able Credential
39. Information Passports
• Our (Consensas / Me) spin on Veri
fi
able Credentials
• Minimize centralization to minimize "creepiness"
• Minmize interactions
• Use existing web standards
• JSON
-
LD, VC, W3C
• Semantic Web / schema.org
• X.509
40. What is a Claim?
Examples
• "David Janes received the second Moderna vaccination on January 20, 2021"
• "David Janes had a viral test for COVID-19 on January 3"
• "David Janes graduated from Memorial University in 1987"
• "David Janes was President of IBM Canada from 1933 to 1972"
• "David Janes won the Silver Medal in the Biathalon in 2004"
41. What is a Verifiable Claim?
• A claim that we can independently verify
• The claim contains proof to validate whether it is true
• Data + Digital Signature
• The independent veri
fi
cation phase
• Do I trust that signature
• Do I recognize the data
• The claim is addressed by a URI (a web address)
43. Issuing a Claim
Example
• Patient visits Clinic and gets a Vaccination
• The clinic issues a Vaccination Passport
• This is simply a URL, with a large random component
• Can be sent via email, SMS, QR code, loyalty account or even physically
• The Patient receives the Vaccination Passport and stores it
• Bookmark, Apple Wallet, piece of paper in real wallet…
44.
45. Issuing a claim
Notes
• No additional work created for the doctor / clinician
• No additional work created for the Patient
• It
'
s literally like a receipt, just like shopping
• Some additional work created for the Clinic
• IT / backend related
46. Verifying and Validating a Claim
Example
• A Traveller (previously the Patient) enters an airport in another province
• An O
ff
icer asks for proof of Vaccination or negative COVID test
• The Traveller presents their Vaccination Passport
• The O
ff
icer scans the Passport and gives the Traveller the go-ahead
47.
48. Verifying and Validating a Claim
Notes
• No additional work is created for the Traveller
• Less work is created for the O
ff
icer
• They only need to check the name of Traveller
• They don
'
t need to
fi
gure out if this is a valid certi
fi
cate
• Overall e
ff
iciency is increased
• Faster and vastly more accurate / fraud proof
49. Issuing and Validating Claims
Terminology
• The Patient / Traveller is the Holder (and Subject)
• The Clinic is the Issuer
• The Passport O
ff
icer is the Veri
fi
er
51. How it works
50,000ft
• Create an X.509 Public / Private Keypair
• Public Key part of Certi
fi
cate Chain from Authority
• Make Claim and sign with Private Key
• Publish Claim as semi-random URL
• Verify Claims using Public Key
• Validate Claims using certi
fi
cate chain / business logic
58. Information Passports / VC
Other Possible Uses
• Building Pemits
• Univerity Credentials
• Professional Credentials
• Ownership of Property, Art
• Driver
'
s License
• Car
• O
ff
icer Indenti
fi
cation
• Proof of Origin
• KYC
• Banking / Money Transfer
• Age of Majority
59. Roadblocks
• Wild-west standardization
• JSON
-
LD? JSON Schema? JSON?
• Technology enthusiasts
• "This is our moment"
• Complexity
• Chicken / Egg - establishing a two sided market is hard
60. Serverless?
• Issuing claims
• Note has to have access to private key, so doing this in a public cloud is
questionable!
• Validating claims
• Very well suited!
61. Find out more
• CCCC4:
h
tt
ps://cccc4.ca/
• Demo:
h
tt
ps://passport.consensas.com/
• Open Source:
h
tt
ps://github.com/Consensas/information-passport/tree/main/docs
• Articles:
h
tt
ps://dpjanes.medium.com/
• Complaining:
h
tt
ps://twi
tt
er.com/dpjanes