- IBM Bluemix OpenWhisk is a cloud platform that executes code in response to events. It provides a serverless deployment and operations model that hides infrastructural and operational complexity, allowing developers to focus on coding.
- OpenWhisk supports multiple programming languages and custom logic via Docker containers. It provides an open ecosystem to avoid vendor lock-in and accelerate development.
- The presenter demonstrated how OpenWhisk works, its programming model of triggers, actions, and rules, and its architecture. A live demo showed executing a Slack slash command that triggered an OpenWhisk action.
OpenWhisk Deep Dive: the action container modelPhilippe Suter
OpenWhisk supports actions written in JavaScript, Swift, Java and Python. In this talk, we explore the internals of OpenWhisk to learn how these actions are created, stored, and executed. We dive into the (internal) specification that makes supporting such a variety of runtimes feasible, and illustrate it by implementing, as a running example, support for a new language.
This material was first presented at the New York City Cloud Foundry Meetup http://www.meetup.com/nyc-cloud-foundry/events/231908970/
Supporting code is available from the branch https://github.com/psuter/openwhisk/tree/meetup-0721
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
Serverless architectures are one of the hottest trends in cloud computing this year, and for good reason. There are several technical capabilities and business factors coming together to make this approach compelling from both an application development and deployment cost perspective. The new OpenWhisk project provides an open source platform to enable these cloud-native, event-driven applications.
This talk will lay out the technical and business drivers behind the rise of serverless architectures, provide an introduction to the OpenWhisk open source project (and describe how it differs from other services like AWS Lambda), and give a demonstration showing how to start developing with this new cloud computing model using the OpenWhisk implementation available on IBM Bluemix.
Lightning talk and lab presented by IBM Cloud Software Engineer, Andrew Bodine.
The Serverless Paradigm, OpenWhisk and FIWAREAlex Glikson
Outline:
1. Overview of Serverless
2. OpenWhisk – open source ‘Serverless’ platform
3. Challenges of Serverless
4. Serverless and FIWARE
Alex Glikson
Cloud Platforms, IBM Research
Architect, FIWARE Cloud Hosting
OpenWhisk - A platform for cloud native, serverless, event driven appsDaniel Krook
Cloud computing has recently evolved to enable developers to write cloud native applications better, faster, and cheaper using serverless technology.
OpenWhisk provides an open source platform to enable cloud native, serverless, event driven applications.
This presentation lays out the technical and business drivers behind the rise of serverless architectures, and provides an intro to the OpenWhisk open source project.
Presented at Cloud Native Day in Toronto, Canada on August 25, 2016.
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Daniel Krook
IBM keynote at CloudNativeCon / KubeCon in Seattle, Washington on November 8, 2016.
https://cnkc16.sched.org/event/8K4c
New cloud programming models enabled by serverless architectures are emerging, allowing developers to focus more sharply on creating their applications and less on managing their infrastructure. The OpenWhisk project started by IBM provides an open source platform to enable these cloud native, event driven applications.
Daniel Krook, Senior Software Engineer, IBM
OpenWhisk Deep Dive: the action container modelPhilippe Suter
OpenWhisk supports actions written in JavaScript, Swift, Java and Python. In this talk, we explore the internals of OpenWhisk to learn how these actions are created, stored, and executed. We dive into the (internal) specification that makes supporting such a variety of runtimes feasible, and illustrate it by implementing, as a running example, support for a new language.
This material was first presented at the New York City Cloud Foundry Meetup http://www.meetup.com/nyc-cloud-foundry/events/231908970/
Supporting code is available from the branch https://github.com/psuter/openwhisk/tree/meetup-0721
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
Serverless architectures are one of the hottest trends in cloud computing this year, and for good reason. There are several technical capabilities and business factors coming together to make this approach compelling from both an application development and deployment cost perspective. The new OpenWhisk project provides an open source platform to enable these cloud-native, event-driven applications.
This talk will lay out the technical and business drivers behind the rise of serverless architectures, provide an introduction to the OpenWhisk open source project (and describe how it differs from other services like AWS Lambda), and give a demonstration showing how to start developing with this new cloud computing model using the OpenWhisk implementation available on IBM Bluemix.
Lightning talk and lab presented by IBM Cloud Software Engineer, Andrew Bodine.
The Serverless Paradigm, OpenWhisk and FIWAREAlex Glikson
Outline:
1. Overview of Serverless
2. OpenWhisk – open source ‘Serverless’ platform
3. Challenges of Serverless
4. Serverless and FIWARE
Alex Glikson
Cloud Platforms, IBM Research
Architect, FIWARE Cloud Hosting
OpenWhisk - A platform for cloud native, serverless, event driven appsDaniel Krook
Cloud computing has recently evolved to enable developers to write cloud native applications better, faster, and cheaper using serverless technology.
OpenWhisk provides an open source platform to enable cloud native, serverless, event driven applications.
This presentation lays out the technical and business drivers behind the rise of serverless architectures, and provides an intro to the OpenWhisk open source project.
Presented at Cloud Native Day in Toronto, Canada on August 25, 2016.
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Daniel Krook
IBM keynote at CloudNativeCon / KubeCon in Seattle, Washington on November 8, 2016.
https://cnkc16.sched.org/event/8K4c
New cloud programming models enabled by serverless architectures are emerging, allowing developers to focus more sharply on creating their applications and less on managing their infrastructure. The OpenWhisk project started by IBM provides an open source platform to enable these cloud native, event driven applications.
Daniel Krook, Senior Software Engineer, IBM
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
Serverless architectures are one of the hottest trends in cloud computing this year, and for good reason. There are several technical capabilities and business factors coming together to make this approach compelling from both an application development and deployment cost perspective. The new OpenWhisk project provides an open source platform to enable these cloud-native, event-driven applications.
This talk will lay out the technical and business drivers behind the rise of serverless architectures, provide an introduction to the OpenWhisk open source project (and describe how it differs from other services like AWS Lambda), and give a demonstration showing how to start developing with this new cloud computing model using the OpenWhisk implementation available on IBM Bluemix.
Presented on October 12, 2016 at the NYC Bluemix meetup
DevNexus 2015
Docker: containerizing a monolithic app into a microservice-based PaaS
Convert a monolithic application into a microservice-based PaaS using Docker and related, containerization technologies. This will be the third presentation of a series of presentations that began greater than one year ago to evangelize the benefits of Docker. The scope of content spans from a development environment to a hybrid PaaS, and how Containerization is an enabler of architectural choice, innovation, scalability, and polyglot solutions.
The basics of Docker will be examined including repositories, brief discussion about managing and monitoring Docker containers, service discovery, and security. New and emerging technologies will be a constant theme, particularly about microservices, in addition to the ongoing evolution of the market and what the future may bring. Common organizational issues (and tactical solutions) that may impede successful decomposition and migration of legacy monoliths will be discussed, including security, DevOps and refactoring.
Hypothetical architectures will be described for building progressively more robust and complex applications and deployment models. The goal is to highlight the power, flexibility and scalability that containers enable.
Examples will start simple, from a local development environment, that is a simple two container setup that encapsulate a database and application tier. Subsequent discussion will involve progressively more complex and robust deployments that include features such as service discovery, automatic load balancing, and abstractions to simplify linking of containers including service gateways. With the stopping point of a hybrid PaaS.
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...Animesh Singh
When people aren't talking about VMs and containers, they're talking about serverless architecture. Serverless is about no maintenance. It means you are not worried about low-level infrastructural and operational details. An event-driven serverless platform is a great use case for IoT.
In this session at @ThingsExpo, Animesh Singh, an STSM and Lead for IBM Cloud Platform and Infrastructure, detailed how to build a distributed serverless, polyglot, microservices framework using open source technologies like:
OpenWhisk: Open source distributed compute service to execute application logic in response to events
Docker: To run event driven actions 6. Ansible and BOSH: to deploy the serverless platform
MQTT: Messaging protocol for IoT
Node-RED: Tool to wire IoT together
Consul: Tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.
Kafka: A high-throughput distributed messaging system.
StatsD/ELK/Graphite: For statistics, monitoring and logging
Build a cloud native app with OpenWhiskDaniel Krook
IBM OpenWhisk presentation and demo for developerWorks TV on December 14, 2016.
https://developer.ibm.com/tv/build-a-cloud-native-app-with-apache-openwhisk/
New cloud programming models enabled by serverless architectures are emerging, allowing developers to focus more sharply on creating their applications and less on managing their infrastructure. The OpenWhisk project started by IBM provides an open source platform to enable these cloud native, event driven applications.
At this live coding event, Daniel Krook provide an overview of serverless architectures, introduce the OpenWhisk programming model, and then deploy an OpenWhisk application on IBM Bluemix, while you watch, step-by-step.
Daniel Krook, Senior Software Engineer, IBM
Bluemix 로 접근하는 DevOps - Cognitive Cloud ConnectJin Gi Kong
IBM 클라우드 데이터 센터 오픈 행사의 Track 3 Developer session, "Bluemix 로 접근하는 DevOps" 자료입니다.
IBM Bluemix Garage DevOps Method 를 사용하여 DevOps 의 핵심 가치를 설명합니다.
2016/08/25
Serverless architectures built on an open source platformDaniel Krook
IBM keynote at the O'Reilly Software Architecture Conference in New York City on April 5, 2017.
https://conferences.oreilly.com/software-architecture/sa-ny/public/schedule/detail/60432
Daniel Krook explores Apache OpenWhisk on IBM Bluemix, which provides a powerful and flexible environment for deploying cloud-native applications driven by data, message, and API call events.
Daniel Krook, Software Architect, IBM
Making Friendly Microservices by Michele TitlolDocker, Inc.
Small is the new big, and for good reason. The benefits of microservices and service-oriented architecture have been extolled for a number of years, yet many forge ahead without thinking of the impact the users of the services. Consuming on micro services can be enjoyable as long as the developer experience has been crafted as finely as the service itself. But just like with any other product, there isn’t a single kind of consumer. Together we will walk through some typical kinds of consumers, what their needs are, and how we can create a great developer experience using brains and tools like Docker.
Serverless in production (O'Reilly Software Architecture)Yan Cui
AWS Lambda has changed the way we deploy and run software, but the serverless paradigm has created new challenges to old problems: How do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
Yan Cui shares solutions to these challenges, drawing on his experience running Lambda in production and migrating from an existing monolithic architecture.
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsDaniel Krook
Presentation at Functions17 in Toronto, Canada on August 25, 2017.
https://functions.world
Video, code, links: https://github.com/krook/functions17
Apache OpenWhisk on IBM Bluemix provides a powerful and flexible environment for deploying cloud-native applications driven by data, message, and API call events. Daniel Krook explains why serverless architectures are attractive for many emerging cloud workloads and when you should consider OpenWhisk for your next project. Daniel then shows you how to get started with OpenWhisk on IBM Cloud Functions right away, using several samples on GitHub.
Daniel Krook, Software Architect & Developer Advocate, IBM
Presentation on the current state of cloud computing and the role that open source, containers and microservices are playing in the cloud.
Presented to Florida Linux Users Exchange on April 9th, 2015
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: The journey c...OpenWhisk
OpenWhisk is an open-source serverless platform ideally suited to a wide range of scenarios including cognitive, data, IoT, microservices, and mobile workloads. Since we presented OpenWhisk at ServerlessConf London a lot has happened. It has been successfully accepted as an Apache Incubator project and the first production OpenWhisk deployments have happened. From a technical point of view we have added capabilities like a better API Gateway integration and support for web actions, have added integrations with IBM App Connect, IBM Message Hub, and more. During this talk we will discuss our latest additions and illustrate how to benefit by “going” serverless with OpenWhisk by exploring some real-world customer usecases with a focus on how serverless architectures can be exploited in totally different scenarios. Using these usecases we will explain how OpenWhisk works and why it is the ideally platform for these emerging workloads. After the talk we will be looking forward to discussing your own usecases in more detail at our booth.
Materials for the Serverless APIs with Apache OpenWhisk session at OSCON on July 19, 2018
https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/67393
Ever been frustrated with a conference schedule app that freezes up when everyone opens it right after the first day’s keynotes? Ever played a mobile game that was so popular that its backend couldn’t keep up with real-time multiplayer interaction? If you’re an app developer, chances are that you’re looking for a better mobile backend architecture that can effectively match user demand at the exact moment it’s needed while taking advantage of new per-request cost models promised by serverless technologies.
The Apache OpenWhisk project (supported by IBM, Adobe, Red Hat, and others) provides a polyglot, autoscaling environment for deploying cloud-native applications driven by data, message, and REST API call events. Daniel Krook explains why serverless architectures are great for cloud workloads and when to consider OpenWhisk in particular for your next web, mobile, IoT, bot, or analytics project.
ADDO 2020: "The past, present, and future of cloud native API gateways"Daniel Bryant
An API gateway is at the core of how APIs are managed, secured, and presented within any web-based system. Although the technology has been in use for many years, it has not always kept pace with recent developments within the cloud native space, and many engineers are confused about how a cloud native API gateway relates to Kubernetes Ingress or a Service load balancer.
Join this session to learn about:
The evolution of API gateways over the past ten years, and how the original problems they were solving have shifted in relation to cloud native technologies and workflow
Current challenges of using an API gateway within Kubernetes: scaling the developer workflow; and supporting multiple architecture styles and protocols
Strategies for exposing Kubernetes services and APIs at the edge of your system
A brief guide to the (potential) future of cloud native API gateways
ContainerDays NYC 2016: "OpenWhisk: A Serverless Computing Platform" (Rodric ...DynamicInfraDays
Slides from Rodric Rabbah & Philippe Suter's talk "OpenWhisk: A Serverless Computing Platform" at ContainerDays NYC 2016: dynamicinfradays.org/events/2016-nyc/programme.html#openwhisk
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
Serverless architectures are one of the hottest trends in cloud computing this year, and for good reason. There are several technical capabilities and business factors coming together to make this approach compelling from both an application development and deployment cost perspective. The new OpenWhisk project provides an open source platform to enable these cloud-native, event-driven applications.
This talk will lay out the technical and business drivers behind the rise of serverless architectures, provide an introduction to the OpenWhisk open source project (and describe how it differs from other services like AWS Lambda), and give a demonstration showing how to start developing with this new cloud computing model using the OpenWhisk implementation available on IBM Bluemix.
Presented on October 12, 2016 at the NYC Bluemix meetup
DevNexus 2015
Docker: containerizing a monolithic app into a microservice-based PaaS
Convert a monolithic application into a microservice-based PaaS using Docker and related, containerization technologies. This will be the third presentation of a series of presentations that began greater than one year ago to evangelize the benefits of Docker. The scope of content spans from a development environment to a hybrid PaaS, and how Containerization is an enabler of architectural choice, innovation, scalability, and polyglot solutions.
The basics of Docker will be examined including repositories, brief discussion about managing and monitoring Docker containers, service discovery, and security. New and emerging technologies will be a constant theme, particularly about microservices, in addition to the ongoing evolution of the market and what the future may bring. Common organizational issues (and tactical solutions) that may impede successful decomposition and migration of legacy monoliths will be discussed, including security, DevOps and refactoring.
Hypothetical architectures will be described for building progressively more robust and complex applications and deployment models. The goal is to highlight the power, flexibility and scalability that containers enable.
Examples will start simple, from a local development environment, that is a simple two container setup that encapsulate a database and application tier. Subsequent discussion will involve progressively more complex and robust deployments that include features such as service discovery, automatic load balancing, and abstractions to simplify linking of containers including service gateways. With the stopping point of a hybrid PaaS.
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...Animesh Singh
When people aren't talking about VMs and containers, they're talking about serverless architecture. Serverless is about no maintenance. It means you are not worried about low-level infrastructural and operational details. An event-driven serverless platform is a great use case for IoT.
In this session at @ThingsExpo, Animesh Singh, an STSM and Lead for IBM Cloud Platform and Infrastructure, detailed how to build a distributed serverless, polyglot, microservices framework using open source technologies like:
OpenWhisk: Open source distributed compute service to execute application logic in response to events
Docker: To run event driven actions 6. Ansible and BOSH: to deploy the serverless platform
MQTT: Messaging protocol for IoT
Node-RED: Tool to wire IoT together
Consul: Tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.
Kafka: A high-throughput distributed messaging system.
StatsD/ELK/Graphite: For statistics, monitoring and logging
Build a cloud native app with OpenWhiskDaniel Krook
IBM OpenWhisk presentation and demo for developerWorks TV on December 14, 2016.
https://developer.ibm.com/tv/build-a-cloud-native-app-with-apache-openwhisk/
New cloud programming models enabled by serverless architectures are emerging, allowing developers to focus more sharply on creating their applications and less on managing their infrastructure. The OpenWhisk project started by IBM provides an open source platform to enable these cloud native, event driven applications.
At this live coding event, Daniel Krook provide an overview of serverless architectures, introduce the OpenWhisk programming model, and then deploy an OpenWhisk application on IBM Bluemix, while you watch, step-by-step.
Daniel Krook, Senior Software Engineer, IBM
Bluemix 로 접근하는 DevOps - Cognitive Cloud ConnectJin Gi Kong
IBM 클라우드 데이터 센터 오픈 행사의 Track 3 Developer session, "Bluemix 로 접근하는 DevOps" 자료입니다.
IBM Bluemix Garage DevOps Method 를 사용하여 DevOps 의 핵심 가치를 설명합니다.
2016/08/25
Serverless architectures built on an open source platformDaniel Krook
IBM keynote at the O'Reilly Software Architecture Conference in New York City on April 5, 2017.
https://conferences.oreilly.com/software-architecture/sa-ny/public/schedule/detail/60432
Daniel Krook explores Apache OpenWhisk on IBM Bluemix, which provides a powerful and flexible environment for deploying cloud-native applications driven by data, message, and API call events.
Daniel Krook, Software Architect, IBM
Making Friendly Microservices by Michele TitlolDocker, Inc.
Small is the new big, and for good reason. The benefits of microservices and service-oriented architecture have been extolled for a number of years, yet many forge ahead without thinking of the impact the users of the services. Consuming on micro services can be enjoyable as long as the developer experience has been crafted as finely as the service itself. But just like with any other product, there isn’t a single kind of consumer. Together we will walk through some typical kinds of consumers, what their needs are, and how we can create a great developer experience using brains and tools like Docker.
Serverless in production (O'Reilly Software Architecture)Yan Cui
AWS Lambda has changed the way we deploy and run software, but the serverless paradigm has created new challenges to old problems: How do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
Yan Cui shares solutions to these challenges, drawing on his experience running Lambda in production and migrating from an existing monolithic architecture.
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsDaniel Krook
Presentation at Functions17 in Toronto, Canada on August 25, 2017.
https://functions.world
Video, code, links: https://github.com/krook/functions17
Apache OpenWhisk on IBM Bluemix provides a powerful and flexible environment for deploying cloud-native applications driven by data, message, and API call events. Daniel Krook explains why serverless architectures are attractive for many emerging cloud workloads and when you should consider OpenWhisk for your next project. Daniel then shows you how to get started with OpenWhisk on IBM Cloud Functions right away, using several samples on GitHub.
Daniel Krook, Software Architect & Developer Advocate, IBM
Presentation on the current state of cloud computing and the role that open source, containers and microservices are playing in the cloud.
Presented to Florida Linux Users Exchange on April 9th, 2015
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: The journey c...OpenWhisk
OpenWhisk is an open-source serverless platform ideally suited to a wide range of scenarios including cognitive, data, IoT, microservices, and mobile workloads. Since we presented OpenWhisk at ServerlessConf London a lot has happened. It has been successfully accepted as an Apache Incubator project and the first production OpenWhisk deployments have happened. From a technical point of view we have added capabilities like a better API Gateway integration and support for web actions, have added integrations with IBM App Connect, IBM Message Hub, and more. During this talk we will discuss our latest additions and illustrate how to benefit by “going” serverless with OpenWhisk by exploring some real-world customer usecases with a focus on how serverless architectures can be exploited in totally different scenarios. Using these usecases we will explain how OpenWhisk works and why it is the ideally platform for these emerging workloads. After the talk we will be looking forward to discussing your own usecases in more detail at our booth.
Materials for the Serverless APIs with Apache OpenWhisk session at OSCON on July 19, 2018
https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/67393
Ever been frustrated with a conference schedule app that freezes up when everyone opens it right after the first day’s keynotes? Ever played a mobile game that was so popular that its backend couldn’t keep up with real-time multiplayer interaction? If you’re an app developer, chances are that you’re looking for a better mobile backend architecture that can effectively match user demand at the exact moment it’s needed while taking advantage of new per-request cost models promised by serverless technologies.
The Apache OpenWhisk project (supported by IBM, Adobe, Red Hat, and others) provides a polyglot, autoscaling environment for deploying cloud-native applications driven by data, message, and REST API call events. Daniel Krook explains why serverless architectures are great for cloud workloads and when to consider OpenWhisk in particular for your next web, mobile, IoT, bot, or analytics project.
ADDO 2020: "The past, present, and future of cloud native API gateways"Daniel Bryant
An API gateway is at the core of how APIs are managed, secured, and presented within any web-based system. Although the technology has been in use for many years, it has not always kept pace with recent developments within the cloud native space, and many engineers are confused about how a cloud native API gateway relates to Kubernetes Ingress or a Service load balancer.
Join this session to learn about:
The evolution of API gateways over the past ten years, and how the original problems they were solving have shifted in relation to cloud native technologies and workflow
Current challenges of using an API gateway within Kubernetes: scaling the developer workflow; and supporting multiple architecture styles and protocols
Strategies for exposing Kubernetes services and APIs at the edge of your system
A brief guide to the (potential) future of cloud native API gateways
ContainerDays NYC 2016: "OpenWhisk: A Serverless Computing Platform" (Rodric ...DynamicInfraDays
Slides from Rodric Rabbah & Philippe Suter's talk "OpenWhisk: A Serverless Computing Platform" at ContainerDays NYC 2016: dynamicinfradays.org/events/2016-nyc/programme.html#openwhisk
Node.js and How JavaScript is Changing Server Programming Tom Croucher
Node.js is a highly concurrent JavaScript server written on top of the V8 JavaScript runtime. This is awesome for a number of reasons. Firstly Node.js has re-architected some of the core module of V8 to create a server implementation that is non-blocking (similar to other event driven frameworks like Ruby’s Event Machine or Python’s Twisted). Event driven architectures are a natural fit for JavaScript developers because it’s already how the browser works. By using an event driven framework Node is not only intuitive to use but also highly scalable. Tests have shown Node instances running tens of thousands of simultaneous users.
This session will explore the architectural basics of Node.js and how it’s different from blocking server implementations such as PHP, Rail or Java Servlets. We’ll explore some basic examples of creating a simple server, dealing with HTTP requests, etc.
The bigger question is once we have this awesome programming environment, what do we do with it? Node already has a really vibrant collection of modules which provide a range of functionality. Demystifying what’s available is pretty important to actually getting stuff done with Node. Since Node itself is very low level, lot’s of things people expect in web servers aren’t automatically there (for example, request routing). In order to help ease people into using Node this session will look at a range of the best modules for Node.js.
AWS Lambda and Serverless framework: lessons learned while building a serverl...Luciano Mammino
Planet9energy.com is a new electricity company that is building a sophisticated analytics and energy trading platform for the UK market. Since the earliest days of the company we took the unconventional decision to go serverless and finally we are building the product on top of AWS Lambda and the Serverless framework using Node.js. In this talk we will discuss why we took this radical decision, what are the pros and cons of this approach and what are the main issues we faced as a tech team in our design and development experience. We will discuss how normal things like testing and deployment need to be re-thought to work on a serverless fashion but also the benefits of (almost) infinite auto-scalability and the piece of mind of not having to manage hundreds of servers. Finally we will underline how Node.js seems to fit naturally in this scenario and how it makes developing serverless applications extremely convenient.
Thanks to Padraig O'Brien and Luciano Mammino for speaking this month.
Speakers Bio:
Padraig O'Brien
Podge @Podgeypoos79 is a software engineer for over 15 years, most of that was spent developing in .NET and SQL Server, designing and building large scale data intensive applications. Lately he has shifted towards open source technologies and is spending most of his time learning Node.js, Scala and cool data tech like Spark, Cassandra. He is also working on a “super-secret” project called UnicornDB, don’t tell anybody!
In his spare time he helps out with organising some meetups like NodeSchool Dublin, NodeSchool Dun Laoghaire and teaching Kanban via Agile Lean Ireland.
Luciano Mammino
Luciano @loige is a Software Engineer born in 1987, the same year that the Nintendo released “Super Mario Bros” in Europe, which, “by chance” is his favourite game! His primary passion is code and he is extremely fascinated by the web, smart apps and everything that's creative like music, art and design. He started coding at the age of 12 using his father's old i386 provided only with DOS and the qBasic interpreter.He is a senior software developer at Planet9Energy in Dublin and he loves JavaScript (React/Node.js). He is also the co-author of "Node.js design patterns" 2nd edition (Packt, http://amzn.to/1ZF279B).
Hosted by Intercom, sponsored by Nearform and organised by Node.js Dublin (https://www.meetup.com/Dublin-Node-js-Meetup/events/236870576/)
How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...Michael Elder
In this session, we will discuss how to incorporate Docker into your Continious Delivery pipeline. We will highlight challenges that enterprises can encounter when adopting Docker, including image management, promotion and configuration management. We will discuss how Docker applications or components can compliment existing traditional IT architectures, and will perform a live demonstration of the Docker/IBM UrbanCode capabilities to deploy Docker containers into local Docker Runtimes, or to IBM Container Services on Bluemix.
The Bluemix Triple Threat: Cloud Foundry, Containers and Virtual Machines IBM Bluemix is pushing the envelope on what is possible with cloud computing. From its Platform-as-a-Service Cloud Foundry implementation to its Infrastructure-as-a-Service OpenStack implementation to its Docker-based container solution to its 100+ services, Bluemix is revolutionizing application development and deployment on the cloud. Come and see how easy it is to build a hybrid, composite application that takes advantage of Instant runtimes, containers and virtual machines....and now, OpenWhisk!
This talk, a case study in application deployment models, was given at IBM InterConnect 2017 in Las Vegas, NV on March 21, 2017 by Lin Sun & Phil Estes of IBM Cloud.
In this talk, Lin & Phil provided a background of IBM Bluemix compute offerings across Cloud Foundry, Containers + Kubernetes, and FaaS/serverless via OpenWhisk and then used a demo application to describe the tradeoffs between using the various deployment models and technology. The application is open source and available at https://github.com/estesp/flightassist
IBM Connections Cloud Application Development StrategyLuis Benitez
This session will help you get started building your social applications. IBM Connections Cloud S1 provides easy to access integrated email with IBM Verse, social business capabilities and third party applications. It also provides a solid foundation for social and mail application development through APIs. This session guides users through the application development process for IBM Connections Cloud, from a blank page to a functional application. Attend this session to learn how to use existing services in your own applications and how to deploy to IBM Bluemix. Bluemix developers who haven't used IBM Connections can use a new Bluemix service to get started using these services within minutes.
IBM Message Hub is a new Bluemix service based on Apache Kafka for messaging in the cloud. It's ideal for linking together microservices to build a scalable, flexible application in the cloud. It's great for feeding data at speed into other services such as analytics. You can also use it to bridge securely from your enterprise MQ systems into the cloud.
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Michael Elder
This presentation describes how we see client architectures evolving from traditional IT, to cloud-enabled, to cloud native, with bridges in between. It explains how IBM UrbanCode Deploy enables clients to capture full-stack blueprints for their workloads in a way that is cloud-portable. It will highlight new capabilities in VMWare vCenter, IBM SoftLayer, Amazon Web Services and Microsoft Azure. Attendees will also see a live demonstration of end-to-end deployment during the talk.
My presentation for our Benelux IBM Rational Innovate event. This presentation explains how the IBM Bluemix and devops as a service solution can be used for modern cloud based development.
Everything you need to know about creating, managing and debugging Java applications on IBM Bluemix. This presentation covers the features the IBM WebSphere Application Server Liberty Buildpack provides to make Java development on the cloud easier. It also covers the Eclipse tooling support including remote debugging, incremental update, etc.
Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)Michael Elder
The landmark partnership between Apple and IBM announced in 2014 set the Internet abuzz. This partnership aims to spark true, mobile-led business change across the enterprise. In this talk, we’ll show you how IBM is using OpenStack, Heat, and DevOps to deploy the MobileFirst Platform for iOS enterprise solutions. We willl tell the story of how we used full-stack application patterns based on OpenStack Heat to provision environments with speed and reliability.
[IBM Pulse 2014] #1579 DevOps Technical Strategy and RoadmapDaniel Berg
Hey everyone. Here is the presentation that I had the pleasure of presenting the following deck with Maciej Zawadzki and Ruth Willenborg describing IBM's technical strategy and roadmap.
Enjoy!!!
Introduction to IBM Cloud Private - April 2018Michael Elder
The following deck provides a general introduction to the business value, technical architecture, and available content for IBM Cloud Private. IBM Cloud Private offers a fully-supported distribution of Kubernetes and Cloud Foundry along with a rich catalog of content including Images, Helm Charts, Open Service Brokers, and Terraform templates.
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOpsRob Convery
Are you new to IBM Integration Bus? Do you want to know how to configure, administer and monitor your nodes? Do you want to make it easier on yourself when deploying your message flow applications across multiple servers? Would you like to keep a record of all of the messages which flow through your applications? Would you like to know how you can configure a Continuous Integration and Deployment pipeline for you IIB integrations? If so come along and find out about how to administer and monitor your IBM Integration Bus environment.
The presentation will first cover the basics of administering and monitoring your Integration Nodes. Looking at the available commands and their options, as well as the most recent V10 improvements, including enhancements to the product runtime, covering the extended webui, policy, Integration Toolkit, command line, and programmatic front-ends.
Using the basics learnt initially, this session will then take a look at how you build a Continuous Integration pipeline using technologies such as git, Ant & Jenkins to programmatically configure your Nodes, create, build and test your integrations, and then deploy them to production.
IBM Interconnect 2016
To address a diverse set of needs coming from many quadrants (IoT, Shadow IT, SaaS adoption, etc.), IBM recognizes that the integration market must take a revolutionary step to get ahead of the needs of our customers. Enter the "Hybrid Integration Platform,” IBM's vision to evolve into the next generation of highly-productive integration offerings. In this session, we describe how IBM's Hybrid Integration Platform draws together the capabilities of its constituent parts—IBM AppConnect, Cast Iron, IBM Integration Bus, API Management and Bluemix—into a cohesive set of integration capabilities to enable digital transformation for the enterprise. This is a technical session focusing on architecture and technical details.
At the heart of traditional Continuous Delivery is the deployment pipeline. A build is generated, promoted through several testing environments and if it passes tests and is aligns with business needs is deployed to Production. This model struggles to account for complex systems where releases involve numerous inter-related builds and/or components that don't fit neatly into the model of "builds" such as incremental content migrations, configuration changes, database schema updates, or report / ETL migrations. This presentation examines the limitations of the build promotion model, architectural approaches for adapting applications to that model, and deployment approaches that realign the release pipeline around the migration of value, rather than the migration of builds.
Watch the Webinar
http://www.urbancode.com/html/resources/webinars/Adapting_Deployment_Pipelines_to_Complex_Applications.html/
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
2. Please Note:
2
• IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole
discretion.
• Information regarding potential future products is intended to outline our general product direction and it should not be relied on in
making a purchasing decision.
• The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any
material, code or functionality. Information about potential future products may not be incorporated into any contract.
• The development, release, and timing of any future features or functionality described for our products remains at our sole
discretion.
• Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual
throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the
amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
3. Agenda
• OpenWhisk in a nutshell
• What OpenWhisk is and how it works
• Usage scenarios
• OpenWhisk programming model
• OpenWhisk architecture
• Live demo
• Summary & Questions
3
4. OpenWhisk in a nutshell
Cloud platform to execute code in response to events
5. Whisk in a nutshell
Serverless deployment & operations model
We hide infrastructural and operational complexity allowing you to focus on coding:
You provide code – we execute it! – FaaS = Function as a Service
Optimal utilization, fair pricing at any scale
We provide you exactly the resources you need – neither less nor more - and charge
you only for code really being executed
Flexible programming model & powerful tooling
We support multiple languages (incl. Swift) and custom logic via docker containers, plus
tools to declaratively chain your code snippets
Open & open ecosysten
Open to run anywhere to avoid any kind of vendor lock-in and to accelerate the
development of a powerful ecosystem
6. Execute app logic in response to data triggers
Execute app logic in response to sensed data (IoT)
Execute app logic in response to cognitive trends
Execute app logic in response to scheduled tasks
Provide easy server-side backend for mobile app
Typical Scenarios
7. OpenWhisk: Another way to build apps…
BYOC: Bring Your Own Code
Ease of getting started Full stack Control
OpenWhisk
Event-driven apps
deployed in a
serverless
environment
Instant
Runtimes
App-centric
runtimes
based on
Cloud Foundry
IBM Containers
Portable delivery
of your app
without having to
manage an OS
Virtual Machines
Most flexibility
and control
with VMs
8. Meet Dave & his team
Dave is lead architect of an online photo community and marketplace
– Operate a platform to
– share and photos
– edit and categorize photos via manual tagging
8
9. Meet Dave & his team
To be competitive, Dave‘s team need to continously add innovative features
– Idea: Provide a mobile app that allows to automatically sharpen, noise-
reduce and semantically tag photos being uploaded
9
10. Design requirements
Dave & his team want to focus on developing value-adding code
instead of low-level infrastructural & operational details
11. OpenWhisk solution
Flexible programming environment
Open ecosystem of building blocks
Outsource computing tasks to the cloud
No servers to manage or maintain
Automatic scaling with load
Built-in fault tolerance
Pay as you go
12. Some usage Scenarios
OpenWhisk can help power
various mobile, web and IoT app
usecases by simplifying the
programming model of
orchestrating various services
using events without a dedicated
backend.
Digital app workloads Big Data/Analytics pipeline
Complex data pipeline for Big
Data/Analytics tasks can be scripted
using changes in data services or
streams for near real-time analytics
and feedback.
DevOps & infrastructure as code
OpenWhisk can be used to
automate DevOps pipeline based
on events triggered from
successful builds or completed
staging or a go-live event.
Micro-Services builder
Whisk can be used to easily build
micro-services given the footprint
and programming model desired by
micro services
13. OpenWhisk: How does it work?
Incoming HTTP request, e.g.
HTTP GET
coolapp.com/customers
11
Invoke OpenWhisk
action getCustomers
Browser
Mobile App
Web App
Variety of
languages
Variety of
languages
22
JS Swift Docker …
OpenWhisk
14. OpenWhisk: How does it work?
Event
Providers
Cloudant
Git
Weather
…
Trigger execution of associated
OpenWhisk action
22
…
JS Swift Docker …
Data event occurs, e.g. commit on a Git
repository, CRUD operation on Cloudant
11
OpenWhisk
15. Programming model
Services define the events they emit as triggers, and developers
associate the actions to handle the events via rules
TT AA RR
20. Programming model
Actions: Can be chained to create sequences to increase flexibility and
foster reuse
AA
AA
AA := A1
A1 + A2
A2 + A3
A3
AB
AB := A2
A2 + A1
A1 + A3
A3
AC
AC := A3
A3 + A1
A1 + A2
A2
22. Programming model
Packages: A shared collection of triggers and actionsPP
AA
AA read
write
TT changes AA translate AA forecast
AA post
TT topic
Open
Source AA myAction
TT myFeed
Yours
TT commit
Third
Party
23. OpenWhisk Core – System Architecture
23
Edge
Proxy
Log
Forwarder
UI
Consul
Registrator
Log Forwarder
EntitlementController
E
Registrator
Log Forwarder
Invoker
Master
30. Summary
• OpenWhisk…
– allows you to focus on developing value-adding code
– provides you with a flexible programming model for small agile teams
– provides you with access to an open ecosystem of building blocks
– allows you to compose powerful solutions using modern abstraction
and chaining
– allows you to share and reuse what you have build
– allows you to outsource load & calculation intensive tasks
– only charges you for what you really use
– is available as open solution in which you can participate
31. Summary
• What else have we seen & learnt?
– Actions are executed, blocking or non-blocking, in response to events
– Actions can be in Node, Swift, or even Docker containers to execute
custom logic… and there is more to come
– Actions can even be chained to compose powerful solutions
– Out of the box support for event sources such as Cloudant and Github
as well as scheduled actions
– Tooling comprised of CLI, REST API, and iOS SDK
• What have we not seen? Complexity!
34. Notices and Disclaimers Con’t.
34
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not
tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other
intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,
FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,
PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,
StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business
Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
37. OpenWhisk: Comparison to traditional
models
• OpenWhisk
– Introduces event programming model
– Charges only for what is used
– Auto-scales Pool of actions
Swift DockerJS
Trigger
11
Running
action
Running
action
Running
action
33
Deploy action within millisecs,
run it,
free up resources
OpenWhisk
Engine
22
Today I’m going to present an overview of OpenWhisk, discuss what it is, how can you use it, present the programming model it introduces and if the demo gods approve, I’ll conclude with a live demo of an integration of Slack and OpenWhisk.
How many of you have heard of serverless computing? How many of you think they run a function in a serverless platform?
OpenWhisk is a cloud platform that allows users to execute code in response to events. It really is an event-based distributed system.
From the user’s point of view, the deployment of the code is serverless. That doesn’t mean that there are no servers, it means that the user doesn’t have to worry about that. All the user has to do is to provide a function and specify the event that should trigger the execution of the function. From that point of view, I find severless confusing, so I much prefer the “FaaS” name
So today we’ll try to understand what’s the fuss about FaaS
One of the most important characteristics of such a model of computation is that autoscaling comes for free. The system is responsible with allocating resources on behalf of the user to run the code in response to the demand load. In addition, the pricing follows a “pay-as-you-go” model, which means that the user pays for the amount of time the code executed. This is unlike traditional cloud computation where you have to pay for as long as the server is up and running, irrespective of whether there is load or not, so you pay even when your server is sitting idle.
Such FaaS platforms offer a flexible programming model as they support multiple languages and ways to compose the code in sophisticated patterns.
In addition, something that is unique to OpenWhisk is that the project is open-source. This is great as it avoids vendor-lockin and it also leverages the power of the community.
FaaS platforms ca be used in many scenarios. As I mentioned, these systems are event-based systems, so one of the most important aspect is the source of events. You can imagine writing applications that react to events from database events, IoT devices, financial trends or any other analytics-based trends. You can even schedule periodic tasks. Last but not least, OpenWhisk can be used to move the backend logic of mobile apps out of the mobile device. As we support Swift, mobile developers can do this migration gradually, and working in the same ecosystem.
How does OpenWhisk fit in the Bluemix line of services? OpenWhisk is one of the Compute options offered by Bluemix. At one end of the spectrum, you can use VMs which offers full control over the computational stack. You can also use containers as the unit of deployment. There is also the option of deploying instant runtimes. OpenWhisk is really the easiest and lowest entry-point, where the unit of deployment is really a function.
Let’s think from the perspective of a small startup. Meet Dave and his team. They’re all working on a photo community and marketplace and they operate a platform to show off your photos and edit and tag photos.
To stay competitive, Dave and his team need to come up with features that make their products appealing and easy to use. In this context, they come up with the idea of providing a mobile app that allows users to quickly apply some standard filters, upload the photos and automatically tag them given their content.
Dave would really like to focus on the core app logic instead of thinking of launching servers, maintaining and managing them. So Dave is looking into serverless platforms, specially OpenWhisk.
Let’s stop and think what an OpenWhisk solution really means. Each component of the app can be written in a different language, the best language for the task at hand. Some of the building blocks can be used directly as off-the-shelf functions either offered in the OpenWhisk catalog or in the opensource community. The computational tasks are outsourced to the cloud, which makes the mobile app more energy-efficient and it won’t drain your battery when using it. Plus, there are no servers to worry about, the scaling of the app is done automatically depending to the current demand. And fault-tolerance comes for free, while you’re paying only for resources you’re using. Sounds like a great solution!
As you can probably guess at this point, there are various scenarios that fit the OW model of programming. OW can power your IoT application or any mobile application. You can use OW to coordinate tasks in a big data/analytics pipeline. You can even automate certain DevOps tasks using events and actions. In general, any application that is deployed following a microservices-based architecture, in which microservices can be individually developed and deployed can be moved to a FaaS platform by moving the microservices to a function-based model of execution.
So, how does OW work? Each function that is submitted to the system gets associated with a rest endpoint, so you can invoke a function directly by performing an http request. Such a request can be emitted by a mobile device, a browser, a web app.
Alternatively, the system allows to configure events to trigger the invocation of an OW action. For example, an update to a Cloudant database can trigger the invocation of an action/function. Or every time someone commits something to a Git repository, an action gets executed.
Let’s talk in a bit more detail about the programming model. There are three main entities in OW: triggers, actions and rules.
A trigger is associated with a class of events that can happen. We’ve seen some examples before: updates to databases, twets, messages, IoT signals, etc.
Functions in OW are called Actions and they represent the code that runs in response to events. You can think of functions as event handlers.
A very simple hello world example is on this slide, written in JS. We support several languages in OW, such as JS, Python, Java and Swift.
In addition, you can package any application written in your favorite language in a docker image, and as long as it follows a certain api, our system can run that too. So you’re only limited by your imagination
Actions can be chained and executed in a sequence, such that you can reuse pieces of code and combine them according to the needs of your application.
Rules are associations between triggers and actions. Given the right set of rules you can have same trigger triggering multiple actions or the same action being triggered by multiple events.
Finally, actions and triggers can be bundled up in packages that can be shared using the OW catalog. You can decide access control features at the package level. Also packages have parameters that can be bound to default values and sent to each action in the package.
I’d like to briefly show a simplified version of how the OpenWhisk guts look like. We have an edge machine that received incoming requests either to a proxy from the cli or from the UI. These requests are forwarded to the master mind in OW, which is the controller. The controller is responsible with ensuring the user is a valid OW user and has the right to perform the requested operation. This is done using a separate service, called the entitlement service. In addition, the controller is responsible with dispatching the actions to be executed to the execution engines. There are several such slaves. Each of them contains a component called the invoker which is responsible with managing resources for in-flight actions. There are several optimizations that the invoker applies to make sure the activation time (the time between an event triggering and the start of the execution of the user code) is as low as possible. But this is an entirely different talk in its own right.
Are there any questions now? If not, I’d like to show a simple demo. This demo integrates a slack slash command with whisk.