Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints...

28
IBM Cloud / DOC ID / Month XX, 2018 / © 2018 IBM Corporation Conheça o IBM Cloud Functions A plataforma Serverless da IBM Giuliano D. Morais Cloud Solutions Architect

Transcript of Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints...

Page 1: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud / DOC ID / Month XX, 2018 / © 2018 IBM Corporation

Conheça o IBM Cloud FunctionsA plataforma Serverless da IBM

Giuliano D. MoraisCloud Solutions Architect

Page 2: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Execute código somentesob demanda

Sem gerenciamento e operação de infra

Foco em escrever códigoque agregue valor e tragainovação

No servers Just code

Page 3: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Na essencia:Quando usar serverless ?

“Eu tenho código oucontainers, eu queroque seja executadosomente quando euprecisar – emqualquer escala”

Page 4: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Eu quero

Usar meu tempo emregras de negócio

que trazem valor para a minha empresa e que me ajude a resolver

um problema

Eu não quero

Configurar e gerenciarmáquinas virtuais,

containers, serviços de load balance,

autoscaling, logging, filas de mensagens,

tolerância a falhas, Roteadores, ….

Page 5: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Eu quero

Pagar somentepelos recursos

que eu uso

Eu não quero

Pagar por mês porrecursos que

eu acabo nem usando

Page 6: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Maior foco no código e menosna infraestrutura

Mai

orfo

cono

neg

ócio

Menor preocupaçao com infra

Bare Metal

Virtual machines

Functions

Containers

Apps

Page 7: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Mais requisições sempreocupar com crescimento

Escala de forma transparente com base no número de requisições

Page 8: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Linguagenssuportadas

nativamente(performance-

optimized)

Binários & qualquer outra

aplicação oulinguagem via

containers

JS/NodeJS 8

Java

PHP

Swift 4

Python 3

Go Rust

C C++

bash …

Diferenteslinguagens oubinários sãosuportados

Page 9: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Customers

Page 10: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Page 11: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Alguns casos de usosExecutar lógica em resposta a uma alteração no banco de dados

Realizar analytics em mensagens com dados de vindo de sensors

Motor de IA para chatbots

Agendar tarefas

Invocar APIs para soluções mobile

Page 12: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

API GW disponível sem custo e sem limites

Crie Funções:getCostumercreateCostumerdeleteCostumer

Defina API Endpoints (URLs) e mapeie para FunçõesGet: mydomain.com/…/customersPost: mydomain.com/…/customersDelete: mydomain.com/…/customers

12Mapeamento de endpoints de API para funções do IBM Cloud Functions

Microservices/ API Backends

Page 13: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Easy to add and edit:3

2 1

Page 14: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Blockchain APIs

Page 15: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Machine Learning Models

Page 16: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Tarefas Agendadas

Como um Cronna nuvem

Page 17: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Delegue tarefas mais “pesadas” para uma plataforma poderosa e escalável e implemente suas funções sem precisarmudar a linguagem de programação

Mobile backend

Page 18: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Data processing

Page 19: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Pensado para varias formas de data stream (validation, cleansing, enrichment, transformation, …)Business data streams (de outras fontes de dados)IoT sensor dataLog dataFinancial (market) data…

Processamento de Eventosvia Event Streams(Message Hub)

Page 20: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

IoTDispara funções com base em dados de sensors IoT

Device

Watson IOT Platform

2

3 Triggeran Action

IOT

Page 21: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

AI / Cognitive

Page 22: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Virtual Assistants

Assistants

Chit Chat

Account Status

Mortgage KB

Functions Check_Balance Transfers Customer_Lookup

Qual o saldo da minha conta?

Assistente de Online Banking

Channels

Watson Virtual Assistant

Page 23: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Tarefas de parelelismo massivo

Qualquer tipo de tarefa massivamente paralela é muito adequada para ser executada em um ambiente serverless. Cada tarefa paralelizávelresulta em uma invocação de ação

• Data search & processing (specifically Cloud Object Storage)• Map(-Reduce) operations• Monte-Carlo Simulations• Hyperparameter tuning• Web scraping• Genome processing• …

Page 24: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Conectando com sistemas dentro de casa

Alguns cenários:• Receber eventos vindos do on-premise (ex. Kafka)• Escrever dados dentro de repositorios on-premises

através de IBM Cloud Functions• Chamar APIs on-prem

Solução:• Usar o IBM Secure Gateway for IBM Cloud Functions

para comunicar de forma segura com o seu datacenter

Page 25: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

Tempo que a função levou naexecução * memória alocadapara essa função

$0.000017 per GBsFree tier: 400000 GBs

Precificação

Page 26: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

IBM Cloud Functions - Demonstração

Page 27: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

IBM Cloud Functions

DemonstraçãoDark Vision (https://openwhisk-darkvision.mybluemix.net)

1. User uploads video from mobile device2. Cloud (Watson services) analyze frames to

detect products, objects, faces, text3. Use results to deliver improved navigation,

recommendations, search

Page 28: Conheçao IBM Cloud Functions · 2018. 11. 26. · PHP Swift 4 Python 3 Go Rust C C++ ... endpoints de API para funçõesdo IBM Cloud Functions Microservices/ API Backends. IBM Cloud

31IBM Cloud / DOC ID / Month XX, 2018 / © 2018 IBM Corporation

IBM Cloud FunctionsObrigado !

Giuliano [email protected]/in/giulianodm