SlideShare una empresa de Scribd logo
1 de 47
Serverless
architecture
Michał Kurzeja
CTO w Accesto
PHP/Symfony
Wrocław Symfony Group
ITCorner tech meetup
Function as
a service
“
Serverless is a new cloud
computing trend that changes the
way you think about writing and
maintaining applications.
auth0.com
“
Deploy your applications as
independent functions, that
respond to events, charge you only
when they run, and scale
automatically.
serverless.com
“
Serverless architectures refer to
(..) custom code that's run in
ephemeral containers.
martinfowler.com
BaaS
FaaS
FaaS
Trigger
External
service
Function
No
Disk
Access
*almost
Stateless
and share-nothing
Emphemeral
Easy
Pricing
Model
“GB-seconds”
= 890h
2.1mln requests
https://alestic.com/2016/12/aws-invoice-example/
https://www.trek10.com/blog/lambda-cost/
Amazon Ecosystem
◎API Gateway
◎DynamoDB
◎S3
◎SQS
◎CloudFront
◎Cognito
◎...
Architecture
example architectural use-cases
Example
curl https://XXX.amazonaws.com/prod/helloworld
Hello from Lambda
curl https://XXX.amazonaws.com/prod/helloworld
-d '{"name": "Michal"}' -XPOST
Hello from Lambda to Michal
Ecosystem
frameworks, libraries, implementations
Apex
Serverless
Claudia.js
OpenWhisk
Iron.io
Benefits
Easy to learn
Lower costs
Easy to scale
Reduced time to market
Microservice way
Fits into iterations
Drawbacks
Vendor lock-in*
Multitenancy
A bit harder to test locally
Communication overhead
Cold start
Not always cost-efficient
Good use-cases
Mostly static pages
even e-commerce ones
Data stream analysis
Example: logs
Processing uploads
making thumbnails etc.
Actions users pay for
Preparing watermarked ebook
My opinion?
What do YOU
think?
Thanks!

Más contenido relacionado

La actualidad más candente

Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
Amazon Web Services
 
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Amazon Web Services
 

La actualidad más candente (20)

Serverless computing
Serverless computingServerless computing
Serverless computing
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless Cloud
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
What is AWS?
What is AWS?What is AWS?
What is AWS?
 
A Brief Look at Serverless Architecture
A Brief Look at Serverless ArchitectureA Brief Look at Serverless Architecture
A Brief Look at Serverless Architecture
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless Computing
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
Deep Dive into AWS SAM
Deep Dive into AWS SAMDeep Dive into AWS SAM
Deep Dive into AWS SAM
 
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
 
Serverless Framework (2018)
Serverless Framework (2018)Serverless Framework (2018)
Serverless Framework (2018)
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
 
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
 
Introducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic Beanstalk
 
Deep Dive on AWS Lambda
Deep Dive on AWS LambdaDeep Dive on AWS Lambda
Deep Dive on AWS Lambda
 

Destacado

Sympal A Cmf Based On Symfony
Sympal   A Cmf Based On SymfonySympal   A Cmf Based On Symfony
Sympal A Cmf Based On Symfony
Jonathan Wage
 

Destacado (20)

Docker workshop
Docker workshopDocker workshop
Docker workshop
 
The Rise of Serverless Architectures
The Rise of Serverless ArchitecturesThe Rise of Serverless Architectures
The Rise of Serverless Architectures
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
 
Serverless microservices in the wild
Serverless microservices in the wildServerless microservices in the wild
Serverless microservices in the wild
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Ben Kehoe - Serverless Architecture for the Internet of Things
Ben Kehoe - Serverless Architecture for the Internet of ThingsBen Kehoe - Serverless Architecture for the Internet of Things
Ben Kehoe - Serverless Architecture for the Internet of Things
 
The Serverless Revolution: AWS Lambda and the Serverless Framework in Action
The Serverless Revolution: AWS Lambda and the Serverless Framework  in ActionThe Serverless Revolution: AWS Lambda and the Serverless Framework  in Action
The Serverless Revolution: AWS Lambda and the Serverless Framework in Action
 
Adapt or Die: Serverless Microservices
Adapt or Die: Serverless MicroservicesAdapt or Die: Serverless Microservices
Adapt or Die: Serverless Microservices
 
NDC London - Look at the man in the mirror - The smart way for change in pers...
NDC London - Look at the man in the mirror - The smart way for change in pers...NDC London - Look at the man in the mirror - The smart way for change in pers...
NDC London - Look at the man in the mirror - The smart way for change in pers...
 
Tasks (batch) in Symfony. Symfony Camp Presentation 2010 UA.
Tasks (batch) in Symfony. Symfony Camp Presentation 2010 UA.Tasks (batch) in Symfony. Symfony Camp Presentation 2010 UA.
Tasks (batch) in Symfony. Symfony Camp Presentation 2010 UA.
 
Symfony in the Cloud
Symfony in the CloudSymfony in the Cloud
Symfony in the Cloud
 
Sympal A Cmf Based On Symfony
Sympal   A Cmf Based On SymfonySympal   A Cmf Based On Symfony
Sympal A Cmf Based On Symfony
 
Symfony und Ember.js auf einer Seite #codetalks14
Symfony und Ember.js auf einer Seite #codetalks14Symfony und Ember.js auf einer Seite #codetalks14
Symfony und Ember.js auf einer Seite #codetalks14
 
міський проект «щаслива лапка»
міський проект «щаслива лапка»міський проект «щаслива лапка»
міський проект «щаслива лапка»
 
Drupal8 for Symfony Developers
Drupal8 for Symfony DevelopersDrupal8 for Symfony Developers
Drupal8 for Symfony Developers
 
Matters of State
Matters of StateMatters of State
Matters of State
 
Have you played this Symfony? Why Symfony is great choice for Web development
Have you played this Symfony? Why Symfony is great choice for Web developmentHave you played this Symfony? Why Symfony is great choice for Web development
Have you played this Symfony? Why Symfony is great choice for Web development
 
Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3
Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3
Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3
 
Integrating React.js with PHP projects
Integrating React.js with PHP projectsIntegrating React.js with PHP projects
Integrating React.js with PHP projects
 
SibeCrypt 2016. Практические методы защиты веб-приложений
SibeCrypt 2016. Практические методы защиты веб-приложенийSibeCrypt 2016. Практические методы защиты веб-приложений
SibeCrypt 2016. Практические методы защиты веб-приложений
 

Similar a Serverless Architecture

Introduction To Cloud Computing And The Amazon (CloudCamp Athens)
Introduction To Cloud Computing And The Amazon (CloudCamp Athens)Introduction To Cloud Computing And The Amazon (CloudCamp Athens)
Introduction To Cloud Computing And The Amazon (CloudCamp Athens)
Fotis Stamatelopoulos
 
Perl and Amazon Web Services
Perl and Amazon Web ServicesPerl and Amazon Web Services
Perl and Amazon Web Services
Søren Lund
 

Similar a Serverless Architecture (20)

4Developers 2018: Serverless PHP (Michał Kurzeja)
4Developers 2018: Serverless PHP (Michał Kurzeja)4Developers 2018: Serverless PHP (Michał Kurzeja)
4Developers 2018: Serverless PHP (Michał Kurzeja)
 
Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018
 
Primeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverlessPrimeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverless
 
Voxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by DesignVoxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by Design
 
Chalice microframework 101 (eng)
Chalice microframework 101 (eng)Chalice microframework 101 (eng)
Chalice microframework 101 (eng)
 
From Serverless to InterCloud
From Serverless to InterCloudFrom Serverless to InterCloud
From Serverless to InterCloud
 
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless CloudSRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
 
How to Build a Web Server with AWS Lambda
How to Build a Web Server with AWS LambdaHow to Build a Web Server with AWS Lambda
How to Build a Web Server with AWS Lambda
 
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...
 
Webinar: Serverless Architectures with AWS Lambda and MongoDB Atlas
Webinar: Serverless Architectures with AWS Lambda and MongoDB AtlasWebinar: Serverless Architectures with AWS Lambda and MongoDB Atlas
Webinar: Serverless Architectures with AWS Lambda and MongoDB Atlas
 
Introduction To Cloud Computing And The Amazon (CloudCamp Athens)
Introduction To Cloud Computing And The Amazon (CloudCamp Athens)Introduction To Cloud Computing And The Amazon (CloudCamp Athens)
Introduction To Cloud Computing And The Amazon (CloudCamp Athens)
 
Python on AWS Lambda
Python on AWS Lambda Python on AWS Lambda
Python on AWS Lambda
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applications
 
Čtvrtkon #64 - AWS Serverless - Michal Haták
Čtvrtkon #64 - AWS Serverless - Michal HatákČtvrtkon #64 - AWS Serverless - Michal Haták
Čtvrtkon #64 - AWS Serverless - Michal Haták
 
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...Serverless Optical Character Recognition in support of Astronaut Safety AWS M...
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...
 
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12
 
What's Better than Microservices? Serverless Microservices.
What's Better than Microservices? Serverless Microservices.What's Better than Microservices? Serverless Microservices.
What's Better than Microservices? Serverless Microservices.
 
Mainframe to Serverless Architectures
Mainframe to Serverless ArchitecturesMainframe to Serverless Architectures
Mainframe to Serverless Architectures
 
Perl and Amazon Web Services
Perl and Amazon Web ServicesPerl and Amazon Web Services
Perl and Amazon Web Services
 
Intro To Serverless Architectures
Intro To Serverless ArchitecturesIntro To Serverless Architectures
Intro To Serverless Architectures
 

Más de Michał Kurzeja

Más de Michał Kurzeja (11)

Kolejkowanie w systemach multi-tenant - PHPCon 2023
Kolejkowanie w systemach multi-tenant - PHPCon 2023Kolejkowanie w systemach multi-tenant - PHPCon 2023
Kolejkowanie w systemach multi-tenant - PHPCon 2023
 
Rozszerzalność Symfony - PHPCon 2023
Rozszerzalność Symfony - PHPCon 2023Rozszerzalność Symfony - PHPCon 2023
Rozszerzalność Symfony - PHPCon 2023
 
Event-driven architecture, the easy way.pdf
Event-driven architecture, the easy way.pdfEvent-driven architecture, the easy way.pdf
Event-driven architecture, the easy way.pdf
 
Rozszerzalność aplikacji Symfony
Rozszerzalność aplikacji SymfonyRozszerzalność aplikacji Symfony
Rozszerzalność aplikacji Symfony
 
Docker reverse proxy z użyciem Traefik
Docker reverse proxy z użyciem TraefikDocker reverse proxy z użyciem Traefik
Docker reverse proxy z użyciem Traefik
 
Symfony messenger - PHPers Summit 2019
Symfony messenger - PHPers Summit 2019Symfony messenger - PHPers Summit 2019
Symfony messenger - PHPers Summit 2019
 
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
 
Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019
 
Dr Strangler and Mr Hype - Strangler pattern w praktyce
Dr Strangler and Mr Hype - Strangler pattern w praktyceDr Strangler and Mr Hype - Strangler pattern w praktyce
Dr Strangler and Mr Hype - Strangler pattern w praktyce
 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
 
Symfony2 - garść porad
Symfony2 - garść poradSymfony2 - garść porad
Symfony2 - garść porad
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Serverless Architecture

Notas del editor

  1. Opowiem o: czym jest serverless, jakie są podstawy za nim stojące, jakim architekturom sprzyja, przykład, ekosystem, zalety i wady Będzie o podstawach, ale z praktycznego punktu widzenia - gdzie stosować i jak?
  2. Zanim ruszymy naszą podróż …. Czy używałeś serverless? Czy słyszałeś o serverless? Cały czas dążymy do tego aby nasze aplikacje internetowe były szybsze, lepiej skalowalne, mniej podatne na awarie, aby miały lepszą architekturę. Jeśli cofnąć się w czasie, zaczynaliśmy od zwykłych PC gdzieś w budynku firmy, przechodziliśmy przez serwery rack, następnie migrując na VPS, aby finalnie w części firm przejść na cloud, a w ostatnim czasie na kontenery. Tak naprawdę nazwa to trochę kłamstwo ;) fizyczne serwery i zarządzający nimi administratorzy ciągle tam są, ale stają się dla nas coraz większą abstrakcją. Wszystkie te warstwy mają nam zapewnić, abyśmy jako programiści nie musieli się martwić o to co pod spodem, i w drugą stronę - aby administrator nie musiał się wgryzać w niedziałający kod. Tej ewolucji towarzyszy też ewolucja w architekturze, którą zapewnie dobrze znacie. Monolity, które rozbiliśmy na serwisy, a może nawet mikroserwisy. Tą ścieżką przeszło wiele ze znanych nam startupów. Jaki będzie więc kolejny krok?
  3. Serverless nie powstał z dnia na dzień, a raczej wykluwał się w ostatnich latach, aby w zeszłym roku stać się jednym z najgorętszych zwrotów w IT. Czy ktoś kojarzy Parse? No właśnie, Parse i jemu podobne usługi jak choćby Googlowski firebase. Gotowe rozwiązanie pozwalające na budowę aplikacji, zwykle mobilnych i SOA, bez potrzeby posiadania serwera. Cudowna usługa łącząca bazę danych uzupełnioną o kontrolę dostępu. Dodatkowo usługi tego typu umożliwiają często możliwość wywołania małego fragmentu kodu, który np. wyśle e-mail po rejestracji użytkownika. Takie usługi nazywamy **Backend as a Service - BaaS**. W ostatnich latach pojawiało się coraz więcej usług tego typu dostarczających bardzo zróżnicowanych usług jak np. Auth0 - zarządzanie użytkownikami. Kolejnym krokiem było oderwanie małych fragmentów kodu od bazy i rozbudowanie tego konceptu. W toku ewolucji powstały usługi pozwalające uruchamiać funkcje, znane bliżej jako **Function as a Service - FaaS.** Najpopularniejszą usługą tego typu jest AWS Lambda, ale są dostępne też funkcje Azure, funkcje w Google Cloud (closed beta) i implementacje Open-source - np. OpenWhisk od IBM.
  4. W podejściu Serverless dla programisty nie liczy się nic poza kodem. Tworzony kod jest funkcją uruchamianą jako reakcja na zdefiniowane zdarzenie. Takim zdarzeniem może być scheduler, zapytanie API, wgranie pliku na dysk lub wywołanie z innej funkcji, natomiast funkcja może wykonywać praktycznie dowolny kod, choć architektonicznie powinna raczej odpowiadać czemuś co nazwać moglibyśmy nano-service, ale o tym za chwilę. Nie istnieje serwer którym musimy zarządzać i który musimy utrzymywać, aby uruchamiać funkcję. Zamieniamy działające w trybie ciągłym serwery, na tymczasowy dostęp do zasobów, potrzebny do wykonania zdefiniowanej przez nas funkcji. To tak jakby serwer pojawiał się na ułamek sekundy gdy jest potrzebny, a następnie znikał. Płacimy tylko za ten ułamek sekundy i nie musimy w żaden sposób deklarować się jakie będzie planowane obciążenie. Gdy nie potrzebujemy uruchamiać funkcji wcale - nic nie jest uruchamiane, a w kolejnej sekundzie możemy chcieć obsłużyć 1000 zapytań, aby znów nie wywoływać naszej funkcji przez dłuższy czas. Zapłacimy tylko za te milisekundy w którym nasza funkcja działała.
  5. Prawie, bo Amazon pozwala na zapis 512mb w /tmp, a w Azure można podpiąc Dropbox, Google Drive, Microsoft onedrive etc.
  6. Bezstanowe i nic nie współdzielą, tak jakby komputery/kontenery startowały na jedno wywołanie i były ubijane.
  7. Krótkotrwałe. Nie możemy zakładać, że kontener będzie trwać dłużej niż jedno zapytanie, ale też z drugiej strony zwykle tak nie jest. Najczęściej kontener żyje jakiś czas, nie wiadomo jednak jaki.
  8. W zależności od tego czy budujemy aplikację mobilną czy też webową architektura będzie nieznacznie się różnić, ale podstawowa zasada będzie taka sama. Przede wszystkim, sporą część logiki i całą prezentację przenosimy do klienta. Czy to w postaci aplikacji mobilnej czy też SOA napisanej np. za pomocą React. Niektóre elementy logiki przenosimy do zewnętrznych usług, np. autoryzacja, cache, rate-limiting. Nasza aplikacja wygląda trochę jak zbudowana z klocków - częściowo gotowych, a częściowo napisanych przez nas. Następnie traktujemy nasze funkcje serverless jako API REST:
  9. Jedeno z pierwszych narzędzi wspomagających budowanie systemów w oparciu o AWS lamdba. Ułatwia budowanie, deploy, aktualizacje. Ciekawostka: pozwala uruchamiać w aws niewspierane języki, poprzez lekką obudowę w node.js
  10. Najpopularniejszy framework do budowy FaaS. Jedną z ciekawszych zalet jest fakt, że o ile wspiera obecnie tylko AWS Lambda, to obiecuje wsparcie dla innych dostawców, przez co ograniczy vendor lock-in
  11. Również narzędzie ułatwiające wdrożenie aplikacji na Lambda. Obecnie mniej popularny, ale rozwijany przez Gojko Adzic. Z ciekawostek: pozwala odpalać aplikacje w express jako FaaS.
  12. Open source rozwiązanie od IBM do budowania własnej infrastruktury serverless. Co ciekawe, jest dostępne jako bluemix na chmurze IBM i jest o ile wiem tańsze od Amazon. Nie jestem przekonany do budowania własnej infrastruktury, ale warto wiedzieć.
  13. Kolejne rozwiązanie pozwalające na budowę własnej infrastruktury.