Waldemar Quevedo, Senior Software Engineer at Apcera
NATS is a high-performance messaging system optimized for simplicity, reliability and low latency which can be a lightweight solution for the internal communication of your distributed system. In this talk, we will cover its core feature set as well as how to develop and assemble NATS-based microservices using the latest Docker tooling such as Compose and Swarm mode.
You can learn more about NATS at http://www.nats.io
GopherCon 2017 - Writing Networking Clients in Go: The Design & Implementati...wallyqs
The NATS Go client is the canonical implementation of a client for the NATS Messaging System, and from the beginning it was designed for high performance. In this talk, we will cover its APIs and dissect how the client internal engine works to get the most out of Go to achieve maximum throughput.
Microservices Meetup San Francisco - August 2017 Talk on NATSNATS
Waldemar Quevedo on the NATS team covers why NATS is a great fit as a microservices control plane, and how to build simple, resilient, highly scalable microservices using NATS with the flexible integration patterns it provides.
Tyler Treat
Workiva
NATS Meetup 3/22/16
• Embracing the reality of complex systems
• Using simplicity to your advantage
• Why NATS?
• How Workiva uses NATS
You can learn more about NATS at http://www.nats.io
Micro on NATS - Microservices with MessagingApcera
This is a talk given by Asim Aslam at the NATS London Meetup on May 10th, 2016. It explains what Micro is (Microservices toolkit), and how it uses NATS - a lightweight high performance open source messaging system for microservices, cloud native, and IoT networks written in Golang.
You can learn more about NATS at http://www.nats.io
You can learn more about Micro at https://micro.mu/
There is a renaissance underway in the messaging space. Due to the demands of IoT networks, cloud native apps, and microservices developers are looking for simple, fast, messaging systems. This is a sharp contrast to how traditional messaging was done.
This webinar will cover:
- The basics of messaging patterns
- What makes NATS unique
- Using a demo inspired by Pokemon Go as an example
GopherCon 2017 - Writing Networking Clients in Go: The Design & Implementati...wallyqs
The NATS Go client is the canonical implementation of a client for the NATS Messaging System, and from the beginning it was designed for high performance. In this talk, we will cover its APIs and dissect how the client internal engine works to get the most out of Go to achieve maximum throughput.
Microservices Meetup San Francisco - August 2017 Talk on NATSNATS
Waldemar Quevedo on the NATS team covers why NATS is a great fit as a microservices control plane, and how to build simple, resilient, highly scalable microservices using NATS with the flexible integration patterns it provides.
Tyler Treat
Workiva
NATS Meetup 3/22/16
• Embracing the reality of complex systems
• Using simplicity to your advantage
• Why NATS?
• How Workiva uses NATS
You can learn more about NATS at http://www.nats.io
Micro on NATS - Microservices with MessagingApcera
This is a talk given by Asim Aslam at the NATS London Meetup on May 10th, 2016. It explains what Micro is (Microservices toolkit), and how it uses NATS - a lightweight high performance open source messaging system for microservices, cloud native, and IoT networks written in Golang.
You can learn more about NATS at http://www.nats.io
You can learn more about Micro at https://micro.mu/
There is a renaissance underway in the messaging space. Due to the demands of IoT networks, cloud native apps, and microservices developers are looking for simple, fast, messaging systems. This is a sharp contrast to how traditional messaging was done.
This webinar will cover:
- The basics of messaging patterns
- What makes NATS unique
- Using a demo inspired by Pokemon Go as an example
A New Way of Thinking | NATS 2.0 & ConnectivityNATS
NATS 2.0 is the largest feature release since the original code base for the server was released. NATS 2.0 was created to allow a new way of thinking about NATS as a shared utility, solving problems at scale through distributed security, multi-tenancy, larger networks, and secure sharing of data. In this presentation, Derek discusses the motives behind the newest features of NATS and how to leverage them to reduce total cost of ownership, decrease time to value, support extremely large scale deployments, and decentralize security to create secure and easy to manage modern distributed systems.
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATSNATS
Services and Streams are the cornerstones of any modern distributed architecture. Communications and observability of modern systems have become just as important as the deployment of the components themselves. In this talk maintainers of the NATS projectwill create a service using NATS as the communication technology. They will show how NATS allows a service application to utilize cutting edge security with the ability to scale up and down, across multiple Kubernetes clusters and cloud deployments. This will be completely observable, with no code changes from the demo code base to global deployment. NATS allows cutting edge modern systems to be built without the additional complexity of load balancers, proxies or sidecars. NATS allows radically easy yet secure deployments across multiple k8s clusters, in any cloud or on-premise environment.
How Clarifai uses NATS and Kubernetes for Machine LearningApcera
Clarifai (www.clarifai.com) is a machine learning company which aims to make artificial intelligence accessible to the entire world.
Their platform allows users to tap into powerful machine learning algorithms while abstracting away the technical minutiae of how the algorithms work and the infrastructure scaling problems of building AI applications from scratch.
Clarifai has moved to a highly available Kubernetes (www.kubernetes.io) based architecture, which also required a simple, scalable messaging layer.
NATS (www.nats.io) was selected by the Clarifai team for a variety of reasons.
The video of the talk that accompanies these slides is available at:
https://www.youtube.com/watch?v=fJ20plWSBzw&feature=youtu.be
NATS & Docker Meetup in Toronto - August 2016
Implementing Microservices with NATS, Diogo Monteiro
-How Aytra uses NATS
-Benefits of using NATS for inter service communication
-Lessons learned adopting NATS
-Overview of Houston NATS library
-Demo of Aytra
You can learn more about NATS at http://www.nats.io
The Zen of High Performance Messaging with NATS (Strange Loop 2016)wallyqs
Video: https://www.youtube.com/watch?v=dYrYCt2dTkw
HTML5: https://wallyqs.github.io/stl-nats-talk/
NATS is an open source, high performant messaging system with a design oriented towards both being as simple and reliable as possible without at the same time trading off scalability. Originally written in Ruby, and then rewritten in Go, a NATS server can nowadays push over 11M messages per second.
In this talk, we will cover how following simplicity as the main design constraint as well as focusing on a limited built-in feature set, resulted in a system which is easy to operate and reason about, making up for an attractive choice for when building many types of distributed systems where low latency and high availability are very important.
Simple Solutions for Complex Problems - Boulder MeetupApcera
At the NATS June Meetup in Boulder, CO, Tyler Treat of Workiva gives and updated talk on how to embrace simplicity to solve complex infrastructure problems, and how shares more information on how Workiva uses NATS for microservices communication.
You can learn more about NATS at http://www.nats.io
Presentation from a talk given by Diogo Monteiro (@diogogmt) at a recent NATS Meetup in Toronto. The talk covered why NATS is a simple, fast method for microservices communication, and provides some latency benchmarks from Diogo's design of a solution using NATS.
You can learn more about NATS at http://www.nats.io
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Erawallyqs
The majority of middleware and messaging systems in use were built in a time that did not have the concept of scale and real-time data that developers operate in today.
With the rise of Cloud Native and Microservices architectures as a design principle and the emphasis on simplicity, speed, and flexibility that come with it, developers need a messaging protocol to match.
Enter NATS. NATS is a remarkably lightweight messaging protocol, and extremely flexible and resilient. It is just a few MB in size, and can scale to publish tens of millions of message from a single server.
NATS is a high performance messaging server and also one of the latest additions to the CNCF. In this talk, we will make a deep dive to the internals of the project covering its design, protocol, clustering implementation, security and authorization features that make it an attractive solution for microservices and low latency applications.
The Zen of High Performance Messaging with NATSApcera
The Zen of High Performance Messaging with NATS
Waldemar Quevedo Salinas, Senior Software Engineer
NATS is an open source, high performant messaging system with a design oriented towards both being as simple and reliable as possible without at the same time trading off scalability. Originally written in Ruby, and then rewritten in Go, a NATS server can nowadays push over 11M messages per second.
In this talk, we will cover how following simplicity as the main design constraint as well as focusing on a limited built-in feature set, resulted in a system which is easy to operate and reason about, making up for an attractive choice for when building many types of distributed systems where low latency and high availability are very important.
You can learn more about NATS at http://www.nats.io
NATS - A new nervous system for distributed cloud platformsDerek Collison
NATS is an open-source, high-performance, lightweight cloud messaging system.
NATS was created by Derek Collison, Founder/CEO of Apcera who has spent 20+ years designing, building, and using publish-subscribe messaging systems. Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. This forms a great base for building modern, reliable, and scalable cloud and distributed systems.
Patterns for Asynchronous Microservices with NATSApcera
Presentation from a talk by Raul Perez (@repejota) of R3Labs on asynchronous microservices patterns using NATS (@nats_io), the lightweight, high performance open source messaging system written in Go.
You can learn more about NATS at http://www.nats.io
How Greta uses NATS to revolutionize data distribution on the InternetApcera
Dennis Mårtensson is the CTO and co-founder of Greta, a Swedish startup that wants to change the way content is delivered on the internet. Greta has developed a technology for peer-to-peer content delivery over webRTC and are using NATS to create rapid webRTC signaling.
You can learn more about NATS at http://www.nats.io. You can learn more about Greta at https://greta.io/
IT Modernization Doesn’t Mean You Leave Your Legacy Apps BehindApcera
As enterprises adopt cloud infrastructure and modern architectures, they can’t turn their back on existing applications. The challenge is that legacy applications are expensive-to-maintain and inflexible due to infrastructure requirements and dependencies.
Explore new approaches to application modernization with Mark Thiele, Chief Strategy Officer at Apcera, and Ralph Loura, CTO and Rodan + Fields, to learn how to protect current IT investments and establish a secure path to the cloud.
A New Way of Thinking | NATS 2.0 & ConnectivityNATS
NATS 2.0 is the largest feature release since the original code base for the server was released. NATS 2.0 was created to allow a new way of thinking about NATS as a shared utility, solving problems at scale through distributed security, multi-tenancy, larger networks, and secure sharing of data. In this presentation, Derek discusses the motives behind the newest features of NATS and how to leverage them to reduce total cost of ownership, decrease time to value, support extremely large scale deployments, and decentralize security to create secure and easy to manage modern distributed systems.
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATSNATS
Services and Streams are the cornerstones of any modern distributed architecture. Communications and observability of modern systems have become just as important as the deployment of the components themselves. In this talk maintainers of the NATS projectwill create a service using NATS as the communication technology. They will show how NATS allows a service application to utilize cutting edge security with the ability to scale up and down, across multiple Kubernetes clusters and cloud deployments. This will be completely observable, with no code changes from the demo code base to global deployment. NATS allows cutting edge modern systems to be built without the additional complexity of load balancers, proxies or sidecars. NATS allows radically easy yet secure deployments across multiple k8s clusters, in any cloud or on-premise environment.
How Clarifai uses NATS and Kubernetes for Machine LearningApcera
Clarifai (www.clarifai.com) is a machine learning company which aims to make artificial intelligence accessible to the entire world.
Their platform allows users to tap into powerful machine learning algorithms while abstracting away the technical minutiae of how the algorithms work and the infrastructure scaling problems of building AI applications from scratch.
Clarifai has moved to a highly available Kubernetes (www.kubernetes.io) based architecture, which also required a simple, scalable messaging layer.
NATS (www.nats.io) was selected by the Clarifai team for a variety of reasons.
The video of the talk that accompanies these slides is available at:
https://www.youtube.com/watch?v=fJ20plWSBzw&feature=youtu.be
NATS & Docker Meetup in Toronto - August 2016
Implementing Microservices with NATS, Diogo Monteiro
-How Aytra uses NATS
-Benefits of using NATS for inter service communication
-Lessons learned adopting NATS
-Overview of Houston NATS library
-Demo of Aytra
You can learn more about NATS at http://www.nats.io
The Zen of High Performance Messaging with NATS (Strange Loop 2016)wallyqs
Video: https://www.youtube.com/watch?v=dYrYCt2dTkw
HTML5: https://wallyqs.github.io/stl-nats-talk/
NATS is an open source, high performant messaging system with a design oriented towards both being as simple and reliable as possible without at the same time trading off scalability. Originally written in Ruby, and then rewritten in Go, a NATS server can nowadays push over 11M messages per second.
In this talk, we will cover how following simplicity as the main design constraint as well as focusing on a limited built-in feature set, resulted in a system which is easy to operate and reason about, making up for an attractive choice for when building many types of distributed systems where low latency and high availability are very important.
Simple Solutions for Complex Problems - Boulder MeetupApcera
At the NATS June Meetup in Boulder, CO, Tyler Treat of Workiva gives and updated talk on how to embrace simplicity to solve complex infrastructure problems, and how shares more information on how Workiva uses NATS for microservices communication.
You can learn more about NATS at http://www.nats.io
Presentation from a talk given by Diogo Monteiro (@diogogmt) at a recent NATS Meetup in Toronto. The talk covered why NATS is a simple, fast method for microservices communication, and provides some latency benchmarks from Diogo's design of a solution using NATS.
You can learn more about NATS at http://www.nats.io
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Erawallyqs
The majority of middleware and messaging systems in use were built in a time that did not have the concept of scale and real-time data that developers operate in today.
With the rise of Cloud Native and Microservices architectures as a design principle and the emphasis on simplicity, speed, and flexibility that come with it, developers need a messaging protocol to match.
Enter NATS. NATS is a remarkably lightweight messaging protocol, and extremely flexible and resilient. It is just a few MB in size, and can scale to publish tens of millions of message from a single server.
NATS is a high performance messaging server and also one of the latest additions to the CNCF. In this talk, we will make a deep dive to the internals of the project covering its design, protocol, clustering implementation, security and authorization features that make it an attractive solution for microservices and low latency applications.
The Zen of High Performance Messaging with NATSApcera
The Zen of High Performance Messaging with NATS
Waldemar Quevedo Salinas, Senior Software Engineer
NATS is an open source, high performant messaging system with a design oriented towards both being as simple and reliable as possible without at the same time trading off scalability. Originally written in Ruby, and then rewritten in Go, a NATS server can nowadays push over 11M messages per second.
In this talk, we will cover how following simplicity as the main design constraint as well as focusing on a limited built-in feature set, resulted in a system which is easy to operate and reason about, making up for an attractive choice for when building many types of distributed systems where low latency and high availability are very important.
You can learn more about NATS at http://www.nats.io
NATS - A new nervous system for distributed cloud platformsDerek Collison
NATS is an open-source, high-performance, lightweight cloud messaging system.
NATS was created by Derek Collison, Founder/CEO of Apcera who has spent 20+ years designing, building, and using publish-subscribe messaging systems. Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. This forms a great base for building modern, reliable, and scalable cloud and distributed systems.
Patterns for Asynchronous Microservices with NATSApcera
Presentation from a talk by Raul Perez (@repejota) of R3Labs on asynchronous microservices patterns using NATS (@nats_io), the lightweight, high performance open source messaging system written in Go.
You can learn more about NATS at http://www.nats.io
How Greta uses NATS to revolutionize data distribution on the InternetApcera
Dennis Mårtensson is the CTO and co-founder of Greta, a Swedish startup that wants to change the way content is delivered on the internet. Greta has developed a technology for peer-to-peer content delivery over webRTC and are using NATS to create rapid webRTC signaling.
You can learn more about NATS at http://www.nats.io. You can learn more about Greta at https://greta.io/
IT Modernization Doesn’t Mean You Leave Your Legacy Apps BehindApcera
As enterprises adopt cloud infrastructure and modern architectures, they can’t turn their back on existing applications. The challenge is that legacy applications are expensive-to-maintain and inflexible due to infrastructure requirements and dependencies.
Explore new approaches to application modernization with Mark Thiele, Chief Strategy Officer at Apcera, and Ralph Loura, CTO and Rodan + Fields, to learn how to protect current IT investments and establish a secure path to the cloud.
At the NATS June Meetup in Boulder, CO, Steven Osborne and Charlie Strawn of Workiva present the Actor Model concept their team are using, and some of the work they are doing to connect NATS and Akka.
You can learn more about NATS at http://www.nats.io
Jaime Piña, @variadico, Software Engineer at Apcera
Microservice issues are networking issues. Fixing code in your app is easy, but the hard part of using microservices is the networking. How do you actually know if you're sending what you think you are? Why does this request fail in my app, but not when I use curl? Is this service very slow or is it up at all?
This talk will help demystify some common problems you might experience while building out your collection of microservices. Once you can find the issue, it becomes way easier to fix.
Why Enterprises Are Embracing the CloudRandy Shoup
After being deeply involved in public cloud for the last several years, as both a provider and a consumer, I have been very pleasantly surprised at the rate at which large enterprises are rapidly moving to the cloud. For all the right reasons, even the most regulated and risk-averse of industries -- banking, for example -- are rapidly moving workloads out of their own owned data centers. Public cloud is not just for the "unicorns", but for the "horses" as well. This short vignette, presented at the GOTO Aarhus 2014 conference, tries to explain why this trend will continue and accelerate, and why we should be excited about it.
Integration Patterns for Microservices ArchitecturesApcera
One of the fundamental principals of microservices is the idea of lightweight, composable loosely coupled applications that can either talk through some type of service endpoint, through some protocol like HTTP or through pipes.
A lightweight messaging system such as NATS is a better way for microservices to talk to each other and integrate disparate systems outside the microservice or architecture.
You can learn more about NATS at http://www.nats.io
Office 365 Hizmetlere Genel Bakış ve Exchange OnlineMustafa
18 Kasım 2015 Çarşamba günü gerçekleştirmiş olduğumuz Office 365 etkinliğinin ilk oturumunda anlatmış olduğum Office 365 hizmetleri ve Exchange Online bileşenini anlatan sunumdur.
The Zen of High Performance Messaging with NATS NATS
The Zen of High Performance Messaging with NATS
Waldemar Quevedo Salinas, Senior Software Engineer
NATS is an open source, high performant messaging system with a design oriented towards both being as simple and reliable as possible without at the same time trading off scalability. Originally written in Ruby, and then rewritten in Go, a NATS server can nowadays push over 11M messages per second.
In this talk, we will cover how following simplicity as the main design constraint as well as focusing on a limited built-in feature set, resulted in a system which is easy to operate and reason about, making up for an attractive choice for when building many types of distributed systems where low latency and high availability are very important.
You can learn more about NATS at http://www.nats.io
Writing Networking Clients in Go - GopherCon 2017 talkNATS
Talk by Wally Quevedo at GopherCon 2017 on writing networking clients in Go, based on our experience with Go on the NATS team. The full talk is available on YouTube: https://www.youtube.com/watch?v=QoetRI2KHvc
The Context package has been a popular topic in the Golang community for sometime and as of the Go 1.7 release, it has become a standard Go library. It carries a variety of details across API boundaries and between processes.
NATS is an open-source, high-performance, lightweight cloud native messaging system. Many NATS users working in Go have been using Context alongside NATS, but there has not been an officially-supported Context-NATS integration – that is, until now.
This talk will discuss what Context is, what observations and lessons Waldemar and his team have learned integrating Context and NATS, and how you use the two together. He'll also provide a quick demo to show the integration.
About the Speaker:
Waldemar Quevedo is a Senior Software Engineer at Apcera, where he develops the Apcera Trusted Platform and is part of the NATS team. Previously, he formed part of the PaaS team at Rakuten in Tokyo which was one of the early adopters of CloudFoundry for production usage where he experienced operating NATS for the first time, and became a fan of its simplicity.
You can learn more about NATS at http://www.nats.io
The Context package has been a popular topic in the Golang community for sometime and as of the Go 1.7 release, it has become a standard Go library. It carries a variety of details across API boundaries and between processes.
NATS is an open-source, high-performance, lightweight cloud native messaging system. Many NATS users working in Go have been using Context alongside NATS, but there has not been an officially-supported Context-NATS integration – that is, until now.
This talk will discuss what Context is, what observations and lessons Waldemar and his team have learned integrating Context and NATS, and how you use the two together. He'll also provide a quick demo to show the integration.
About the Speaker:
Waldemar Quevedo is a Senior Software Engineer at Apcera, where he develops the Apcera Trusted Platform and is part of the NATS team. Previously, he formed part of the PaaS team at Rakuten in Tokyo which was one of the early adopters of CloudFoundry for production usage where he experienced operating NATS for the first time, and became a fan of its simplicity.
You can learn more about NATS at http://www.nats.io
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Jakub Botwicz
Presentation about Cotopaxi toolkit from Black Hat Asia 2019 Arsenal session. Author: Jakub Botwicz
https://www.blackhat.com/asia-19/arsenal/schedule/index.html#cotopaxi-iot-protocols-security-testing-toolkit-14325
Developing Realtime Data Pipelines With Apache KafkaJoe Stein
Developing Realtime Data Pipelines With Apache Kafka. Apache Kafka is publish-subscribe messaging rethought as a distributed commit log. A single Kafka broker can handle hundreds of megabytes of reads and writes per second from thousands of clients. Kafka is designed to allow a single cluster to serve as the central data backbone for a large organization. It can be elastically and transparently expanded without downtime. Data streams are partitioned and spread over a cluster of machines to allow data streams larger than the capability of any single machine and to allow clusters of co-ordinated consumers. Messages are persisted on disk and replicated within the cluster to prevent data loss. Each broker can handle terabytes of messages without performance impact. Kafka has a modern cluster-centric design that offers strong durability and fault-tolerance guarantees.
Troubleshooting common oslo.messaging and RabbitMQ issuesMichael Klishin
This talk focuses on troubleshooting of common oslo.messaging and RabbitMQ issues in OpenStack environments. Co-presented at the OpenStack Summit Austin in April 2016.
Connect Everything with NATS - Cloud Expo Europewallyqs
NATS is a high performance publish/subscribe messaging system that has as one of its main goals connecting services in the simplest, most secure and reliable way possible.
The project has a long history of being part of production deployments as the core component for the internal communication of a distributed system, and in its latest release NATS v2.0, its feature set was enhanced so that it can also be used to create a global and decentralized communication network.
OSCON: Building Cloud Native Apps with NATSwallyqs
NATS is a mature, high-performance publish/subscribe messaging system that is a hosted project of the Cloud Native Computing Foundation (CNCF). NATS has a goal of connecting services in the simplest, most secure and reliable way possible, and cloud native applications built using NATS inherit much of that simplicity and become easier to operate, benefiting from the performance and resiliency characteristics from the server.
Waldemar Quevedo walks you through how to build an application using NATS and how to set up, deploy, and operate a NATS cluster on top of Kubernetes. You’ll learn core NATS features like publish/subscribe, load-balanced queue subscribers, request/response, and handing connection events and examine NATS cluster setup and client application failover, graceful NATS server shutdown and NATS server configuration reload, and graceful client shutdown with NATS Drain mode. You’ll also learn how to secure a NATS cluster with Transport Layer Security (TLS) and secure streams and services with permissions, account isolation and NATS keys (NKEYS) (ed25519 based), and decentralized permissions via JSON Web Tokens (JWTs).
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Zabbix
At DBC we are running docker and other container types in a mesos/marathon cluster environment. I will demonstrate how we collect statistics, logs etc. and monitor this environment, showing configuration examples, data flows and templates.
Some of the covered topics:
- Mesos master and agents
- Marathon Framework
- Docker engine
- Containers
- Zookeeper
- Elasticserach/ELK
Introduction to automation in the cloud, why it's needed, what are the tools or ways of working, the processes, the best practises with some examples and takeaways.
In this slide, we discussed the architecture of iptables and also showed how to implement your own IPTABLES module.
Upon the understanding of iptables, we implemented the DNS layer 7 parse in iptables module.
After that, we studied how Kubernetes service works and also explained why Kubernetes can't do layer7 load-balancer in TCP connection but UDP.
Domain Driven Design provides not only the strategic guidelines for decomposing a large system into microservices, but also offers the main tactical pattern that helps in decoupling microservices. The presentation will focus on the way domain events could be implemented using Kafka and the trade-offs between consistency and availability that are supported by Kafka.
https://youtu.be/P6IaxNcn-Ag?t=1466
Kubernetes is exploding in popularity right now and has all the buzz and cargo-culting that Docker enjoyed just a few years ago. But what even is Kubernetes? How do I run my PHP apps in it? Should I run my PHP apps in it ?
Similar to Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm (20)
The simple goal of this presentation is to help IT staff make more informed decisions about the how and why of modernizing ITs ability to deliver services.
Presentation by Mark Thiele, Chief Strategy Officer, Apcera
https://www.apcera.com/
At the NATS June Meetup in Boulder, CO, Colin Sullivan (Principal Engineer on the NATS team) gives an overview of NATS, the NATS Connector Framework, and how to get started building connectors for NATS.
You can learn more about NATS at http://www.nats.io
NATS: A Central Nervous System for IoT Messaging - Larry McQuearyApcera
Security, identity and scalability define the IoT landscape. Developers in any IoT ecosystem need a flexible, lightweight and secure method to communicate device status/telemetry and content that operates at the speed of a central nervous system and doesn’t rely on inflexible and outdated protocol specifications designed for point-to-point communication. Enter NATS.
NATS is an open source messaging framework based on Go that is designed for simple, secure, lightweight and scalable messaging in any language and for any platform/processor architecture.
Larry McQueary present's an overview and short demonstration on the NATS architecture and API that will demonstrate how NATS can enable “things” and backend infrastructure to communicate securely and scalably at high speed without locking in vendor-specific technology or protocols.
You can learn more about NATS at http://www.nats.io
How to Migrate to Cloud with Complete Confidence and TrustApcera
Henry Stapp, Director of Product Management at Apcera, explores the promises of the cloud and how new technologies (containers, micro-services, etc.) enable unparalleled speed and flexibility.
KURMA - A Containerized Container Platform - KubeCon 2016Apcera
Kurma is a container runtime that is based on the container instrumentation built into the Apcera Platform. Kurma, and its accompanied “KurmaOS” is our vision of a lightweight, fully containerized operating system.
This presentation will cover Apcera’s journey in its container
instrumentation. Beginning with the pre-Docker landscape, how it grew over the course of 3+ years, and the “next-gen” adaption of it, where the base container instrumentation has been adapted to stand on its own, and growing it to be used beyond just Apcera’s own usage.
Kurma incorporates a lot of lessons learned with both development and operations of a container platform, including building modular vs monolith, extensibility being built in vs built on, and managing a cluster of hosts and containers.
We’ll also cover our experiences with introducing it to Kubernetes as another first class runtime provider. Taking how Kurma works and have it work with Kubernetes, and how we’d like to see Kubernetes grow in some of the areas we see Kurma growing.
Integration Patterns and Anti-Patterns for Microservices ArchitecturesApcera
Integration Patterns and Anti-Patterns for Microservices Architectures
David Williams
Co-Founder and Partner, Williams Garcia
You can learn more about NATS at http://www.nats.io
Policy-based Cloud Storage: Persisting Data in a Multi-Site, Multi-Cloud WorldApcera
Apcera's Earl Ruby discusses the role of policy in cloud storage, microservices and container management at SF Microservices meetup. As organizations are building storage and infrastructure at scale, policy supports provisioning, security, performance and business logic.
What problems are we trying to solve?
Define “Scale”...
Cloud software has to to "play nice with others"
Policy for Provisioning, Security, Performance, and Business Logic
You can learn more about The Trusted Cloud Platform at: https://www.apcera.com/
NATS was created by Derek Collison, founder and CEO
of Apcera, who has spent 20+ years designing, building, and using publish-subscribe messaging systems.
Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. Learn how end users are building modern, reliable and scalable cloud and distributed systems with NATS.
Talk given by David Williams, Principal, Williams & Garcia
You can learn more about NATS at http://www.nats.io
Apcera reviews the good, bad and the amazing, based on feedback collected from 250+ early adopters, of emerging microservices platforms and best practices.
You can learn more about The Trusted Cloud Platform at: https://www.apcera.com/
Apcera: Agility and Security in Docker DeliveryApcera
Post Dockercon 2015 Technical Talk on Agility and Security in Docker Delivery
You can learn more about The Trusted Cloud Platform at: https://www.apcera.com/
Delivering Policy & Trust to the Hybrid CloudApcera
Enterprises are turning to the hybrid cloud to drive greater scalability and cost-effectiveness. But enterprises should beware, as the definition of “policy” varies wildly. Some say it’s the ability to control the resources apps’ use or where the apps run. Others view policy as governing the permissions and delivering security. Policy is all of that and more.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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/
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
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
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.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
2. 1 . 1
2 . 1
ABOUT
Waldemar Quevedo /
So ware Developer at in SF
Development of the Apcera Platform
Past: PaaS DevOps at Rakuten in Tokyo
NATS client maintainer (Ruby, Python)
@wallyqs
Apcera
3. 3 . 1
ABOUT THIS TALK
What is NATS
Features from NATS
NATS + Docker
6. 4 . 3
NATS
High Performance Messaging System
Created by
First written in in 2010
Originally built for Cloud Foundry
Rewritten in in 2012
Better performance
Open Source, MIT License
Used by Apcera, Ericsson, HTC, GE, Baidu
Derek Collison
Ruby
Go
https://github.com/nats-io
7. 4 . 4
NATS
Design constrained to keep it as operationally simple and
reliable as possible while still being both performant and
scalable.
12. 4 . 9
DESIGN
Concise feature set (pure PubSub!)
No built-in persistence of messages
No exactly-once-delivery promises either
Those concerns are simplified away from NATS
→ NATS Streaming
33. 5 . 2
FEATURES
Pure PubSub based Request/Reply
Subject routing with wildcards
Authorization
Distribution queue groups for balancing
Cluster mode for HA
Auto discovery of topology
/varzstyle monitoring
Secure TLS connections with certificates
34. 5 . 3
REQUEST/REPLY
It is pure PubSub based using and by
signaling in the subject:
NATS unique identifiers
limited interest
SUB _INBOX.y1JxglDi76shQQIhPbTDme 2
UNSUB 2 1
PUB help _INBOX.y1JxglDi76shQQIhPbTDme 6
please
tells the server to unsubscribe from subscription with sid=2
a er getting 1 message before sending a request on the
helpsubject.
35. 5 . 4
REQUEST/REPLY
If another subscriber is connected and interested in the
helpsubject, it will then receive a message with that inbox.
SUB help 90
# Message received from server
MSG help 90 _INBOX.y1JxglDi76shQQIhPbTDme 6
please
# Use the inbox to reply back
PUB _INBOX.y1JxglDi76shQQIhPbTDme 11
I can help!
36. 5 . 5
REQUEST/REPLY
Finally, original requestor will be receiving the message:
SUB _INBOX.y1JxglDi76shQQIhPbTDme 2
UNSUB 2 1
PUB help _INBOX.y1JxglDi76shQQIhPbTDme 6
please
MSG _INBOX.y1JxglDi76shQQIhPbTDme 2 11
I can help!
37. 5 . 6
REQUEST/REPLY
NATS clients libraries have helpers for generating the unique
inboxes which act as ephemeral subscriptions:
nats.NewInbox()
// _INBOX.y1JxglDi76shQQIhPbTDme
Used internally when making a Request:
nc, _ := nats.Connect(nats.DefaultURL)
t := 250*time.Millisecond
// Request sets to AutoUnsubscribe after 1 response
msg, err := nc.Request("help", []byte("please"), t)
if err == nil {
fmt.Println(string(msg.Data))
// => I can help!
}
38. REQUEST/REPLY → LOWEST LATENCY
Result of publishing a request to all nodes with limited
interest means we are getting the fastest reply back:
39. 5 . 7
REQUEST/REPLY → LOWEST LATENCY
Result of publishing a request to all nodes with limited
interest means we are getting the fastest reply back:
40. 5 . 85 . 9
SUBJECTS ROUTING
Wildcards: *
SUB foo.*.bar 90
PUB foo.hello.bar 2
hi
MSG foo.hello.bar 90 2
hi
e.g. subscribe to all requests being made on the demo site:
telnet demo.nats.io 4222
INFO {"auth_required":false,"version":"0.9.4",...}
SUB _INBOX.* 99
MSG _INBOX.y1JxglDi76shQQIhPbTDme 99 11
I can help!
41. 5 . 10
SUBJECTS ROUTING
Full wildcard: >
SUB hello.> 90
PUB hello.world.again 2
hi
MSG hello.world.again 90 2
hi
e.g. subscribe to all subjects and see whole traffic going
through the server:
telnet demo.nats.io 4222
INFO {"auth_required":false,"version":"0.9.4",...}
sub > 1
+OK
45. 5 . 14
DISTRIBUTION QUEUES
Service A workers subscribe to service.Aand create
workersdistribution queue group for balancing the work.
nc, _ := nats.Connect(nats.DefaultURL)
// SUB service.A workers 1rn
nc.QueueSubscribe("service.A", "workers",
func(m *nats.Msg) {
nc.Publish(m.Reply, []byte("hi!"))
})
50. 5 . 19
CLUSTERING
Connecting to a NATS cluster of 2 nodes explicitly
srvs := "nats://10.240.0.1:4222,nats://10.240.0.2:4223"
nc, _ := nats.Connect(srvs)
NOTE: NATS servers have a forwarding limit of one hop.
Each server will only forward a message that it has
received from a client to all connected servers that
expressed interest in the message's published subject.
A message received from a route will only be distributed
to local clients.
51. 5 . 20
CLUSTERING
Reconnect and disconnect handlers can be useful to trace
connection failures.
nc, err := nats.Connect(uri,
nats.DisconnectHandler(func(nc *nats.Conn) {
fmt.Printf("Got disconnected!n")
}),
nats.ReconnectHandler(func(nc *nats.Conn) {
fmt.Printf("Got reconnected to %v!n",
nc.ConnectedUrl())
}),
nats.ClosedHandler(func(nc *nats.Conn) {
fmt.Printf("Connection closed. Reason: %qn",
nc.LastError())
}),
)
52. 5 . 21
CLUSTER AUTO DISCOVERY
Since release, topology can be discovered
dynamically by clients!
v0.9.2
59. 5 . 27
On failure, clients reconnect to an available node.
60. 5 . 28
5 . 29
MONITORING
style monitoring endpoint available for inspecting the
internal state of the server.
/varz
Other available endpoints:
- Info of clients connected to this server/connz
- Subscriptions metrics/subsz
- Cluster routes/routez
64. 5 . 33
TLS
Supported for client and route connections, and for
monitoring.
https_port: 6443
tls {
cert_file: "./configs/certs/server-cert.pem"
key_file: "./configs/certs/server-key.pem"
ca_file: "./configs/certs/ca.pem"
# Require client certificates
verify: true
}
65. 5 . 34
CLUSTER TLS
Securing route connections with TLS
cluster {
listen: 0.0.0.0:6222
tls {
# Route cert
cert_file: "./configs/certs/srva-cert.pem"
# Private key
key_file: "./configs/certs/srva-key.pem"
# Optional certificate authority verifying routes
# Required when we have self-signed CA, etc.
ca_file: "./configs/certs/ca.pem"
}
}
66. 5 . 35
SUBJECTS AUTHORIZATION
PubSub on certain subjects can be disallowed in the server's
configuration:
authorization {
admin = { publish = ">", subscribe = ">" }
requestor = {
publish = ["req.foo", "req.bar"]
subscribe = "_INBOX.*"
}
users = [
{user: alice, password: foo, permissions: $admin}
{user: bob, password: bar, permissions: $requestor}
]
}
67. 5 . 36
SUBJECTS AUTHORIZATION
Clients are not allowed to publish on _SYS(reserved):
PUB _SYS.foo 2
hi
-ERR 'Permissions Violation for Publish to "_SYS.foo"'
71. 6 . 4
FIRST STEP: COMPILE
github.com/nats-io/gnatsd/Dockerfile
FROM golang:1.6.3
MAINTAINER Derek Collison <derek@apcera.com>
COPY . /go/src/github.com/nats-io/gnatsd
WORKDIR /go/src/github.com/nats-io/gnatsd
RUN CGO_ENABLED=0 go install ...(elided)
EXPOSE 4222 8222
ENTRYPOINT ["gnatsd"]
CMD ["--help"]
72. 6 . 5
SECOND STEP: FROM SCRATCH
github.com/nats-io/nats-docker/Dockerfile
FROM scratch
COPY gnatsd /gnatsd
COPY gnatsd.conf /gnatsd.conf
EXPOSE 4222 6222 8222
ENTRYPOINT ["/gnatsd", "-c", "/gnatsd.conf"]
CMD []
73. 6 . 6
THE NATS DOCKER IMAGE
By default it is exposing these ports:
# Clients, Cluster and Monitoring ports
EXPOSE 4222 6222 8222
- Clients will be connecting against this port4222
- Port used for the cluster routes6222
- HTTP Monitoring endpoint8222
80. 6 . 12
6 . 13
DOCKER SWARM BASED NATS CLUSTER
Auto discovery becomes helpful in this context, we can
assemble one with the following commands.
docker network create --driver overlay nats-cluster-example
docker service create --network nats-cluster-example --name nats-A
nats:0.9.4 -cluster nats://0.0.0.0:6222
docker service create --network nats-cluster-example --name nats-B
nats:0.9.4 -routes nats://nats-A:6222
-cluster nats://0.0.0.0:6222
docker service create --network nats-cluster-example --name nats-C
nats:0.9.4 -routes nats://nats-A:6222,nats://nats-B:6222
-cluster nats://0.0.0.0:6222
81. 6 . 14
DOCKER SWARM BASED NATS CLUSTER
Even easier: just use same configuration in all nodes.
for node in A B C; do
docker service create --network nats-cluster-example
--name nats-$node nats:0.9.4
-routes nats://nats-A:6222
-cluster nats://0.0.0.0:6222
done
Initial server becomes the seed server, ignoring route to self.
84. NATS is a simple, fast and reliable solution for the internal
communication of a distributed system.
Docker flexible tooling is a good complement for building
NATS based applications.
85. 7 . 2
7 . 3
BONUS: NATS STREAMING
NATS Streaming recently became an official image too!
It is a layer on top of NATS totalling in ~10MB.
Further info: github.com/nats-io/nats-streaming-server