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
This document provides an overview of using Dropwizard, a Java framework for building production-grade RESTful web services, with Groovy. It discusses how Dropwizard combines popular Java libraries and frameworks, highlights some companies using Dropwizard with Groovy successfully, and describes key parts of a Dropwizard application like configurations, resources, representations, metrics, and deployment. The document emphasizes how Dropwizard enables service-oriented architectures and provides advantages like performance, testability, and easy deployment.
Full stack development with node and NoSQL - All Things Open - October 2017Matthew Groves
What is different about this generation of web applications? A solid development approach must consider latency, throughput, and interactivity demanded by users users across mobile devices, web browsers, and IoT. These applications often use NoSQL to support a flexible data model and easy scalability required for modern development.
A full stack application (composed of Couchbase, WebAPI, Angular2, and ASP.NET/ASP.NET Core) will be demonstrated in this session. The individual parts of a stack may vary, but the overall design is the focus.
Single Page App (SPA) frameworks offer many benefits over traditional web apps which do all of their HTML generation on the server side. Popular SPA frameworks include Vue, React and Angular. Micronaut is very well suited for publishing REST APIs and is a terrific fit for implementing backend logic for SPAs.
Building Grails Plugins - Tips And TricksMike Hugo
This document provides an overview of building Grails plugins, including tips and tricks. It discusses creating a plugin project structure, testing plugins, adding configuration, events, and internationalization. It also covers integrating plugins into applications, reloading changes during development, and publishing plugins for others to use.
This document discusses best practices for developing Grails plugins. It covers topics such as plugin structure, extension points, dependency management, customization, testing, scripts, and source control. Plugins add functionality to Grails applications and are distributed modularly. The document provides guidance on plugin design, configuration, overriding components, and ensuring plugins are customizable and testable.
The document summarizes the experience of a Grails startup called Secret Escapes over its first year, including:
- Secret Escapes is a members-only travel site founded in late 2010 that has grown to over 1 million users.
- The initial Grails application included a CMS and storefront across two servers, with a focus on deployability, basic functionality, and third party integration.
- After launching, they continued expanding features like booking options and integrating services like Facebook and Google Analytics.
- They improved development processes around testing, deployment, and team collaboration over the first year.
This document provides an overview of using Dropwizard, a Java framework for building production-grade RESTful web services, with Groovy. It discusses how Dropwizard combines popular Java libraries and frameworks, highlights some companies using Dropwizard with Groovy successfully, and describes key parts of a Dropwizard application like configurations, resources, representations, metrics, and deployment. The document emphasizes how Dropwizard enables service-oriented architectures and provides advantages like performance, testability, and easy deployment.
Full stack development with node and NoSQL - All Things Open - October 2017Matthew Groves
What is different about this generation of web applications? A solid development approach must consider latency, throughput, and interactivity demanded by users users across mobile devices, web browsers, and IoT. These applications often use NoSQL to support a flexible data model and easy scalability required for modern development.
A full stack application (composed of Couchbase, WebAPI, Angular2, and ASP.NET/ASP.NET Core) will be demonstrated in this session. The individual parts of a stack may vary, but the overall design is the focus.
Single Page App (SPA) frameworks offer many benefits over traditional web apps which do all of their HTML generation on the server side. Popular SPA frameworks include Vue, React and Angular. Micronaut is very well suited for publishing REST APIs and is a terrific fit for implementing backend logic for SPAs.
Building Grails Plugins - Tips And TricksMike Hugo
This document provides an overview of building Grails plugins, including tips and tricks. It discusses creating a plugin project structure, testing plugins, adding configuration, events, and internationalization. It also covers integrating plugins into applications, reloading changes during development, and publishing plugins for others to use.
This document discusses best practices for developing Grails plugins. It covers topics such as plugin structure, extension points, dependency management, customization, testing, scripts, and source control. Plugins add functionality to Grails applications and are distributed modularly. The document provides guidance on plugin design, configuration, overriding components, and ensuring plugins are customizable and testable.
The document summarizes the experience of a Grails startup called Secret Escapes over its first year, including:
- Secret Escapes is a members-only travel site founded in late 2010 that has grown to over 1 million users.
- The initial Grails application included a CMS and storefront across two servers, with a focus on deployability, basic functionality, and third party integration.
- After launching, they continued expanding features like booking options and integrating services like Facebook and Google Analytics.
- They improved development processes around testing, deployment, and team collaboration over the first year.
Krzysztof Sobkowiak presented on serverless Java on Kubernetes. Serverless computing refers to building applications without server management by deploying functions that automatically scale in response to demand. Function as a Service (FaaS) platforms like Apache OpenWhisk allow running Java code as stateless functions on Kubernetes. OpenWhisk supports Java actions and integrates with services through triggers and rules to enable event-driven architectures. Spring Cloud Functions provides a framework for building serverless applications using Spring Boot and Java.
DockerCon SF 2015: Scaling New ServicesDocker, Inc.
The document discusses the components of a containerized application deployment system including Docker, Mesos, Marathon, Consul, HAProxy, and Jenkins. Chef is used to configure Mesos, frameworks, HAProxy and Consul. Docker is used for packaging and deploying services. Mesos is the cluster scheduler that manages resources and tasks. Marathon deploys Docker containers on Mesos and handles deployments, health checks, and upgrades. Consul provides distributed key-value storage and configuration for containers. HAProxy load balances all deployed applications using data from Marathon. Jenkins builds, pushes and deploys containers in the system.
Altoros helps companies integrate solutions from Predix and its partners to digitize revenue streams. It offers services like new product development using Predix technologies, migrating applications to Predix, and Predix training. Altoros is also a Gold sponsor of Cloud Foundry Summits and has offices in several cities worldwide.
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsMarcel Birkner
The document discusses using Docker, Ansible and Jenkins for continuous delivery in enterprise environments. It provides examples of using these tools to automate infrastructure provisioning, application deployment and management. It also highlights best practices like automating everything, using Docker for stable and environment independent application containers, and addressing typical challenges in enterprise environments like proxies and security.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.Julian Dunn
This document discusses the differences between orchestration and choreography in configuration management. Orchestration involves a central orchestrator executing ordered operations on independent machines, while choreography involves autonomous actors that make and verify promises to each other to achieve a desired state. The document argues that choreography is preferable because it avoids single points of failure, enables more autonomy between systems, and allows for better coordination across a fleet with less reliance on external real-time state systems.
There are many styles of code review, and it can be tough to find a process that works for your team. Do you use Git, SVN, or something more exotic? Do you prefer pre-commit reviews or pull requests? Do you branch, fork, or do everything with patches? This talk examines the various review options adopted by professional teams. We'll investigate Bitbucket pull requests, Crucible reviews, and Gerrit, discussing the pros and cons of each workflow. Then I'll show you the battle-hardened peer review process - refined over thousands of code reviews and pull requests - that Atlassian teams use to maintain the high quality expected of our products.
Tim Pettersen, Senior Developer Advocate, Atlassian
This presentation starts with an introduction to the rationale behind automated deployments in Continuous Delivery and DevOps. Then, I compare agent-based architectures, such as Chef and Puppet with the agentless architecture of the server orchestration engine Ansible. The presentation concludes with an automated deployment of Dynatrace into a simulated production environment.
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012kennethaliu
The document discusses modularizing a Grails application using private plugins. It covers Grails plugin development basics like creating a new plugin, the plugin descriptor file, excluded files, running and packaging a plugin. It also discusses application architecture with private plugins, including moving common functionality into plugins to avoid forking code.
Docker and Puppet for Continuous IntegrationGiacomo Vacca
Today developers want to change the code, build and deploy often, even several times per day.
New versions of software may need to be tested on different distributions, and with different configurations.
Achieving this with Virtual Machines it’s possible, but it’s very resource and time consuming. Docker provides an incredibly good solution for this, in particular if combined with Continuous Integration tools like Jenkins and Configuration Management tools like Puppet.
This presentation focuses on the opportunities to configure automatically Docker images, use Docker containers as disposable workers during your tests, and even running your Continuous Integration system inside Docker.
Google App Engine (GAE) is a popular PaaS offering. Where its scalable and reliable environment is hidden behind a custom API. This makes GAE apps hard to port over to other non-GAE environments.
But what if one could implement such similar environment? And you could simply move your GAE application’s .war file to this new environment and it would just work?
After all, at the end it’s all about the API, plus scalable and reliable services.
JBoss CapeDwarf project aims at making this a reality. This presentation will provide a glimpse into what it takes to implement something as GAE, ranging from runtime integration with JBoss Application Server, actual services implementation to last but not least, automated heavy testing.
Mukta Aphale presented at ChefConf 2015. She discussed her background transitioning from developer to DevOps architect. She contributed to Chef development and created several Chef knife plugins. Aphale also discussed using Docker and Chef together to automate container management and deployment. She showed how to build a Docker image using Chef recipes and push it to a registry for deployment using Chef push jobs.
Apache Lucene is the de-facto standard open source library for Java developers to implement full-text-search capabilities.
While it’s thriving in its field, it is rarely mentioned in the scope of Java EE development.
In this talk we will see for which features many developers love Lucene, make some concrete examples of common problems it elegantly solves, and see some best practices about using it in a Java EE stack.
Finally we'll see how some popular OSS projects such as Hibernate ORM (JPA provider), WildFly (Java EE runtime) and Infinispan (in-memory datagrid, JCache implementor) actually provide great Lucene integration capabilities.
Performance Testing using Real Browsers with JMeter & WebdriverBlazeMeter
Learn how to easily run performance tests with real browsers using Selenium WebDriver.
Ophir Prusak, BlazeMeter’s Chief Evangelist, gives step-by-step instructions on doing this using BlazeMeter and/or JMeter.
Learn how to:
- Correlate actual browser-based user experience with the load tests
- Run multiple Selenium Webdriver tests in parallel at scale by using the power of the cloud
- Do it all without any prior JMeter knowledge or experience!
Ansible is a popular choice for automating infrastructure provisioning, config management, deployments, etc. Shippable provides a perfect complement with native CI, release management functionality as well as the ability to create event-driven workflows across ansible playbooks and other DevOps tools and activities.
This talk was presented by Shippable's co-founder and VP Product Management Manisha Sahasrabudhe at AnsibleFest 2017.
Building kubectl plugins with Quarkus | DevNation Tech TalkRed Hat Developers
We all know how flexible Kubernetes extensions can be - Tekton and Knative are examples. But did you know it's also pretty easy to extend kubectl, the Kubernetes superstar CLI? In this session we see how a kubectl plugin is designed and then from scratch, we will build our own plugin using Quarkus. That will give us the opportunity to discover the command mode of Quarkus, rediscover how native compilation can create super fast binaries, and see how the Kubernetes-client extensions make it super easy to interact with a Kubernetes cluster.
Apache Accumulo (like all distributed, data stores) provides scalability at the cost of increased complexity. While Accumulo’s algorithms for handling fault tolerance or distributing load across a cluster may always be complex to the average Accumulo user, there are parts of Accumulo that can be simplified and improved to provide a better user experience. It should be easy for users to install and run Accumulo, write a simple Accumulo client, and troubleshoot common issues. This talk will cover how the Accumulo user experience has improved with Accumulo 2.0 and the creation of the Uno and Muchos tools. The talk will end with a discussion of possible future work to make the user experience better.
OpenWhisk Under the Hood -- London Oct 16 2016Stephen Fink
OpenWhisk is a serverless computing platform that allows for running stateless functions in response to events. It uses Docker containers to run functions (actions) that are triggered by events. The OpenWhisk system is built on a distributed architecture using virtual machines to run controller, invoker, and action containers. Functions are run securely and billed based on usage at a fine-grained level. OpenWhisk allows for building event-driven applications through its triggers, rules, and action composition model.
Krzysztof Sobkowiak presented on serverless Java on Kubernetes. Serverless computing refers to building applications without server management by deploying functions that automatically scale in response to demand. Function as a Service (FaaS) platforms like Apache OpenWhisk allow running Java code as stateless functions on Kubernetes. OpenWhisk supports Java actions and integrates with services through triggers and rules to enable event-driven architectures. Spring Cloud Functions provides a framework for building serverless applications using Spring Boot and Java.
DockerCon SF 2015: Scaling New ServicesDocker, Inc.
The document discusses the components of a containerized application deployment system including Docker, Mesos, Marathon, Consul, HAProxy, and Jenkins. Chef is used to configure Mesos, frameworks, HAProxy and Consul. Docker is used for packaging and deploying services. Mesos is the cluster scheduler that manages resources and tasks. Marathon deploys Docker containers on Mesos and handles deployments, health checks, and upgrades. Consul provides distributed key-value storage and configuration for containers. HAProxy load balances all deployed applications using data from Marathon. Jenkins builds, pushes and deploys containers in the system.
Altoros helps companies integrate solutions from Predix and its partners to digitize revenue streams. It offers services like new product development using Predix technologies, migrating applications to Predix, and Predix training. Altoros is also a Gold sponsor of Cloud Foundry Summits and has offices in several cities worldwide.
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsMarcel Birkner
The document discusses using Docker, Ansible and Jenkins for continuous delivery in enterprise environments. It provides examples of using these tools to automate infrastructure provisioning, application deployment and management. It also highlights best practices like automating everything, using Docker for stable and environment independent application containers, and addressing typical challenges in enterprise environments like proxies and security.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.Julian Dunn
This document discusses the differences between orchestration and choreography in configuration management. Orchestration involves a central orchestrator executing ordered operations on independent machines, while choreography involves autonomous actors that make and verify promises to each other to achieve a desired state. The document argues that choreography is preferable because it avoids single points of failure, enables more autonomy between systems, and allows for better coordination across a fleet with less reliance on external real-time state systems.
There are many styles of code review, and it can be tough to find a process that works for your team. Do you use Git, SVN, or something more exotic? Do you prefer pre-commit reviews or pull requests? Do you branch, fork, or do everything with patches? This talk examines the various review options adopted by professional teams. We'll investigate Bitbucket pull requests, Crucible reviews, and Gerrit, discussing the pros and cons of each workflow. Then I'll show you the battle-hardened peer review process - refined over thousands of code reviews and pull requests - that Atlassian teams use to maintain the high quality expected of our products.
Tim Pettersen, Senior Developer Advocate, Atlassian
This presentation starts with an introduction to the rationale behind automated deployments in Continuous Delivery and DevOps. Then, I compare agent-based architectures, such as Chef and Puppet with the agentless architecture of the server orchestration engine Ansible. The presentation concludes with an automated deployment of Dynatrace into a simulated production environment.
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012kennethaliu
The document discusses modularizing a Grails application using private plugins. It covers Grails plugin development basics like creating a new plugin, the plugin descriptor file, excluded files, running and packaging a plugin. It also discusses application architecture with private plugins, including moving common functionality into plugins to avoid forking code.
Docker and Puppet for Continuous IntegrationGiacomo Vacca
Today developers want to change the code, build and deploy often, even several times per day.
New versions of software may need to be tested on different distributions, and with different configurations.
Achieving this with Virtual Machines it’s possible, but it’s very resource and time consuming. Docker provides an incredibly good solution for this, in particular if combined with Continuous Integration tools like Jenkins and Configuration Management tools like Puppet.
This presentation focuses on the opportunities to configure automatically Docker images, use Docker containers as disposable workers during your tests, and even running your Continuous Integration system inside Docker.
Google App Engine (GAE) is a popular PaaS offering. Where its scalable and reliable environment is hidden behind a custom API. This makes GAE apps hard to port over to other non-GAE environments.
But what if one could implement such similar environment? And you could simply move your GAE application’s .war file to this new environment and it would just work?
After all, at the end it’s all about the API, plus scalable and reliable services.
JBoss CapeDwarf project aims at making this a reality. This presentation will provide a glimpse into what it takes to implement something as GAE, ranging from runtime integration with JBoss Application Server, actual services implementation to last but not least, automated heavy testing.
Mukta Aphale presented at ChefConf 2015. She discussed her background transitioning from developer to DevOps architect. She contributed to Chef development and created several Chef knife plugins. Aphale also discussed using Docker and Chef together to automate container management and deployment. She showed how to build a Docker image using Chef recipes and push it to a registry for deployment using Chef push jobs.
Apache Lucene is the de-facto standard open source library for Java developers to implement full-text-search capabilities.
While it’s thriving in its field, it is rarely mentioned in the scope of Java EE development.
In this talk we will see for which features many developers love Lucene, make some concrete examples of common problems it elegantly solves, and see some best practices about using it in a Java EE stack.
Finally we'll see how some popular OSS projects such as Hibernate ORM (JPA provider), WildFly (Java EE runtime) and Infinispan (in-memory datagrid, JCache implementor) actually provide great Lucene integration capabilities.
Performance Testing using Real Browsers with JMeter & WebdriverBlazeMeter
Learn how to easily run performance tests with real browsers using Selenium WebDriver.
Ophir Prusak, BlazeMeter’s Chief Evangelist, gives step-by-step instructions on doing this using BlazeMeter and/or JMeter.
Learn how to:
- Correlate actual browser-based user experience with the load tests
- Run multiple Selenium Webdriver tests in parallel at scale by using the power of the cloud
- Do it all without any prior JMeter knowledge or experience!
Ansible is a popular choice for automating infrastructure provisioning, config management, deployments, etc. Shippable provides a perfect complement with native CI, release management functionality as well as the ability to create event-driven workflows across ansible playbooks and other DevOps tools and activities.
This talk was presented by Shippable's co-founder and VP Product Management Manisha Sahasrabudhe at AnsibleFest 2017.
Building kubectl plugins with Quarkus | DevNation Tech TalkRed Hat Developers
We all know how flexible Kubernetes extensions can be - Tekton and Knative are examples. But did you know it's also pretty easy to extend kubectl, the Kubernetes superstar CLI? In this session we see how a kubectl plugin is designed and then from scratch, we will build our own plugin using Quarkus. That will give us the opportunity to discover the command mode of Quarkus, rediscover how native compilation can create super fast binaries, and see how the Kubernetes-client extensions make it super easy to interact with a Kubernetes cluster.
Apache Accumulo (like all distributed, data stores) provides scalability at the cost of increased complexity. While Accumulo’s algorithms for handling fault tolerance or distributing load across a cluster may always be complex to the average Accumulo user, there are parts of Accumulo that can be simplified and improved to provide a better user experience. It should be easy for users to install and run Accumulo, write a simple Accumulo client, and troubleshoot common issues. This talk will cover how the Accumulo user experience has improved with Accumulo 2.0 and the creation of the Uno and Muchos tools. The talk will end with a discussion of possible future work to make the user experience better.
OpenWhisk Under the Hood -- London Oct 16 2016Stephen Fink
OpenWhisk is a serverless computing platform that allows for running stateless functions in response to events. It uses Docker containers to run functions (actions) that are triggered by events. The OpenWhisk system is built on a distributed architecture using virtual machines to run controller, invoker, and action containers. Functions are run securely and billed based on usage at a fine-grained level. OpenWhisk allows for building event-driven applications through its triggers, rules, and action composition model.
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.
- 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 - 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.
The document discusses serverless architectures using AWS Lambda and Amazon API Gateway. It provides background on moving from monolithic to microservices architectures. It then covers AWS Lambda functions, event sources, and networking environments. Amazon API Gateway is presented as a way to build multi-tier serverless applications. Common serverless architecture patterns and best practices for AWS Lambda, API Gateway, and general serverless development are outlined. The document concludes with a demonstration of a simple CRUD backend using Lambda and DynamoDB with API Gateway.
This document provides an overview of Google Cloud Platform (GCP) services. It discusses computing services like App Engine and Compute Engine for hosting applications. It covers storage options like Cloud Storage, Cloud Datastore and Cloud SQL. It also mentions big data services like BigQuery and machine learning services like Prediction API. The document provides brief descriptions of each service and highlights their key features. It includes code samples for using Prediction API to train a model and make predictions on new data.
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
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
Serverless computing is becoming increasingly popular in cloud native development. It provides advantages to an organization in terms of cost, scalability, and agility. Ballerina was created to make integrations simple. It also adds agility to the development process. What will happen when Ballerina meets serverless? A couple of serverless platforms have already started supporting Ballerina as a runtime.
This presentation will discuss the advantages of adopting a serverless strategy, the work done in running Ballerina in OpenWhisk and Kubeless, and other efforts going on to support Ballerina in the serverless world.
The document discusses four things the author learned while creating their first iPhone app:
1. Core Data - The author used Core Data for language and phrase data and found it slightly confusing since they knew SQL well. They used code from Matt Gallagher to make fetching data easier.
2. Progress Monitoring - The author added progress monitoring to show file copying progress, which took 20-30 seconds. They used MBProgressHUD.
3. Debugging Archives - The author hadn't been archiving dSYM files needed to symbolicate crash logs. They created a script to automatically archive dSYM files for release builds.
4. Version Numbering - The author used a Ruby script to generate increasing version numbers from
Play 2.0 is a web framework for Java and Scala that is designed to be productive, asynchronous, and reactive. Some key features include being full stack, high-productive, asynchronous and reactive, stateless, HTTP-centric, typesafe, scalable, and open source. Play 2.0 aims to be fun and fast to develop with by enabling features like hot code reloading, browser error reporting, and easy deployment to platforms like Heroku. It also focuses on being asynchronous and reactive through support for WebSockets, Comet, HTTP streaming responses, and composable streams.
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
This document discusses using CoffeeScript, Backbone.js, and Jasmine BDD to build single page web applications. It begins by explaining why CoffeeScript is useful for cleaning up JavaScript code and avoiding errors. It then discusses how Backbone.js provides structure for single page apps by defining models, collections, views and routers. It notes that Backbone works well with CoffeeScript. Finally, it mentions that Jasmine BDD can be used for writing professional tests.
The document provides an overview of advanced patterns in Flask including:
1. State management using application and request contexts to bind resources like databases.
2. Resource management using teardown callbacks to commit transactions and release resources.
3. Customizing response creation by passing response objects down a stack or replacing implicit responses.
4. Server-sent events for real-time updates using Redis pub/sub and streaming responses.
5. Separating worker processes for blocking and non-blocking tasks using tools like Gunicorn and Nginx.
6. Signing data with ItsDangerous to generate tokens and validate user activations without a database.
7. Customizing Flask like adding cache bust
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiInfluxData
When a large group of people change their habits, it can be tricky for infrastructures! Working from home and spending time indoor today means attending video calls and streaming movies and tv shows. This leads to increased internet traffic that can create congestion on the network infrastructure. So how do you get real-time visibility into your ISP connection? In this meetup, Mirko presents his setup based on a time series database and Raspberry Pi to better understand his ISP connection quality and speed — including upload and download speeds. Join us to discover how he does it using Telegraf, InfluxDB Cloud, Astro Pi, Telegram and Grafana! Finally, proof that your ISP connection is (or is not) as fast as it promises.
For just over a year, Swift has been available as a formal release on Linux and frameworks like Kitura and Vapor have made it possible to build mobile backends and web applications on the server. Running Server Swift is however not your own option for becoming a fullstack engineer and building backends in Swift. Amazon, Microsoft, Google, IBM and others are all also providing the ability to run Serverless (aka Lambdas or Functions), with some of those supporting the use of Swift.
This session will introduce you to Serverless Swift, highlight how it compares to Server Swift and show you some applications that have been built with Server(less) Swift.
Finch.io is a library for building REST APIs in Scala using Finagle. It allows for composable endpoints and services. Parameters can be extracted from requests using a reader monad. Requests and responses can be validated. Responses can be JSON, plain text, or other formats. Authentication such as basic auth can also be supported. The documentation provides examples of defining endpoints and services, composing them, handling parameters and validation, and constructing different response types including JSON.
The document discusses Retrofit, a type-safe HTTP client for Android. It describes how to initialize Retrofit by defining interfaces for APIs, creating a Retrofit instance, and making network calls. It also covers using interceptors to log requests/responses and add authentication headers to requests. Custom interceptors allow controlling the behavior of authentication based on internal request headers.
Websockets talk at Rubyconf Uruguay 2010Ismael Celis
This document discusses using WebSockets for real-time applications in Ruby. It begins with an overview of WebSockets and use cases. It then covers the WebSocket DOM API, handshake process, and implementing a WebSocket server in Ruby with EventMachine and EM-WebSocket. It provides an example of building a multicast channel application with JSON messages. It also discusses scaling options like Pusher and shows code samples for a Pusher implementation.
This document discusses best practices for developing RESTful APIs. It begins by explaining that APIs should follow REST principles even if others are not, in order to be usable by others. It then shows an example of a non-RESTful API call. The document goes on to explain concepts like RESTful design, HTTP methods, resources, and HATEOAS. It provides examples of good and bad API patterns. It also introduces tools like appkr/fractal that can help build RESTful APIs in Laravel. Overall, the document provides guidance on how to properly structure APIs according to REST architectural principles.
This document discusses using CouchDB on Android applications. It provides instructions on adding CouchDB functionality to an Android project using Couchbase Mobile for Android. It also describes how to access a CouchDB instance from an Android device using Futon and the Couchbase Service. The document contains code examples for creating, reading, updating and deleting CouchDB documents from an Android app.
This document discusses asynchronous PHP processing and libraries. It begins with an overview of synchronous vs asynchronous processing and blocking vs non-blocking I/O. It then reviews several approaches for asynchronous PHP including Pthreads, pcntl_fork, popen, curl_multi, and event loops with libraries like ReactPHP. ReactPHP is discussed in depth as an event-driven non-blocking I/O library that uses promises and streams for asynchronous operations. Examples are provided for asynchronous HTTP requests, DNS lookups, and a pub/sub application using ZeroMQ. Key points emphasized are that asynchronous code does not necessarily run faster and execution order is not guaranteed.
Infrastructure-as-code: bridging the gap between Devs and OpsMykyta Protsenko
Ops are overwhelmed with support. Devs are mad because their cannot deploy the changes as fast as they want. Sounds familiar?
Infrastructure-as-code can make your life easier by empowering developers and reducing operations' routine toil. It can cut down the lead time for infrastructure provisioning from hours or even days to minutes.
This talk reviews several IaC tools and approaches, showing how to integrate them into continuous delivery pipeline. It covers the problems and challenges that engineers may face while working with infrastructure-as-code tools and provides a few hands-on recipes to address them.
This document discusses various Docker orchestration tools including Kubernetes, Marathon, Rancher, Helios, Ansible Container, Docker Swarm, and others. It provides brief descriptions and usage examples for several of the tools. Kubernetes and Marathon are covered in slightly more detail, with notes on prerequisites and basic usage commands provided. The document aims to introduce developers to common options for orchestrating Docker containers at scale.
CouchDB Mobile - From Couch to 5K in 1 HourPeter Friese
This document provides an overview of CouchDB, a NoSQL database that uses JSON documents with a flexible schema. It demonstrates CouchDB's features like replication, MapReduce, and filtering. The presentation then shows how to build a mobile running app called Couch25K that tracks locations using CouchDB and syncs data between phones and a server. Code examples are provided in Objective-C, Java, and JavaScript for creating databases, saving documents, querying, and syncing.
This talk is a very quick intro to Docker, Terraform, and Amazon's EC2 Container Service (ECS). In just 15 minutes, you'll see how to take two apps (a Rails frontend and a Sinatra backend), package them as Docker containers, run them using Amazon ECS, and to define all of the infrastructure-as-code using Terraform.
Similar to ContainerDays NYC 2016: "OpenWhisk: A Serverless Computing Platform" (Rodric Rabbah & Philippe Suter) (20)
ContainerDays NYC 2016: "From Hello World to Real World: Building a Productio...DynamicInfraDays
Slides from Nathan Valentine & Shannon Williams' talk "From Hello World to Real World: Building a Production Container Environment for 2017" at ContainerDays NYC 2016: http://dynamicinfradays.org/events/2016-nyc/programme.html#realworld
ContainerDays NYC 2016: "Securing Your Docker Image Registry for Production" ...DynamicInfraDays
This document discusses securing Docker image registries for production use. It covers authentication, authorization, and audit logging. For authentication, it describes using passwords, certificates, or other methods to identify users. Authorization controls what actions users can take. Audit logging records activity for security and troubleshooting. The document demonstrates these concepts using Docker Registry and an authentication server, and shows how Kubernetes can integrate with authentication as well.
ContainerDays NYC 2016: "State of the Persistence Art: Present Best Practices...DynamicInfraDays
Slides from Vinod Jayaraman's talk "State of the Persistence Art: Present Best Practices and Future Goals for Container Storage in Production" at ContainerDays NYC 2016: http://dynamicinfradays.org/events/2016-nyc/programme.html#storage
ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...DynamicInfraDays
- The document discusses observability in containerized systems and microservices. It provides examples of logging output from containerized applications like Nginx and how to parse the logs to extract useful fields.
- The examples show how Docker log drivers can mangle structured logs by adding metadata, and suggest directly logging from applications to collectors.
- Configurations for Logstash are shown to parse logs from Nginx and other applications running in containers in order to extract fields like timestamps, requests IDs, and HTTP information for further analysis.
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...DynamicInfraDays
Slides from Jeff Mitchell's talk "The Secure Introduction Problem: Getting Secrets Into Containers" at ContainerDays NYC 2016: http://dynamicinfradays.org/events/2016-nyc/programme.html#secrets
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...DynamicInfraDays
This document discusses Microsoft's container ecosystem. It covers Docker for Windows, Windows containers, Azure Container Service (ACS), and running .NET on Linux. Docker for Windows allows running Docker natively on Windows using Hyper-V. Windows containers leverage the Windows kernel for isolation using namespaces and control groups. ACS simplifies deploying Docker clusters to Azure. .NET Core allows developing .NET applications on Linux. The document also briefly mentions Docker Datacenter and Enterprise DC/OS as enterprise container solutions.
ContainerDays NYC 2016: "Introduction to Application Automation with Habitat"...DynamicInfraDays
This document provides instructions for running a Habitat application called "My Tutorial Project" in any operational environment. It describes building the application artifact in the Habitat studio and then running the application natively on hardware, in a VM/cloud instance, or inside a container. The application runtime requirements are listed as a 64-bit Linux kernel version greater than 2.6.32. Users are instructed to enter the Habitat studio, where the application plan has already been built, to access the generated application artifact.
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)DynamicInfraDays
The document provides an overview of Docker for developers. It summarizes Docker Toolbox, the previous solution for using Docker on Mac or Windows, and introduces Docker for Mac. Docker for Mac uses a new virtualization technique called HyperKit that embeds a lightweight Alpine Linux distribution. It also discusses networking and storage solutions in Docker for Mac that aim to provide a native Mac experience while integrating with existing developer workflows. The document concludes with brief discussions of Docker Cloud for security scanning and automation capabilities.
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...DynamicInfraDays
Slides from Jeff Mitchell's talk "Hiding in Plain Sight: Managing Secrets in a Container Environment" at ContainerDays Boston 2016: http://dynamicinfradays.org/events/2016-boston/programme.html#secrets
ContainerDays Boston 2016: "Autopilot: Running Real-world Applications in Con...DynamicInfraDays
Slides from Tim Gross's talk "Autopilot: Running Real-world Applications in Containers" at ContainerDays Boston 2016: http://dynamicinfradays.org/events/2016-boston/programme.html#autopilot
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...DynamicInfraDays
Slides from Darren Shepherd's talk "Container Orchestration Compared: Kubernetes and Docker Compose, Machine & Swarm" at ContainerDays NYC 2015: http://dynamicinfradays.org/events/2015-nyc/programme.html#orchestration
ContainerDays NYC 2015: "What It Really Takes to Build a Container Platform" ...DynamicInfraDays
The document outlines 10 things a company learned while building a container platform. It discusses mistakes made like assuming everyone wanted a single storage solution and success found by focusing on object storage. Other lessons include spending more time hardening clustering solutions, accepting Docker's limitations, and choosing one scheduler to support rather than trying to support all of them. The overall conclusion is that while building the platform presented challenges, containers remain a good approach for microservice architectures.
ContainerDays NYC 2015: "How Yodle Cleaned Up the Mess Using Containers and M...DynamicInfraDays
The company had previously used a monolithic architecture with slow feedback and high-risk releases. They transitioned to a microservices architecture running on Docker containers 3 years ago. This provided piecewise releases, easier testing and isolation, and low-risk releases. They further improved by implementing services discovery, canary deployments, and isolating databases. More improvements like Pact testing were still needed. Overall the changes to microservices and containers helped solve their previous problems of slow feedback and high-risk releases.
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...DynamicInfraDays
Slides from Patrick Mizer & Steve Woodruff's talk "Easing Your Way Into Docker: Lessons From a Journey to Production" at ContainerDays NYC 2015: http://dynamicinfradays.org/events/2015-nyc/programme.html#sparefoot
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...DynamicInfraDays
Slides from Barak Michener's talk "CoreOS: Building the Layers of the Scalable Cluster for Containers" at ContainerDays Boston 2015: http://dynamicinfradays.org/events/2015-boston/programme.html#layers
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)DynamicInfraDays
Slides from Nick Gauthier's talk "Continuous Delivery with Containers" at ContainerDays Boston 2015: http://dynamicinfradays.org/events/2015-boston/programme.html#cdwithcontainers
ContainerDays Boston 2015: "A Brief History of Containers" (Jeff Victor & Kir...DynamicInfraDays
Slides from Jeff Victor & Kir Kolyshkin's talk "A Brief History of Containers" at ContainerDays Boston 2015: http://dynamicinfradays.org/events/2015-boston/programme.html#briefhist
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. 🚀 This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. 💻
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. 🖥️
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. 🌟
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
7. lower expenses
by caching Weather.com
responses since each
API call costs $
hence needs to offload
Weather.com “call” and
filtering server side
Now Dave wants to…
7
8. lower expenses
by caching Weather.com
responses since each
API call costs $
hence needs to offload
Weather.com “call” and
filtering server side
But does not want to…
configure and manage
servers, virtual machines,
and services ….
8
9. lower expenses
by caching Weather.com
responses since each
API call costs $
hence needs to offload
Weather.com “call” and
filtering server side
But does not want to…
configure and manage
servers, virtual machines,
and services ….
9
pay by the month for
resources that may
not be used
10. So how can Dave get what he wants?
10
enter serverless computing:
runtime as a service to execute
user “functions”
11. So how can Dave get what he wants?
11
enter serverless computing:
runtime as a service to execute
user “functions”
+ no infrastructure to maintain
+ pay as you go for what you use
+ managed security and elasticity
12. Serverless Platforms
Amazon Lambda
Google Cloud Functions
IBM OpenWhisk (open as in open source)
Microsoft Azure Functions
Startups: serverless.com, iron.io, apex.run, …
12
18. public static JsonObject main (JsonObject params) {
JsonObject reply = new JsonObject();
String name = params.get(“name”).getAsString();
System.out.println(“Hello ” + name);
reply.addProperty(“msg”, “Goodbye ” + name);
return reply;
}
Action: Java
18
19. Action: Swift
func main (params:[String:Any]) -> [String:Any] {
var reply = [String:Any] ()
if let name = params[“name”] as? String {
print(“Hello (name)”)
reply[“msg”] = “Goodbye (name)”
}
return reply
}
19
20. Action isolation
20
OpenWhisk desiderata…
• Run many actions concurrently on same machine
• Provide elastic scaling to run actions on different machines
• Limit cross-action interference: resource and process isolation
• OpenWhisk uses containers as units of isolation for actions
23. How OpenWhisk uses containers
23
controller
invoker
1 Deploying and managing traditional microservices
24. OpenWhisk system architecture
24
Edge
VMEdge
VM
Edge VM
Edge
VM
Edge
VM
Master VM
controller
Edge
VM
Edge
VM
Slave VM
invoker
action
container
action
container
action
container
action
container
action
container
action
container
action
container
action
container
• microservices deployed in docker containers
• open-source system middleware
• NoSQL (CouchDB) persistence
25. How OpenWhisk uses containers
25
2 Lightweight isolated execution environment for
arbitrary user code
action
containeraction
containeraction
containeraction
containeraction
containeraction
containeraction
containeraction
containeraction
container
action
containeraction
containeraction
containeraction
containeraction
containeraction
containeraction
containeraction
containeraction
container
Slave VM
51. Action containers
• Host user-written function
• Maintain the abstraction that
“action ≈ function”
•Provide a common REST interface
(JSON objects in and out)
Container
Input
JSON
Output
JSON
stdout
String
stderr
String
31
52. Warm & cold invocations
• Cold invocation: the action has not been invoked “recently”
• No container currently hosting the action code
• Factors affecting invocation latency:
• Database access time
• Container startup time (e.g. docker run)
• Language runtime startup time (e.g. JVM startup)
32
53. What we are not doing
• Create one Docker image for each action (docker build)
• On invocation,
• docker pullthe image in the invoker
• docker run
33
54. What we are not doing
• Create one Docker image for each action (docker build)
• On invocation,
• docker pullthe image in the invoker
• docker run
One image per action implies managing a potentially very large registry.
Docker operations generally are not very fast.
33
55. What we are doing
• Have a single Docker image for all actions of a given runtime
• E.g. NodeJS 6 stemcell container
• The image contains a webserver, exposing two endpoints:
• /init : dynamically loads the user code
• /code : executes the user code with a given payload
• The invoker starts stemcells independently of action invocations
• Invocations are not affected by container and runtime startup
34
58. HTTP proxy JSON /init /run
Node.js Express Native
eval(…) script, keep
function object in
memory.
Function invocation.
Swift Flask (Python)
Implicit:
Foundation
(NSJSONSerialization)
Compile script,
store binary.
Run binary with
subprocess.
Java
com.sun.net.httpserver.H
ttpServer
Explicit:
Google GSON
Dynamic classloading,
reflection to get handle
to main.
Reflective invoke.
Python Flask Implicit: stdlib
(import json)
Store script in memory.
Evaluate script with
exec(…).
Docker
In base image:
Flask
In base image:
deserialization from
string
In base image: no-op
In base image:
subprocess call
Action containers implementation overview
37
59. Docker in production: the not-so-great parts
• Security issues
• User namespaces only a recent addition
• Hard to impose limits on filesystem operations
• Containers can discover meta-information on other containers
• Concurrency issues
• Docker daemon causes kernel panics under (highly) concurrent loads
• Performance
• Relatively high latency when retrieving logs
38
60. Docker in production: the good parts
• On OpenWhisk itself
• “Same” environment/deployment for local development and production
• Easy to swap components in and out
• Action containers
• Lets us standardize at an HTTP API level
• Supporting new runtimes is straightforward
• Easy to test action containers in isolation
• The invokers are (almost) runtime-agnostic
39
61. • 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.
Please note
40
63. Please note: notices and disclaimers
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.
42