Serverless apps can be developed using OpenWhisk, an open source serverless platform. OpenWhisk allows code to execute in response to events, using triggers, actions, and rules. It provides polyglot support and scales dynamically. The document demonstrates how to create a timer triggered action and a Slack bot using OpenWhisk. It also provides an overview of OpenWhisk's architecture and implementation.
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications. Although serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a serverless world. In this talk, we’ll apply the “Twelve-Factor” model to serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks
Alfonso described how Weave open source projects (Weave Net and Weave Scope) can help with networking, visualization, and control for ECS. Specifically, Weave acts as a key communicator for networking containers with its multi-host overlay and additional features (including automatic DNS service discovery and multicast).
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications. Although serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a serverless world. In this talk, we’ll apply the “Twelve-Factor” model to serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks
Alfonso described how Weave open source projects (Weave Net and Weave Scope) can help with networking, visualization, and control for ECS. Specifically, Weave acts as a key communicator for networking containers with its multi-host overlay and additional features (including automatic DNS service discovery and multicast).
Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017Amazon Web Services
What to expect:
- Review continuous integration, delivery, and deployment
- Using Docker images, Amazon ECS, and Amazon ECR for CI/CD
- Deployment strategies with Amazon ECS
- Building Docker container images with AWS CodeBuild
- Orchestrating deployment pipelines with AWS CodePipeline
Introduction to AWS Serverless. In these slides we introduce AWS Serverless, we define what is serverless, we explore Amazon services which can be used to create serverless flows like Lambda, SQS, SNS, Api Gateway, DynamoDB and finally we use Terraform to deploy a serverless API in AWS.
Open stack ocata summit enabling aws lambda-like functionality with openstac...Shaun Murakami
Presentation delivered at the OpenStack summit Barcelona 2016.
https://www.openstack.org/videos/video/enabling-aws-s3-lambda-like-functionality-with-openstack-swift-and-openwhisk
Does the concept of server-less architecture intrigue you? OpenWhisk (https://git.io/vKeu3) accelerates innovation through creative chaining of microservices into highly scalable applications. By abstracting away infrastructure, OpenWhisk frees small teams to rapidly work on independent pieces of code simultaneously, keeping development focused solely on creating essential business logic. OpenWhisk allows you to create rules to connect events with actions and compose microservices that get executed independently and in parallel.
With a bit of code, you can have OpenWhisk process events from your Swift Object Storage; similar to what you can do with Lambda functions and AWS S3 storage. As an example, we will demonstrate how you can create an OpenWhisk action to transform an image into a thumbnail whenever a new (larger) image is uploaded into a Swift Container.
Using Rancher and Docker with RightScale at Industrie IT RightScale
Many early Docker users are also now looking at clustering solutions such as Rancher. Industrie IT is using Docker, Rancher, and RightScale to help clients build digital applications using continuous integration (CI) and continuous delivery (CD) practices.
We built event-driven user interfaces for decades. What about bringing the same approach to mobile, web, and IoT backend applications? You have to understand how data flows and what is the propagation of changes, using reactive programming techniques. You can focus on the core functionalities to build and the relationships among the resources you use. Your application behaves similarly to a “spreadsheet”, where depending resources are updated automatically when something “happens”, and is decomposed into scalable microservices without having to manage the infrastructure. The resulting architecture is efficient and cost effective to run on AWS and managing availability, scalability and security becomes part of the implementation itself.
Serverless frameworks are changing the way we do computing. In open source container world, Kubernetes is playing a pivotal role in manifesting this. This presentation will go deep into various features of Kubernetes to create serverless functions.
Also includes a comparative study of various serverless frameworks such as Kubeless, Fission and Funktion are available in open source world. Will conclude with an implementation demo and some real world use cases.
Presented in serverless summit 2017: www.inserverless.com
Ed Seymour
Containerisation Lead – Red Hat
Ed has over 20 years experience working in software development and IT automation. With a career that started with a small software start-up, working efficiently and with agility was a necessity, and through his experience working at a global IT services company, gained valuable experience in promoting and effecting organisational change, adoption of agile methods, and automation of the software development life-cycle. At Red Hat, Ed’s role has focused on enabling customers as they embrace new organisational behaviours and structures, for example DevOps, and developing new IT services through adoption of emerging technologies, such as Cloud Management, OpenStack; Ed specialises in solutions based on containers through Docker, Kubernetes and OpenShift.
One of the core principles behind the design of Amazon ECS is the separation of the scheduling logic from the state management. This allows you to use the Amazon ECS schedulers, write your own schedulers, or integrate with third party schedulers.
In this session we will explore the advanced cluster management capabilities of Amazon ECS and dive deep into the Amazon ECS Service Scheduler, which supports long-running applications by monitoring container health, restarting failed containers, and load balancing across containers. We will explain how you can communicate with the Amazon ECS API in order to integrate your own custom schedulers. We will then walk through how we built an Apache Mesos scheduler driver that enables you to integrate Mesos scheduling frameworks to work with Amazon ECS without requiring a Mesos cluster. We will also demo using Marathon to schedule Docker containers on an Amazon ECS cluster.
AWS DevDay San Francisco, June 21, 2016.
Presenter: Dan Gerdesmeier, Sr. Software Development Engineer
TurboCharge Your Continuous Delivery Pipeline with Containers - Pop-up LoftAmazon Web Services
It worked on my machine!" How many times have you heard (or even said) this sentence? Keeping consistent environments across your development, test, and production systems can be a complex task. Enter containers! Containers offer a way to develop and test your application in the same environment in which it runs in production. Developers can use tools such as Docker Compose for local testing of complex applications; Jenkins and AWS CodePipeline for building and orchestration; and Amazon ECS to manage and scale their containers. Come to this session to learn how to build containers into your continuous deployment workflow, accelerating the testing and building phases and leading to more frequent software releases. Attendees will learn to use Docker containers to develop their applications and test locally with Docker Compose (or Amazon ECS local), integrate containers in building, deploy complex applications on Amazon ECS, and orchestrate continuous development workflows with CodePipeline.
CloudFoundry is a mature and production-ready opensource Platform-as-a-Service. That can serve as standard app deployment and hosting platform for enterprise. This talk will focus around CloudFoundry capabilities as private-PaaS
(DVO306) AWS CodeDeploy: Automating Your Software DeploymentsAmazon Web Services
So you’ve written some code. Now what? How do you make it available to your customers in an efficient and reliable manner? Learn how you can use AWS CodeDeploy to easily and quickly push your application updates. This talk will introduce you to the basics of CodeDeploy: key concepts, how it works, where it fits in your release process, and some deployment strategies to get you started on the right foot. We’ll walk through several demos, going from a basic sample deployment to a live update of a large multi-instance fleet, giving you a sense for how CodeDeploy can grow with your needs.
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
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.
Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017Amazon Web Services
What to expect:
- Review continuous integration, delivery, and deployment
- Using Docker images, Amazon ECS, and Amazon ECR for CI/CD
- Deployment strategies with Amazon ECS
- Building Docker container images with AWS CodeBuild
- Orchestrating deployment pipelines with AWS CodePipeline
Introduction to AWS Serverless. In these slides we introduce AWS Serverless, we define what is serverless, we explore Amazon services which can be used to create serverless flows like Lambda, SQS, SNS, Api Gateway, DynamoDB and finally we use Terraform to deploy a serverless API in AWS.
Open stack ocata summit enabling aws lambda-like functionality with openstac...Shaun Murakami
Presentation delivered at the OpenStack summit Barcelona 2016.
https://www.openstack.org/videos/video/enabling-aws-s3-lambda-like-functionality-with-openstack-swift-and-openwhisk
Does the concept of server-less architecture intrigue you? OpenWhisk (https://git.io/vKeu3) accelerates innovation through creative chaining of microservices into highly scalable applications. By abstracting away infrastructure, OpenWhisk frees small teams to rapidly work on independent pieces of code simultaneously, keeping development focused solely on creating essential business logic. OpenWhisk allows you to create rules to connect events with actions and compose microservices that get executed independently and in parallel.
With a bit of code, you can have OpenWhisk process events from your Swift Object Storage; similar to what you can do with Lambda functions and AWS S3 storage. As an example, we will demonstrate how you can create an OpenWhisk action to transform an image into a thumbnail whenever a new (larger) image is uploaded into a Swift Container.
Using Rancher and Docker with RightScale at Industrie IT RightScale
Many early Docker users are also now looking at clustering solutions such as Rancher. Industrie IT is using Docker, Rancher, and RightScale to help clients build digital applications using continuous integration (CI) and continuous delivery (CD) practices.
We built event-driven user interfaces for decades. What about bringing the same approach to mobile, web, and IoT backend applications? You have to understand how data flows and what is the propagation of changes, using reactive programming techniques. You can focus on the core functionalities to build and the relationships among the resources you use. Your application behaves similarly to a “spreadsheet”, where depending resources are updated automatically when something “happens”, and is decomposed into scalable microservices without having to manage the infrastructure. The resulting architecture is efficient and cost effective to run on AWS and managing availability, scalability and security becomes part of the implementation itself.
Serverless frameworks are changing the way we do computing. In open source container world, Kubernetes is playing a pivotal role in manifesting this. This presentation will go deep into various features of Kubernetes to create serverless functions.
Also includes a comparative study of various serverless frameworks such as Kubeless, Fission and Funktion are available in open source world. Will conclude with an implementation demo and some real world use cases.
Presented in serverless summit 2017: www.inserverless.com
Ed Seymour
Containerisation Lead – Red Hat
Ed has over 20 years experience working in software development and IT automation. With a career that started with a small software start-up, working efficiently and with agility was a necessity, and through his experience working at a global IT services company, gained valuable experience in promoting and effecting organisational change, adoption of agile methods, and automation of the software development life-cycle. At Red Hat, Ed’s role has focused on enabling customers as they embrace new organisational behaviours and structures, for example DevOps, and developing new IT services through adoption of emerging technologies, such as Cloud Management, OpenStack; Ed specialises in solutions based on containers through Docker, Kubernetes and OpenShift.
One of the core principles behind the design of Amazon ECS is the separation of the scheduling logic from the state management. This allows you to use the Amazon ECS schedulers, write your own schedulers, or integrate with third party schedulers.
In this session we will explore the advanced cluster management capabilities of Amazon ECS and dive deep into the Amazon ECS Service Scheduler, which supports long-running applications by monitoring container health, restarting failed containers, and load balancing across containers. We will explain how you can communicate with the Amazon ECS API in order to integrate your own custom schedulers. We will then walk through how we built an Apache Mesos scheduler driver that enables you to integrate Mesos scheduling frameworks to work with Amazon ECS without requiring a Mesos cluster. We will also demo using Marathon to schedule Docker containers on an Amazon ECS cluster.
AWS DevDay San Francisco, June 21, 2016.
Presenter: Dan Gerdesmeier, Sr. Software Development Engineer
TurboCharge Your Continuous Delivery Pipeline with Containers - Pop-up LoftAmazon Web Services
It worked on my machine!" How many times have you heard (or even said) this sentence? Keeping consistent environments across your development, test, and production systems can be a complex task. Enter containers! Containers offer a way to develop and test your application in the same environment in which it runs in production. Developers can use tools such as Docker Compose for local testing of complex applications; Jenkins and AWS CodePipeline for building and orchestration; and Amazon ECS to manage and scale their containers. Come to this session to learn how to build containers into your continuous deployment workflow, accelerating the testing and building phases and leading to more frequent software releases. Attendees will learn to use Docker containers to develop their applications and test locally with Docker Compose (or Amazon ECS local), integrate containers in building, deploy complex applications on Amazon ECS, and orchestrate continuous development workflows with CodePipeline.
CloudFoundry is a mature and production-ready opensource Platform-as-a-Service. That can serve as standard app deployment and hosting platform for enterprise. This talk will focus around CloudFoundry capabilities as private-PaaS
(DVO306) AWS CodeDeploy: Automating Your Software DeploymentsAmazon Web Services
So you’ve written some code. Now what? How do you make it available to your customers in an efficient and reliable manner? Learn how you can use AWS CodeDeploy to easily and quickly push your application updates. This talk will introduce you to the basics of CodeDeploy: key concepts, how it works, where it fits in your release process, and some deployment strategies to get you started on the right foot. We’ll walk through several demos, going from a basic sample deployment to a live update of a large multi-instance fleet, giving you a sense for how CodeDeploy can grow with your needs.
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
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.
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
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
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...ServerlessConf
More than one year ago our team has, as a joint effort between research and development, started investigating the field of event-driven & serverless computing to propagate a model relieving users from the need to worry about complex infrastructural & operational aspects in order to allow them to focus on quickly developing value-adding code, especially by radically simplifying developing microservice-oriented solutions that decompose complex applications into small and independent modules that can be easily exchanged. Serverless computing does not refer to a specific technology. Nevertheless some promising solutions, such as OpenWhisk, have recently emerged. Hence, OpenWhisk is one player in this new field. It is a cloud-first distributed event-based programming service and represents an event-action platform that allows you to execute code in response to an event. It provides you with the previously mentioned serverless deployment and operations model, with a fair pricing model at any scale that provides you with exactly the resources – not more not less – you need and only charges you for code really running. It offers a flexible programming model. incl. support for languages like NodeJS and Swift and even for the execution of custom logic via docker containers. This allows small agile teams to reuse existing skills and to develop in a fit-for-purpose fashion. It also provides you with tools to declaratively chain together the building blocks you have developed. It is open and can run anywhere to avoid and kind of vendor lock-in. During this presentation, Michael Behrendt and Andreas Nauerz will talk about their journey through the world of serverless computing, the core concepts, the key value proposition and differentiators, typical usage scenarios, and the underlying programming model of serverless computing in general and OpenWhisk in particular and conclude their session with some basic demos.
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.
Slides used in April Bluemix Meetup for RTP See http://www.meetup.com/rtpbluemix/events/229767420/ for details of the specific meetup or http://www.meetup.com/rtpbluemix/ if you wish to join future ones
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
Building serverless applications with Apache OpenWhiskDaniel Krook
IBM presentation at the O'Reilly Open Source Convention in Austin, Texas on May 10, 2017.
https://conferences.oreilly.com/oscon/oscon-tx/public/schedule/detail/61295
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 Bluemix right away, using several samples on GitHub.
Daniel Krook, Software Architect, IBM
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingMark Hinkle
And while the Hitchhiker’s Guide to the Galaxy (HHGTTG) is a wholly remarkable book it doesn’t cover the nuances of cloud computing. Whether you want to build a public, private or hybrid cloud there are free and open source tools that can help provide you a complete solution or help augment your existing Amazon or other hosted cloud solution. That’s why you need the Hitchhiker’s Guide to (Open Source) Cloud Computing (HHGTCC) or at least to attend this talk understand the current state of open source cloud computing. This talk will cover infrastructure-as-a-service, platform-as-a-service and developments in big data and how to more effectively deploy and manage open source flavors of these technologies. Specific the guide will cover:
Infrastructure-as-a-Service – The Systems Cloud – Get a comparison of the open source cloud platforms including OpenStack, Apache CloudStack, Eucalyptus and OpenNebula
Platform-as-a-Service – The Developers Cloud – Learn about the tools that abstract the complexity for developers and used to build portable auto-scaling applications ton CloudFoundry, OpenShift, Stackato and more.
Data-as-a-Service – The Analytics Cloud – Want to figure out the who, what, where, when and why of big data? You’ll get an overview of open source NoSQL databases and technologies like MapReduce to help parallelize data mining tasks and crunch massive data sets in the cloud.
Network-as-a-Service – The Network Cloud – The final pillar for truly fungible network infrastructure is network virtualization. We will give an overview of software-defined networking including OpenStack Quantum, Nicira, open Vswitch and others.
Finally this talk will provide an overview of the tools that can help you really take advantage of the cloud. Do you want to auto-scale to serve millions of web pages and scale back down as demand fluctuates. Are you interested in automating the total lifecycle of cloud computing environments You’ll learn how to combine these tools into tool chains to provide continuous deployment systems that will help you become agile and spend more time improving your IT rather than simply maintaining it.
[Finally, for those of you that are Douglas Adams fans please accept the deepest apologies for bad analogies to the HHGTTG.]
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.
As DevOps practices have been put into wide use, it's become evident that developers and operations aren't merging to become one discipline. Nor is operations simply going away. Rather, DevOps is leading software development and operations - together with other practices such as security - to collaborate and coexist with less overhead and conflict than in the past.
In his session at @DevOpsSummit at 19th Cloud Expo, Gordon Haff, Red Hat Technology Evangelist, will discuss what modern operational practices look like in a world in which applications are more loosely coupled, are developed using DevOps approaches, and are deployed on software-defined, and often containerized, infrastructures - and where operations itself is increasingly another "as a service" capability from the perspective of developers.
How does the operations tool chest change? How does the required skill set differ? How are the interactions between operations and other IT and business organizations different from in the past? How can operations provide the confidence to the entire organization that this new pipeline is still delivering non-functional requirements such as regulatory compliance and a secure and certified operating environment? How does operations safely consume vendor and upstream dependencies while meeting developer desires for the latest and greatest?
Operations is more important than ever for a business to derive value from its IT organization. But the roles and the goals of operations are significantly different than they were historically.
An introduction to the open source project that empowers modern workflows to build, deploy and manage the lifecycle of containers. You will learn what OpenShift is, what are its use cases, and more about all the fuss around Cloud computing, microservices, DevOps and whatnot.
Eclipse OMR: a modern, open-source toolkit for building language runtimesDev_Events
Daryl Maier, Compiler Development Performance, IBM
Cloud, @0xdaryl
Java runtime technology has benefited from hundreds
of person years of development investment over the
last 20 years, resulting in a highly capable, high
performance and scalable dynamic language with a
vibrant developer ecosystem. The recently created OMR incubator project at Eclipse
(https://github.com/eclipse/omr) aims to expand access to high quality runtime technology for other
dynamic languages through an ongoing effort to restructure the core components of the J9 Java Virtual
Machine. Rather than building new languages on top of Java, however, this project aims to unlock the
inner workings of the JVM without imposing Java semantics to create a platform for building highly
capable language runtimes. This talk will introduce developers to the Eclipse OMR project: what it is, the
runtime technology that has been contributed so far, promising projects that leverage this technology,
active areas of development, and how developers can get involved.
Eclipse MicroProfile: Accelerating the adoption of Java MicroservicesDev_Events
Emily Jiang, WebSphere Application Server, CDI Development Lead, IBM Cloud @emilyfhjiang
While there are likely a dozen or more Java-based microservice / cloud native initiatives in the industry,
Eclipse MicroProfile provides a platform for Java developers to collaborate and innovate on areas of
common interest. This BOF will give a short overview of MicroProfile and how it plans to optimize
microservices for Enterprise Java, followed by a short Q&A to answer any clarifying questions, and the
remainder of the time spent on collaborating to prioritize features for the next release.
While MicroProfile's first release is founded in Java EE (CDI + JSON-P + JAX-RS), it is not intended to
remain a subset of Java EE 7 (or 8). The intent is to collaborate and innovate as a community in the
context of a microservices architecture across the 5 (and growing) MicroProfile implementations today.
The end goal of MicroProfile is to feed the Java Community Process (JCP) with JSR submissions backed
by well-thought-out concepts and even implementations that developers and enterprises can rely on.
Come collaborate with your fellow MicroProfilers to move Enterprise Java microservices forward.
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...Dev_Events
Rama Akkiraju, Distinguished Engineer, Master Inventor, IBM Watson User Technologies
IBM Watson and Cloud Platform
We have entered a new period of computing history — a cognitive era. For decades, science fiction visionaries have shared their renditions of intelligent machines and computers that could learn and function as humans. Intelligent machines have moved beyond the lore of science fiction; today, they are a reality thanks to breakthroughs in AI and machine learning. So how will this impact and change the apps that we build and how we leverage new and existing data?
In this interactive session, we’ll explore those questions and:
• Discuss where AI currently is and where the technology is going
• Show how pioneering apps and developers around the world are already using it
• Provide access to sample code and applications which you and your teams can use to understand and explore cognitive computing for yourself
Introduction to Blockchain and HyperledgerDev_Events
Nitesh Thakrar, IT Software Architect,
IBM @niteshpthakrar and Benjamin Fuentes, Software
Architect and Developer, IBM, @benji_fuentes
This workshop will be in 3 stages:
1. A brief presentation on Blockchain and why
Hyperledger
2. A demo use case to explain the architecture and the code behind the demo
3. Finally, the attendees will create their own blockchain application on the cloud. The hands-on
will also invite them to use the appropriate APIs and event update a smart contract.Majority of
the time will be in doing the hands-on (step 3) so that the attendees are able to continue
developing their application after the event.Requirements: Attendees will need to bring their
laptops and be able to connect to wifi.
Using GPUs to Achieve Massive Parallelism in Java 8Dev_Events
Adam Roberts, IBM Spark Team Lead – Runtimes, IBM Cloud
Graphic processing units (GPUs) are not limited to traditional scene rendering tasks. They can play a
huge role in accelerating applications that have a large number of parallelizable tasks.
Learn how Java can exploit the power of GPUs to optimize high-performance enterprise and technical
computing applications such as big data and analytics workloads, through both explicit GPU
programming and letting the Java JIT compiler transparently off-load work to the GPU.
This presentation covers the principles and considerations for GPU programming from Java and looks at
the software stack and developer tools available. After this talk you will be ready to extract the full
power of GPUs from your own application. We will present a demo showing GPU acceleration and
discuss what is coming in the future.
Lean and Easy IoT Applications with OSGi and Eclipse ConciergeDev_Events
Jan Rellemeyer, Research Staff Member, IBM Research, @rellermeyer
Modularization of software is key to handling the inherent complexity of distributed applications like for
the Internet of Things (IoT) and provide a flexible environment to evolve applications and manage their
deployment effectively. OSGi is a popular framework for dynamic modules for the Java language. Eclipse
Concierge provides a clean, small and lightweight implementation of the OSGi core framework
specification, specifically tailored to embedded systems and IoT.
Eclipse JDT Embraces Java 9 – An Insider’s ViewDev_Events
Manoj Palat, IBM Cloud and Sasikanth Bharadwaj, Developer, Eclipse JDT Core
Eclipse Java Development Tooling or JDT has its own Java compiler at its core, aptly called the JDT Core
consisting of the Java compiler and various tools including java model, search infrastructure, content
assist, Abstract Syntax Tree Tools etc. Java 9 is the latest entry in the Java world bringing along-with it a
“module” of changes – so to speak. Any change in the language standards affects JDT directly. While
some of the earlier language specification changes affected only the compiler, Java 9, in contrast, has a
direct impact on user who uses Eclipse IDE for creating and managing Java Projects. Java 9 introduces
the concept of “Modules” which affects JDT from the compiler level to the project dependency layer
affecting a normal user. Support for this feature will be dealt with, in detail, in this talk.
Sam Roberts, Team Lead, StrongLoop and API Connect, IBM @octetcloud and Michael Dawson, Software
Developer, IBM @mhdawson1
You’ll have some captive Node.js/V8 collaborators, and you can ask them anything! Confused about the
LTS plans, wondering what is happening in the Node workgroups, want to know what is really going to
happen with Webworkers, what’s the future of Promises in Node.js? Wondering how to debug your
production failures? Ask us anything, and we’ll try and answer!
Robert Dickerson, Software Developer, IBM-Swift, @rfdickerson
Of course its allowed - just matters how you do it. In this part of the workshop we’ll start with
serverless: 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 and now part of Apache provides an open source
platform to enable these cloud native, event-driven applications. In this talk, we will provide an
overview of serverless architectures, introduce the OpenWhisk programming model, and then show
how to deploy an OpenWhisk application on IBM Bluemix OpenWhisk.
Then we’ll get Swift! It’s not only a language you turn to to build your iOS application, but it can also be
the language you can use to build your backend. This part of the workshop will use a text-based
adventure game called "GameOn" as an example for building a Server-side Swift App.
Topics include:
• How to create a web service using the IBM Kitura web framework • How to integrate the Watson SDK
for Swift into your application • How to dockerize your Swift application and deploy it to Bluemix
Being serverless and Swift... Is that allowed? Dev_Events
Animesh Singh, STSM - IBM Cloud Platform, @AnimeshSingh
Of course its allowed - just matters how you do it. In this part of the workshop we’ll start with
serverless: 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 and now part of Apache provides an open source
platform to enable these cloud native, event-driven applications. In this talk, we will provide an
overview of serverless architectures, introduce the OpenWhisk programming model, and then show
how to deploy an OpenWhisk application on IBM Bluemix OpenWhisk.
Then we’ll get Swift! It’s not only a language you turn to to build your iOS application, but it can also be
the language you can use to build your backend. This part of the workshop will use a text-based
adventure game called "GameOn" as an example for building a Server-side Swift App.
Topics include:
• How to create a web service using the IBM Kitura web framework • How to integrate the Watson SDK
for Swift into your application • How to dockerize your Swift application and deploy it to Bluemix
Secrets of building a debuggable runtime: Learn how language implementors sol...Dev_Events
Bjørn Vårdal, J9VM Software Developer, IBM, @bvaardal
New language runtimes appear all the time, but most of them die young. Failure can be attributed to
different reasons, but an important factor is that lack of support can limit the community’s and
industry’s willingness to adopt the new language.
Quicker development and improved serviceability allows emerging languages to overcome this obstacle.
By building on the proven technology available in Eclipse OMR, language developers can get more than
performance and stability; you also get tools that help you quickly debug your language runtime,
allowing you to provide competitive serviceability.
From this presentation, you will learn how to enable Eclipse OMR’s mature debugging features in your
language runtime, and also how Eclipse OMR can assist with development and debugging
Tools in Action: Transforming everyday objects with the power of deeplearning...Dev_Events
Marek Sadowski, Developer Advocate, IBM, @blumareks
With cognitive computing, we are now able to interact with everyday objects in ways that were deemed
impossible. In this session, we will demonstrate the power of cognitive Internet of Things and the Cloud
platform to securely connect and manage devices, analyze data, and apply cognitive services to add
human-like interaction.
Leveraging cognitive services for sentiment, tone, and visual analysis invoked from IoT/robotics
platforms and Voice UI interface we will show how you can quickly and securely turn a simple idea into
reality by transforming a regular robot vacuum into a cognitive-enabled smart device.
Servers are killing your productivity. Rather than building better software for your users, you end up constantly distracted by maintaining computers. Wasn't the "cloud" supposed to fix this? It sounded so promising until we realized it was just renting VMs in someone else's datacenter. We couldn't escape "servers". Until now...
In this session, developers will learn how to build microservices without servers, using modern “serverless” cloud platforms. We’ll look at common challenges (and solutions) to building applications using “serverless” stacks. Exploring emerging “serverless” design patterns will give developers the knowledge to build application architectures using these new platforms.
Presented by Jonathan Kaufman, Developer Advocate for IBM Emerging Technology currently residing in Cambridge, MA.
Create and Manage APIs with API Connect, Swagger and BluemixDev_Events
Presented by - Raghavan “Rags” Srinivas, Architect, IBM
Enabling other developers and organizations to use your APIs through their own applications and services provides a compelling system for innovation and monetization. The Swagger spec (v2.0), recently donated to the Open API Initiative (OAI), is part of an open source project for better creation and documentation of APIs. Companies are empowering developers via these initiatives to leverage the data and build apps around it. This hands-on session helps you get started with creating APIs for consumption by developers in a well-documented, secure, and easy-to-manage form.
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.
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.
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.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
2. @DanielKrookOpenWhisk.org
What you will learn today
• How cloud has evolved to enable developers to write cloud native
applications better, faster, and cheaper using serverless
technology.
• How OpenWhisk provides an open source platform to enable
cloud native, serverless, event driven applications.
• How to get started developing with OpenWhisk on Bluemix, or find
out more about the underlying open source serverless platform.
4. @DanielKrookOpenWhisk.org
Cloud evolution means developers can write apps better, faster, and cheaper
Bare
metal
Virtual
machines
Containers
Functions
Decreasing concern (and control) over stack implementation
Increasingfocusonbusinesslogic
5. @DanielKrookOpenWhisk.org
Newer workloads are a better fit for event driven programming
Execute app logic in response to database triggers
Execute app logic in response to sensor data
Execute app logic in response to cognitive trends
Execute app logic in response to scheduled tasks
Provide easy server-side backend for mobile app
6. @DanielKrookOpenWhisk.org
Problem: It’s expensive to scale microservices
Explosion in number of
containers / processes:
1. Increase of infrastructure
cost footprint
2. Increase of operational
management cost and
complexity
Region BRegion A
Break-down into microservices
Make each micro service HA
Protect against regional outages
Monolithic application
7. @DanielKrookOpenWhisk.org
Serverless can handle many cloud native app 12 Factors
I Codebase Handled by developer (Manage versioning of functions on their own)
II Dependencies Handled by developer, facilitated by serverless platform (Runtimes and packages)
III Config Handled by platform (Environment variables or injected event parameters)
IV Backing services Handled by platform (Connection information injected as event parameters)
V Build, release, run Handled by platform (Deployed resources are immutable and internally versioned)
VI Processes Handled by platform (Single stateless containers often used)
VII Port binding Handled by platform (Actions or functions are automatically discovered)
VIII Concurrency Handled by platform (Process model is hidden and scales in response to demand)
IX Disposability Handled by platform (Lifecycle is hidden from the user, fast startup and elastic scale is prioritized)
X Dev/prod parity Handled by developer (The developer is the deployer. Scope of what differs is narrower)
XI Logs Handled by platform (Developer writes to console.log, platform handles log streaming)
XII Admin processes Handled by developer (No distinction between one off processes and long running)
8. @DanielKrookOpenWhisk.org
Problem: Programming and pricing models aren’t ideal
Continuous polling needed in the absence
of an event driven programming model
Charged for resources, even when idle
Worries persist about capacity management
Swift
Application
Container VMCF
2
Polling
1b
Request
1a
9. @DanielKrookOpenWhisk.org
Cost model offers a better match between app and resources
Applications charged by compute
time (millisecond) rather than
reserved memory (GB/hour).
While many applications must still be deployed in a daemon
model, serverless provides an alternative that can mean
substantial cost savings for a variety of event driven workloads.
Greater linkage between cloud
resources used and business
operations executed.
10. @DanielKrookOpenWhisk.org
Technological and business factors make serverless compelling
Serverless platforms and frameworks are gaining traction
Cost models getting more granular and efficient
Growth of event driven workloads that need automated scale
Platforms evolving to facilitate cloud native design for developers
13. @DanielKrookOpenWhisk.org
OpenWhisk is different than other hosted services
Serverless deployment and operations model
Optimized utilization, fine grained metering at any scale
Flexible programming model with powerful tooling
Open source and open ecosystem (moving to Apache)
Ability to run in public, private, and hybrid models
OpenWhisk
14. @DanielKrookOpenWhisk.org
OpenWhisk supports many growing workloads
OpenWhisk can help power
various mobile, web and IoT app
use cases by simplifying the
programming model of
orchestrating various services
using events without a dedicated
backend.
Digital app workloads Big Data/Analytics pipeline
Complex data pipelines for Big
Data/Analytics tasks can be scripted
using changes in data services or
streams for near real-time analytics
and feedback.
DevOps and infrastructure as code
OpenWhisk can be used to
automate DevOps pipelines
based on events triggered from
successful builds, or completed
staging, or a go-live event.
Microservices builder
OpenWhisk can be used to easily
build microservices given the
footprint and programming model
desired by microservices
19. @DanielKrookOpenWhisk.org
Actions
Can be written in a variety of languages, such as
JavaScript, Python, Java, and Swift
A
function main(params) {
return { message: 'Hello, ' + params.name + ' from ' + params.place };
};
28. @DanielKrookOpenWhisk.org
OpenWhisk enables event driven applications
Event
Providers
Cloudant
GitHub
Weather
…
Which triggers execution of
associated OpenWhisk action
2
Slack
JS Swift Docker …
An event occurs, for example
• Commit pushed to GitHub repository
• Data changed in Cloudant
1
OpenWhisk
29. @DanielKrookOpenWhisk.org
OpenWhisk can implement REST microservices
Send HTTP request
HTTP GET
app.com/customers
1
Invoke OpenWhisk
action get-customers
Browser
Mobile App
Web App
2
JS Swift Docker …
OpenWhisk
API
Proxy
31. @DanielKrookOpenWhisk.org
Demo 2: Create a Slack bot
bit.ly/ow-demo-2
GET /register
POST /command
POST /event
Register
action
Event
action
Command
action
2
OpenWhisk
Engine
1
AAA
API
Proxy
Register
the bot
Respond
to direct
messages
Respond
to slash
commands
33. @DanielKrookOpenWhisk.org
OpenWhisk design principles
1. Provide an open interface for event providers
2. Offer polyglot support and simple extensibility for new runtimes
3. Support higher level constructs as appropriate (e.g. action sequences)
4. Scale dynamically on a per request basis
5. Enable sharing of actions and event providers
6. Leverage best of breed open source software (Docker, Kafka, Consul, …)
7. Use the Apache 2 License
34. OpenWhisk.org @DanielKrook
OpenWhisk under the hood: A deeper look
bit.ly/ow-int
1. Entering the system: nginx
2. Really entering the system: Controller
3. Authentication and Authorization: CouchDB
4. Getting the action: CouchDB… again
5. Who’s there to invoke the action: Consul
6. Please form a line: Kafka
7. Actually invoking the code already: Invoker
8. Storing the results: Yes… CouchDB again
36. @DanielKrookOpenWhisk.org
What you learned today
• We’re in the early days of an evolution that is empowering
developers to write cloud native applications better, faster, and
cheaper
• OpenWhisk provides an open source platform to enable cloud
native, serverless, event driven applications
• Bluemix provides a hosted instance of OpenWhisk that you can
use to get started (and offers integration with a catalog of
services)
Good afternoon. I’m Daniel Krook, a Senior Software Engineer in the IBM Cloud organization.
Today I’m going to tell you about OpenWhisk, a new open source project from IBM for building the next generation of cloud native applications.
My goals today are to explain how a new approach is enabling developers to write cloud native applications better, faster, and cheaper using serverless technology.
I’ll then give you an introduction to OpenWhisk and show you some examples of how it provides that environment for developers.
What the audience will learn
How cloud computing has evolved to empower developers to write cloud native applications better, faster, and cheaper using serverless technology. Cloud native applications should be written with the 12 factors in mind. However, serverless computing means that they can get some of those principles for free, while focusing instead on business logic rather than operational concerns. The audience will learn how OpenWhisk provides a serverless fabric and framework for creating cutting edge cloud native applications for a variety of workloads.
We’re in the early days of an evolution that is empowering developers to write cloud native applications better, faster, and cheaper
OpenWhisk provides an open source platform to enable cloud native, event driven, serverless applications
Over the past ten years we’ve seen a steady improvement how fast developers can create and deploy applications to production.
Starting with the moment that service providers matched virtualized resources with self service APIs, speed has been accelerating.
Recently we’ve seen the shift from IaaS to PaaS, where developers concern themselves only with their apps and data.
And now, we’ve seen the rise of Functions as a Service programming.
Thoughout this shift the developer has narrowed his focus purely on business value, and lost site of more and more operational concerns, hence the term serverless.
Another trend driving new models of cloud native application development has been the trend towards less web application focused services as cloud computing matches more and more types of workloads.
With them come a need for event driven programming models.
In this transition to cloud native application development, the management of decomposed containerized applications has brought new operational concerns.
Beyond those deployment problems, this new model improves cloud native development as it promises to address many if not most of the good design patterns provided in the 12 Factors.
In fact, what is not directly related to code is now covered by serverless platforms like OpenWhisk.
The cost model for cloud computing has always been a draw, but there is room for the reduction of waste.
Serverless billing models promises an even closer match between business value gained and computing resources used.
So, to summarize these technology improvements and solutions combined an efficient pricing model are driving interest in severless, event driven computing.
OpenWhisk provides a similar set of functionality to hosted services from Amazon, Google, and Microsoft, but it also adds unique features in a simple to extend polyglot model, open source nature, and ability to be deployed into many types of environments.
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.
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, tweets, 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.
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.
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.
Docker is used to setup a new self-encapsulated environment (called container) for each action that we invoke in a fast, isolated and controlled way. In a nutshell, for each action invocation a Docker container is spawned, the action code gets injected, it gets executed using the parameters passed to it, the result is obtained, the container gets destroyed.
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!
Monitoring, debugging, developer tooling, workflows, and visibility require more work.
Best practices, common message formats, and familiar programming model need to be refined.
Flexibility in open source serverless platforms must be balanced with developer responsibility.