SlideShare uma empresa Scribd logo
1 de 37
Building Serverless Apps with Go & SAM
( @LeonStigter)
Confidentiality
The following information is confidential information of TIBCO
Software Inc. Use, duplication, transmission, or republication for
any purpose without the prior written consent of TIBCO is
expressly prohibited.
Disclaimer
This document (including, without limitation, any product roadmap or
statement of direction data) illustrates the planned testing, release and
availability dates for TIBCO products and services. This document is provided
for informational purposes only and its contents are subject to change without
notice. TIBCO makes no warranties, express or implied, in or relating to this
document or any information in it, including, without limitation, that this
document, or any information in it, is error-free or meets any conditions of
merchantability or fitness for a particular purpose. This document may not be
reproduced or transmitted in any form or by any means without our prior
written permission.
The material provided is for informational purposes only, and should not be
relied on in making a purchasing decision. The information is not a
commitment, promise or legal obligation to deliver any material, code, or
functionality. The development, release, and timing of any features or
functionality described for our products remains at our sole discretion.
During the course of this presentation TIBCO or its representatives may make
forward-looking statements regarding future events, TIBCO’s future results or
our future financial performance. These statements are based on
management’s current expectations. Although we believe that the expectations
reflected in the forward-looking statements contained in this presentation are
reasonable, these expectations or any of the forward-looking statements could
prove to be incorrect and actual results or financial performance could differ
materially from those stated herein. TIBCO does not undertake to update any
forward-looking statement that may be made from time to time or on its
behalf.
•Developer Advocate at
TIBCO
•Passionate about Open
Source, Cloud, Containers
and Serverless
•I love cheesecake, dad
jokes, and APIs
Leon Stigter, Developer Advocate
( @LeonStigter)
Who Am I?
Once Upon A Time...
This Was/Is Your Data Center
…Transforming data
into action…
To spot and seize
opportunities from the ever
increasing volumes of data
and devices
…Operating with
more speed and
agility…
To meet stakeholder
demands for delivering
rapid innovation and
differentiation
…Empowering
more users…
To become self-sufficient at
helping the business with
digital transformation
efforts
Why Do We Build Apps?
ArchitectsIT ManagersIntegratorsDevelopers
Data Scientists Analysts Analytics Leaders Business Leaders
Your Apps Matter!
ESB
…From building and
connecting monolithic
applications to each other…
App App App
…To also becoming the infrastructure on which modern
applications are built, with API and event-driven
microservices patterns, to support digital transformation
needs
Technically the strategy must “integrate integration” and
blur the lines between development and integration
-Randy Heffner, Forrester Research
Service Service
Service
API
EVENT
API
EVENT
API
API
“App”
Function
Function
The Way We Build Apps Is Changing
Source https://info.leanix.net/hubfs/leanIX_Microservices-Study.pdf
Challenges To Adopt New Tech
“...among those having implemented REST APIs, only 25% say that all or nearly all of them
are designed as entirely CRUD APIs, which shows that many organizations feel the need to go
against the religion.”
“...among development managers with internal APIs, 23% said they have important use cases,
where one call to an API must update multiple applications.”
Microservices enable use cases beyond simple point-to-point CRUD
“Among development managers who said that changing their business model was likely
to be a critical or high business priority, 62% already have
microservices or plan to have them by early 2018.”
Source: Forrester Research
Microservices and External APIs Underpin Digital Business (Oct 17, 2017)
“Dynamic Cloud” Deployment Growth
• More enterprise
strategic workloads
are now run in the
cloud than on-premise
• The highest workload
% is using “Dynamic
Cloud”; FaaS and
Serverless technology
Source: The New Stack, 2017 Survey
Likely This Is Your Datacenter…
So…
Let’s recap for a second…
• If you’re building apps…
• And everyone is building apps with you…
• And we’re breaking down monoliths…
• And we’re moving to the cloud…
• And change is really, really hard…
In That Case There Is Only One
Solution…
NEVER MANAGE SERVERS
Let’s Talk Serverless…
Scales with usage
Never pay for idle
No servers to provision
Or manage
Availability and
Fault-tolerance built in
Reuse some standard building blocks
Amazon API
Gateway
Amazon SQS
Amazon
DynamoDB
Amazon
Kinesis
Amazon S3
Amazon SNS
Let’s Talk Serverless…
Project Flogo
Open Source Stack for Event-Driven Apps
Build smarter with Edge
Machine Learning
10-50x lighter than
Java, .NET or Node.js
Visually model & test
flows as functions
Event-driven design
with native support for
AWS Lambda
100% Open Source with
zero lock-in
What Is Project Flogo?
If your background is in or you
prefer to develop your apps
using zero-coding
environments.
Flogo Web UI is available via
Docker Hub or Flogo.io.
It contains everything required
to get started in seconds!
Who Is Project Flogo Meant For?
Getting started with the CLI
couldn't be any easier:
go get -u
github.com/TIBCOSoftware/f
logo-cli/...
Or
go get -u
github.com/TIBCOSoftware/f
logo-lib/...
Who Is Project Flogo Meant For?
Java, NodeJS are great, but too large for resource constrained environments
Why Golang for Project Flogo:
➢ Complies natively and runs natively.
➢ Only the required dependencies are built into the application.
➢ Static linking enables zero OS dependencies.
App
Framework (OSGi)
VM (JVM)
Operating System
Hardware
App
Framework (Node.js)
VM (V8)
Operating System
Hardware
App
Operating System
Hardware
But Why Go?
The Basics of Project
Flogo
➢ At its core, flogo is an event-driven
framework
➢ The intent is for the event sources
(Triggers) and Actions to be pluggable
contributions
➢ The Web-UI uses the FlowAction
The Basics of Project
Flogo
Image from https://www.youtube.com/watch?v=r7lMGPM3u9E
Event
Stream
Kafka
Triggers: Kafka,
REST, MQTT,
etc…
Triggers
Trigger
Listens to events for a particular source
(ex. HTTP on port 8080, a MQTT
server)
Handler
➢ Associate events with actions
➢ Is configured to dispatch based on
settings (ex. HTTP: Method and path,
MQTT : topic)
➢ Basically an “action” to perform on
receiving the event
➢ Can be simple go code which
implements the Action interface
➢ Contributed Actions, such as the
FlowAction used by our UI
Event
Stream
Kafka
Triggers: Kafka,
REST, MQTT,
etc…
Flow
Golang Package
Actions
Actions
Event
Stream
Kafka
Triggers: Kafka,
REST, MQTT,
etc…
Action
(Flow)
Activity
Activities
Activity
➢ Similar to Action, but intended to be
closer to a simple function call
➢ Can be used as a way to compose an
Action like flow does
➢ Activities are connected via ‘links’
Low friction web-native UX
➢ Express app logic using rich
flows, not just data or
request pipelines
➢ Inline data transformations
➢ Built-in web-based debugger
➢ Build for target platform
directly from UI
➢ Available on Docker Hub or
Flogo.io
How To Build an App? We Have a UI
➢ Wraps all common commands for building
Flogo applications
➢ Wrapper around go `dep` and `go` cli
➢ Parses DSL for
➢ dependencies
➢ Importing req packages
➢ main.go
➢ embedding app
How To Build an App? We Have a CLI
Let’s go
build
something!
I’m a developer, I
just want to write
code...
No UI
Shouldn’t require a UI or JSON
API driven
Must provide a simple API for
app composition and execution
Reuse concepts
Must allow users to use existing
triggers, actions and activities
Mix with Go
Should be easy to invoke custom
code in response to a event from
a trigger
Developer Experience: Flogo-as-a-Lib
func main() {
app := flogo.NewApp()
trg := app.NewTrigger(&rest.RestTrigger{}, map[string]interface{}{"port": 8080})
trg.NewFuncHandler(map[string]interface{}{"method": "GET", "path": "/blah"},
RunActivities)
e, err := flogo.NewEngine(app)
if err != nil {
logger.Error(err)
return
}
engine.RunEngine(e)
}
func RunActivities(ctx context.Context, inputs map[string]*data.Attribute)
(map[string]*data.Attribute, error) {
in := map[string]interface{}{"message": "test"}
_, err := flogo.EvalActivity(&log.LogActivity{}, in)
if err != nil {
return nil, err
}
return nil, nil
}
Use triggers & function
handlers
Call activities
So We Also Have a Go API!
Let’s go
build
something!
Q & A
github.com/TIBCOSoftware/flogo
$ docker run -it -p 3303:3303 flogo/flogo-docker eula-accept
Building via the CLI
$ go get github.com/TIBCOSoftware/flogo-cli
Getting Started with Project Flogo
Building Serverless Apps with Go & Flogo

Mais conteúdo relacionado

Mais procurados

Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesBizTalk360
 
Service fabric demo
Service fabric demoService fabric demo
Service fabric demoPaul Nichols
 
Lunch & Learn BigQuery & Firebase from other Google Cloud customers
Lunch & Learn BigQuery & Firebase from other Google Cloud customersLunch & Learn BigQuery & Firebase from other Google Cloud customers
Lunch & Learn BigQuery & Firebase from other Google Cloud customersDaniel Zivkovic
 
Design Visualization: Smoke and Mirrors (slides)
Design Visualization: Smoke and Mirrors (slides)Design Visualization: Smoke and Mirrors (slides)
Design Visualization: Smoke and Mirrors (slides)Ruth Malan
 
Dynamic APIs: SOA Done Right
Dynamic APIs: SOA Done RightDynamic APIs: SOA Done Right
Dynamic APIs: SOA Done RightInside Analysis
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...VMware Tanzu
 
The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMSInVision App
 
React with rails a perfect combination to build modern web application
React with rails a perfect combination to build modern web applicationReact with rails a perfect combination to build modern web application
React with rails a perfect combination to build modern web applicationKaty Slemon
 
Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"Fwdays
 
Sprinting for Success: Digital Transformation through Agile and DevOps
Sprinting for Success: Digital Transformation through Agile and DevOpsSprinting for Success: Digital Transformation through Agile and DevOps
Sprinting for Success: Digital Transformation through Agile and DevOpsDynatrace
 
Entwickler camp2012 how to connect your app to the activity stream with x_pages
Entwickler camp2012 how to connect your app to the activity stream with x_pagesEntwickler camp2012 how to connect your app to the activity stream with x_pages
Entwickler camp2012 how to connect your app to the activity stream with x_pagesFrank van der Linden
 
Microservices with Nancy and vs Code
Microservices with Nancy and vs CodeMicroservices with Nancy and vs Code
Microservices with Nancy and vs CodeCelso Junior
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...BizTalk360
 
Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Tessa Mero
 
Ionic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassleIonic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassleIonic Framework
 
Connecting Your In-Premise Database To Mobile Apps
Connecting Your In-Premise Database To Mobile AppsConnecting Your In-Premise Database To Mobile Apps
Connecting Your In-Premise Database To Mobile AppsLohith Goudagere Nagaraj
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in PracticeKasun Indrasiri
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Vadym Kazulkin
 

Mais procurados (20)

Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development Experiences
 
Service fabric demo
Service fabric demoService fabric demo
Service fabric demo
 
Lunch & Learn BigQuery & Firebase from other Google Cloud customers
Lunch & Learn BigQuery & Firebase from other Google Cloud customersLunch & Learn BigQuery & Firebase from other Google Cloud customers
Lunch & Learn BigQuery & Firebase from other Google Cloud customers
 
Design Visualization: Smoke and Mirrors (slides)
Design Visualization: Smoke and Mirrors (slides)Design Visualization: Smoke and Mirrors (slides)
Design Visualization: Smoke and Mirrors (slides)
 
Dynamic APIs: SOA Done Right
Dynamic APIs: SOA Done RightDynamic APIs: SOA Done Right
Dynamic APIs: SOA Done Right
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...
 
The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMS
 
React with rails a perfect combination to build modern web application
React with rails a perfect combination to build modern web applicationReact with rails a perfect combination to build modern web application
React with rails a perfect combination to build modern web application
 
Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"
 
Sprinting for Success: Digital Transformation through Agile and DevOps
Sprinting for Success: Digital Transformation through Agile and DevOpsSprinting for Success: Digital Transformation through Agile and DevOps
Sprinting for Success: Digital Transformation through Agile and DevOps
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Entwickler camp2012 how to connect your app to the activity stream with x_pages
Entwickler camp2012 how to connect your app to the activity stream with x_pagesEntwickler camp2012 how to connect your app to the activity stream with x_pages
Entwickler camp2012 how to connect your app to the activity stream with x_pages
 
Microservices with Nancy and vs Code
Microservices with Nancy and vs CodeMicroservices with Nancy and vs Code
Microservices with Nancy and vs Code
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
 
Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018
 
Ionic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassleIonic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassle
 
Connecting Your In-Premise Database To Mobile Apps
Connecting Your In-Premise Database To Mobile AppsConnecting Your In-Premise Database To Mobile Apps
Connecting Your In-Premise Database To Mobile Apps
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...
 

Semelhante a Building Serverless Apps with Go & Flogo

Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]New Relic
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudLauren Hayward Schaefer
 
TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?Haggai Philip Zagury
 
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...Amazon Web Services
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudiMasters
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtTechWell
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleMatthew Perrins
 
OpenWhisk Introduction
OpenWhisk IntroductionOpenWhisk Introduction
OpenWhisk IntroductionIoana Baldini
 
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...Jitendra Bafna
 
Web Application Vulnerabilities
Web Application VulnerabilitiesWeb Application Vulnerabilities
Web Application VulnerabilitiesPamela Wright
 
Adopting Modern Application Architecture with AWS and Project Flogo (Sponsore...
Adopting Modern Application Architecture with AWS and Project Flogo (Sponsore...Adopting Modern Application Architecture with AWS and Project Flogo (Sponsore...
Adopting Modern Application Architecture with AWS and Project Flogo (Sponsore...Amazon Web Services
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comJeff Douglas
 
Project Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseProject Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseLeon Stigter
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumit Kataria
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comAlistair Croll
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionA Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices Edition3scale
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionA Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionSteven Willmott
 

Semelhante a Building Serverless Apps with Go & Flogo (20)

Salesforce Architect Day - morning session
Salesforce Architect Day - morning sessionSalesforce Architect Day - morning session
Salesforce Architect Day - morning session
 
Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]Agility and Control from AWS [FutureStack16]
Agility and Control from AWS [FutureStack16]
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?
 
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
OpenWhisk Introduction
OpenWhisk IntroductionOpenWhisk Introduction
OpenWhisk Introduction
 
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
 
Web Application Vulnerabilities
Web Application VulnerabilitiesWeb Application Vulnerabilities
Web Application Vulnerabilities
 
Adopting Modern Application Architecture with AWS and Project Flogo (Sponsore...
Adopting Modern Application Architecture with AWS and Project Flogo (Sponsore...Adopting Modern Application Architecture with AWS and Project Flogo (Sponsore...
Adopting Modern Application Architecture with AWS and Project Flogo (Sponsore...
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
 
Project Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseProject Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the Enterprise
 
Brainstack offerings
Brainstack offeringsBrainstack offerings
Brainstack offerings
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststem
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.com
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionA Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices Edition
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionA Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices Edition
 

Mais de Leon Stigter

Thinking Stateful Serverless
Thinking Stateful ServerlessThinking Stateful Serverless
Thinking Stateful ServerlessLeon Stigter
 
Test driving event-driven apps on kubernetes with kind, tekton, and knative
Test driving event-driven apps on kubernetes with kind, tekton, and knativeTest driving event-driven apps on kubernetes with kind, tekton, and knative
Test driving event-driven apps on kubernetes with kind, tekton, and knativeLeon Stigter
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonLeon Stigter
 
Data Driven Decisions in DevOps
Data Driven Decisions in DevOpsData Driven Decisions in DevOps
Data Driven Decisions in DevOpsLeon Stigter
 
Every Talk Has To Be Unique @ DevRel Meetup
Every Talk Has To Be Unique @ DevRel Meetup Every Talk Has To Be Unique @ DevRel Meetup
Every Talk Has To Be Unique @ DevRel Meetup Leon Stigter
 
Continuous Verification in a Serverless World
Continuous Verification in a Serverless WorldContinuous Verification in a Serverless World
Continuous Verification in a Serverless WorldLeon Stigter
 
Continuous Verification in a Serverless World
Continuous Verification in a Serverless WorldContinuous Verification in a Serverless World
Continuous Verification in a Serverless WorldLeon Stigter
 
Trusting Your Ingredients @DevOpsDays Columbus 2019
Trusting Your Ingredients @DevOpsDays Columbus 2019Trusting Your Ingredients @DevOpsDays Columbus 2019
Trusting Your Ingredients @DevOpsDays Columbus 2019Leon Stigter
 
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes… Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes… Leon Stigter
 
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…Leon Stigter
 
Trusting Your Ingredients - What Building Software And Cheesecake Have In Common
Trusting Your Ingredients - What Building Software And Cheesecake Have In CommonTrusting Your Ingredients - What Building Software And Cheesecake Have In Common
Trusting Your Ingredients - What Building Software And Cheesecake Have In CommonLeon Stigter
 
Building a Kubernetes Powered Central Go Modules Repository
Building a Kubernetes Powered Central Go Modules RepositoryBuilding a Kubernetes Powered Central Go Modules Repository
Building a Kubernetes Powered Central Go Modules RepositoryLeon Stigter
 
Refactoring to Go modules: why and how
Refactoring to Go modules: why and howRefactoring to Go modules: why and how
Refactoring to Go modules: why and howLeon Stigter
 
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...Leon Stigter
 
Data Driven DevOps
Data Driven DevOpsData Driven DevOps
Data Driven DevOpsLeon Stigter
 
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & CodefreshWhere did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & CodefreshLeon Stigter
 
DevOps Theory vs. Practice: A Song of Ice and Tire Fire
DevOps Theory vs. Practice: A Song of Ice and Tire FireDevOps Theory vs. Practice: A Song of Ice and Tire Fire
DevOps Theory vs. Practice: A Song of Ice and Tire FireLeon Stigter
 
The Art of Deploying Artifacts to Production With Confidence
The Art of Deploying Artifacts to Production With ConfidenceThe Art of Deploying Artifacts to Production With Confidence
The Art of Deploying Artifacts to Production With ConfidenceLeon Stigter
 
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and LambdaProject Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and LambdaLeon Stigter
 
The Road to a Cloud-First Enterprise
The Road to a Cloud-First EnterpriseThe Road to a Cloud-First Enterprise
The Road to a Cloud-First EnterpriseLeon Stigter
 

Mais de Leon Stigter (20)

Thinking Stateful Serverless
Thinking Stateful ServerlessThinking Stateful Serverless
Thinking Stateful Serverless
 
Test driving event-driven apps on kubernetes with kind, tekton, and knative
Test driving event-driven apps on kubernetes with kind, tekton, and knativeTest driving event-driven apps on kubernetes with kind, tekton, and knative
Test driving event-driven apps on kubernetes with kind, tekton, and knative
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and Tekton
 
Data Driven Decisions in DevOps
Data Driven Decisions in DevOpsData Driven Decisions in DevOps
Data Driven Decisions in DevOps
 
Every Talk Has To Be Unique @ DevRel Meetup
Every Talk Has To Be Unique @ DevRel Meetup Every Talk Has To Be Unique @ DevRel Meetup
Every Talk Has To Be Unique @ DevRel Meetup
 
Continuous Verification in a Serverless World
Continuous Verification in a Serverless WorldContinuous Verification in a Serverless World
Continuous Verification in a Serverless World
 
Continuous Verification in a Serverless World
Continuous Verification in a Serverless WorldContinuous Verification in a Serverless World
Continuous Verification in a Serverless World
 
Trusting Your Ingredients @DevOpsDays Columbus 2019
Trusting Your Ingredients @DevOpsDays Columbus 2019Trusting Your Ingredients @DevOpsDays Columbus 2019
Trusting Your Ingredients @DevOpsDays Columbus 2019
 
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes… Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
 
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
 
Trusting Your Ingredients - What Building Software And Cheesecake Have In Common
Trusting Your Ingredients - What Building Software And Cheesecake Have In CommonTrusting Your Ingredients - What Building Software And Cheesecake Have In Common
Trusting Your Ingredients - What Building Software And Cheesecake Have In Common
 
Building a Kubernetes Powered Central Go Modules Repository
Building a Kubernetes Powered Central Go Modules RepositoryBuilding a Kubernetes Powered Central Go Modules Repository
Building a Kubernetes Powered Central Go Modules Repository
 
Refactoring to Go modules: why and how
Refactoring to Go modules: why and howRefactoring to Go modules: why and how
Refactoring to Go modules: why and how
 
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
 
Data Driven DevOps
Data Driven DevOpsData Driven DevOps
Data Driven DevOps
 
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & CodefreshWhere did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh
 
DevOps Theory vs. Practice: A Song of Ice and Tire Fire
DevOps Theory vs. Practice: A Song of Ice and Tire FireDevOps Theory vs. Practice: A Song of Ice and Tire Fire
DevOps Theory vs. Practice: A Song of Ice and Tire Fire
 
The Art of Deploying Artifacts to Production With Confidence
The Art of Deploying Artifacts to Production With ConfidenceThe Art of Deploying Artifacts to Production With Confidence
The Art of Deploying Artifacts to Production With Confidence
 
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and LambdaProject Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
 
The Road to a Cloud-First Enterprise
The Road to a Cloud-First EnterpriseThe Road to a Cloud-First Enterprise
The Road to a Cloud-First Enterprise
 

Último

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Último (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Building Serverless Apps with Go & Flogo

  • 1. Building Serverless Apps with Go & SAM ( @LeonStigter)
  • 2. Confidentiality The following information is confidential information of TIBCO Software Inc. Use, duplication, transmission, or republication for any purpose without the prior written consent of TIBCO is expressly prohibited.
  • 3. Disclaimer This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. This document is provided for informational purposes only and its contents are subject to change without notice. TIBCO makes no warranties, express or implied, in or relating to this document or any information in it, including, without limitation, that this document, or any information in it, is error-free or meets any conditions of merchantability or fitness for a particular purpose. This document may not be reproduced or transmitted in any form or by any means without our prior written permission. The material provided is for informational purposes only, and should not be relied on in making a purchasing decision. The information is not a commitment, promise or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion. During the course of this presentation TIBCO or its representatives may make forward-looking statements regarding future events, TIBCO’s future results or our future financial performance. These statements are based on management’s current expectations. Although we believe that the expectations reflected in the forward-looking statements contained in this presentation are reasonable, these expectations or any of the forward-looking statements could prove to be incorrect and actual results or financial performance could differ materially from those stated herein. TIBCO does not undertake to update any forward-looking statement that may be made from time to time or on its behalf.
  • 4. •Developer Advocate at TIBCO •Passionate about Open Source, Cloud, Containers and Serverless •I love cheesecake, dad jokes, and APIs Leon Stigter, Developer Advocate ( @LeonStigter) Who Am I?
  • 5. Once Upon A Time...
  • 6. This Was/Is Your Data Center
  • 7. …Transforming data into action… To spot and seize opportunities from the ever increasing volumes of data and devices …Operating with more speed and agility… To meet stakeholder demands for delivering rapid innovation and differentiation …Empowering more users… To become self-sufficient at helping the business with digital transformation efforts Why Do We Build Apps?
  • 8. ArchitectsIT ManagersIntegratorsDevelopers Data Scientists Analysts Analytics Leaders Business Leaders Your Apps Matter!
  • 9. ESB …From building and connecting monolithic applications to each other… App App App …To also becoming the infrastructure on which modern applications are built, with API and event-driven microservices patterns, to support digital transformation needs Technically the strategy must “integrate integration” and blur the lines between development and integration -Randy Heffner, Forrester Research Service Service Service API EVENT API EVENT API API “App” Function Function The Way We Build Apps Is Changing
  • 11. “...among those having implemented REST APIs, only 25% say that all or nearly all of them are designed as entirely CRUD APIs, which shows that many organizations feel the need to go against the religion.” “...among development managers with internal APIs, 23% said they have important use cases, where one call to an API must update multiple applications.” Microservices enable use cases beyond simple point-to-point CRUD “Among development managers who said that changing their business model was likely to be a critical or high business priority, 62% already have microservices or plan to have them by early 2018.” Source: Forrester Research Microservices and External APIs Underpin Digital Business (Oct 17, 2017)
  • 12. “Dynamic Cloud” Deployment Growth • More enterprise strategic workloads are now run in the cloud than on-premise • The highest workload % is using “Dynamic Cloud”; FaaS and Serverless technology Source: The New Stack, 2017 Survey
  • 13. Likely This Is Your Datacenter…
  • 14. So… Let’s recap for a second… • If you’re building apps… • And everyone is building apps with you… • And we’re breaking down monoliths… • And we’re moving to the cloud… • And change is really, really hard…
  • 15. In That Case There Is Only One Solution… NEVER MANAGE SERVERS
  • 16. Let’s Talk Serverless… Scales with usage Never pay for idle No servers to provision Or manage Availability and Fault-tolerance built in
  • 17. Reuse some standard building blocks Amazon API Gateway Amazon SQS Amazon DynamoDB Amazon Kinesis Amazon S3 Amazon SNS Let’s Talk Serverless…
  • 18. Project Flogo Open Source Stack for Event-Driven Apps Build smarter with Edge Machine Learning 10-50x lighter than Java, .NET or Node.js Visually model & test flows as functions Event-driven design with native support for AWS Lambda 100% Open Source with zero lock-in What Is Project Flogo?
  • 19. If your background is in or you prefer to develop your apps using zero-coding environments. Flogo Web UI is available via Docker Hub or Flogo.io. It contains everything required to get started in seconds! Who Is Project Flogo Meant For?
  • 20. Getting started with the CLI couldn't be any easier: go get -u github.com/TIBCOSoftware/f logo-cli/... Or go get -u github.com/TIBCOSoftware/f logo-lib/... Who Is Project Flogo Meant For?
  • 21. Java, NodeJS are great, but too large for resource constrained environments Why Golang for Project Flogo: ➢ Complies natively and runs natively. ➢ Only the required dependencies are built into the application. ➢ Static linking enables zero OS dependencies. App Framework (OSGi) VM (JVM) Operating System Hardware App Framework (Node.js) VM (V8) Operating System Hardware App Operating System Hardware But Why Go?
  • 22. The Basics of Project Flogo ➢ At its core, flogo is an event-driven framework ➢ The intent is for the event sources (Triggers) and Actions to be pluggable contributions ➢ The Web-UI uses the FlowAction
  • 23. The Basics of Project Flogo Image from https://www.youtube.com/watch?v=r7lMGPM3u9E
  • 24. Event Stream Kafka Triggers: Kafka, REST, MQTT, etc… Triggers Trigger Listens to events for a particular source (ex. HTTP on port 8080, a MQTT server) Handler ➢ Associate events with actions ➢ Is configured to dispatch based on settings (ex. HTTP: Method and path, MQTT : topic)
  • 25. ➢ Basically an “action” to perform on receiving the event ➢ Can be simple go code which implements the Action interface ➢ Contributed Actions, such as the FlowAction used by our UI Event Stream Kafka Triggers: Kafka, REST, MQTT, etc… Flow Golang Package Actions Actions
  • 26. Event Stream Kafka Triggers: Kafka, REST, MQTT, etc… Action (Flow) Activity Activities Activity ➢ Similar to Action, but intended to be closer to a simple function call ➢ Can be used as a way to compose an Action like flow does ➢ Activities are connected via ‘links’
  • 27.
  • 28. Low friction web-native UX ➢ Express app logic using rich flows, not just data or request pipelines ➢ Inline data transformations ➢ Built-in web-based debugger ➢ Build for target platform directly from UI ➢ Available on Docker Hub or Flogo.io How To Build an App? We Have a UI
  • 29. ➢ Wraps all common commands for building Flogo applications ➢ Wrapper around go `dep` and `go` cli ➢ Parses DSL for ➢ dependencies ➢ Importing req packages ➢ main.go ➢ embedding app How To Build an App? We Have a CLI
  • 31. I’m a developer, I just want to write code...
  • 32. No UI Shouldn’t require a UI or JSON API driven Must provide a simple API for app composition and execution Reuse concepts Must allow users to use existing triggers, actions and activities Mix with Go Should be easy to invoke custom code in response to a event from a trigger Developer Experience: Flogo-as-a-Lib
  • 33. func main() { app := flogo.NewApp() trg := app.NewTrigger(&rest.RestTrigger{}, map[string]interface{}{"port": 8080}) trg.NewFuncHandler(map[string]interface{}{"method": "GET", "path": "/blah"}, RunActivities) e, err := flogo.NewEngine(app) if err != nil { logger.Error(err) return } engine.RunEngine(e) } func RunActivities(ctx context.Context, inputs map[string]*data.Attribute) (map[string]*data.Attribute, error) { in := map[string]interface{}{"message": "test"} _, err := flogo.EvalActivity(&log.LogActivity{}, in) if err != nil { return nil, err } return nil, nil } Use triggers & function handlers Call activities So We Also Have a Go API!
  • 35. Q & A
  • 36. github.com/TIBCOSoftware/flogo $ docker run -it -p 3303:3303 flogo/flogo-docker eula-accept Building via the CLI $ go get github.com/TIBCOSoftware/flogo-cli Getting Started with Project Flogo