Slides for Jan 29, 2020 Chicago Rust Meetup talk where I discuss using Rust based Lambdas in AWS. I don't believe the talk is being recorded so might not make 100% sense, but left links on most pages for more info. Hope this is useful to folks.
Integrating icinga2 and the HashiCorp suiteBram Vogelaar
This document discusses integrating various HashiCorp tools like Packer, Vagrant, Terraform, Consul, and Vault with Icinga monitoring. Packer is used to build machine images while Vagrant provisions virtual machines. Terraform models infrastructure as code and can integrate with Icinga to provision hosts, checks, and notifications. Consul provides service discovery and can trigger Icinga config deployment. Vault manages secrets and certificates that could be used for authentication in Icinga. The presenter demonstrates using these tools together for infrastructure as code and monitoring workflows.
This document discusses embracing HTTP and changing approaches to web application development. It suggests flipping dependencies so that applications are built around HTTP rather than frameworks. It also recommends taking a more stateful approach by going CQRS/ES rather than relying on CRUD and resources. The document questions common patterns and promotes thinking beyond frameworks to more fundamental concepts.
Lightweight wrapper for Hive on Amazon EMRShinji Tanaka
This document describes a lightweight wrapper for Hive on Amazon EMR. The wrapper uses the Net::Amazon::EMR::Wrapper module to interact with an Amazon EMR cluster running Hive. It allows users to execute HiveQL queries, load and query data from S3, and retrieve results without having to directly interact with the EMR cluster. The wrapper handles starting and stopping the cluster and monitoring query status. Sample code is provided to demonstrate using the wrapper to create a table, load partitions, run queries, and retrieve results.
Using Node.js to Build Great Streaming Services - HTML5 Dev ConfTom Croucher
The document discusses using Node.js to build streaming services. It describes how Node.js allows for scalable server-side code using JavaScript and mentions libraries like JSONStream that can be used to parse JSON streams. The document also discusses different types of streaming like simplex, throughput, and duplex streaming and how to manage backpressure in streams.
"Roles and Profiles" is now the ubiquitous design pattern to create your puppet code tree. In this talk we will discuss writing reusable and maintainable profiles. We ll start by introducing creating module structures and will move on to type hinting and setting appropriate defaults. Finally we ll discuss the importance and the enforcing of code style conventions that allows multiple teams or projects to inner-source profiless
The document discusses various technologies for real-time web applications including PSGI, Plack, AnyEvent, AnyMQ, server-push technologies like Comet, WebSockets, and the Web::Hippie and Web::Hippie::Pipe modules. It provides code examples of using AnyEvent and POE for asynchronous programming, AnyMQ for publishing messages to different message queues, and Web::Hippie::Pipe for abstracting persistent bidirectional connections. The document advocates for relaxing the definition of "hippies" to support more connection types and demonstrates how Hippie::Pipe can provide a unified interface.
Puppet is an open source configuration management tool that can be used to automate the configuration and management of infrastructure and applications. It uses a client-server architecture and declarative language to define and enforce the desired state of systems. Other HashiCorp tools like Packer, Terraform, Vault and Nomad can integrate with Puppet for tasks like infrastructure provisioning, secrets management and workload orchestration. Bolt is a task orchestration tool from Puppet that can be used to automate operational tasks across infrastructure defined by tools like Terraform. Consul provides service discovery and configuration for the Puppet infrastructure.
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardSV Ruby on Rails Meetup
Wesley Beary: Cloud computing scared the crap out of me - the quirks and nightmares
of provisioning computing and storage on AWS, Terremark, Rackspace,
etc - until I took the bull by the horns. Let me now show you how I
tamed that bull.
Learn how to easily get started cloud computing with fog. It gives you
the reins within any Ruby application or script. If you can control
your infrastructure choices, you can make better choices in
development and get what you need in production.
You'll get an overview of fog and concrete examples to give you a head
start on your own provisioning workflow.
Integrating icinga2 and the HashiCorp suiteBram Vogelaar
This document discusses integrating various HashiCorp tools like Packer, Vagrant, Terraform, Consul, and Vault with Icinga monitoring. Packer is used to build machine images while Vagrant provisions virtual machines. Terraform models infrastructure as code and can integrate with Icinga to provision hosts, checks, and notifications. Consul provides service discovery and can trigger Icinga config deployment. Vault manages secrets and certificates that could be used for authentication in Icinga. The presenter demonstrates using these tools together for infrastructure as code and monitoring workflows.
This document discusses embracing HTTP and changing approaches to web application development. It suggests flipping dependencies so that applications are built around HTTP rather than frameworks. It also recommends taking a more stateful approach by going CQRS/ES rather than relying on CRUD and resources. The document questions common patterns and promotes thinking beyond frameworks to more fundamental concepts.
Lightweight wrapper for Hive on Amazon EMRShinji Tanaka
This document describes a lightweight wrapper for Hive on Amazon EMR. The wrapper uses the Net::Amazon::EMR::Wrapper module to interact with an Amazon EMR cluster running Hive. It allows users to execute HiveQL queries, load and query data from S3, and retrieve results without having to directly interact with the EMR cluster. The wrapper handles starting and stopping the cluster and monitoring query status. Sample code is provided to demonstrate using the wrapper to create a table, load partitions, run queries, and retrieve results.
Using Node.js to Build Great Streaming Services - HTML5 Dev ConfTom Croucher
The document discusses using Node.js to build streaming services. It describes how Node.js allows for scalable server-side code using JavaScript and mentions libraries like JSONStream that can be used to parse JSON streams. The document also discusses different types of streaming like simplex, throughput, and duplex streaming and how to manage backpressure in streams.
"Roles and Profiles" is now the ubiquitous design pattern to create your puppet code tree. In this talk we will discuss writing reusable and maintainable profiles. We ll start by introducing creating module structures and will move on to type hinting and setting appropriate defaults. Finally we ll discuss the importance and the enforcing of code style conventions that allows multiple teams or projects to inner-source profiless
The document discusses various technologies for real-time web applications including PSGI, Plack, AnyEvent, AnyMQ, server-push technologies like Comet, WebSockets, and the Web::Hippie and Web::Hippie::Pipe modules. It provides code examples of using AnyEvent and POE for asynchronous programming, AnyMQ for publishing messages to different message queues, and Web::Hippie::Pipe for abstracting persistent bidirectional connections. The document advocates for relaxing the definition of "hippies" to support more connection types and demonstrates how Hippie::Pipe can provide a unified interface.
Puppet is an open source configuration management tool that can be used to automate the configuration and management of infrastructure and applications. It uses a client-server architecture and declarative language to define and enforce the desired state of systems. Other HashiCorp tools like Packer, Terraform, Vault and Nomad can integrate with Puppet for tasks like infrastructure provisioning, secrets management and workload orchestration. Bolt is a task orchestration tool from Puppet that can be used to automate operational tasks across infrastructure defined by tools like Terraform. Consul provides service discovery and configuration for the Puppet infrastructure.
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardSV Ruby on Rails Meetup
Wesley Beary: Cloud computing scared the crap out of me - the quirks and nightmares
of provisioning computing and storage on AWS, Terremark, Rackspace,
etc - until I took the bull by the horns. Let me now show you how I
tamed that bull.
Learn how to easily get started cloud computing with fog. It gives you
the reins within any Ruby application or script. If you can control
your infrastructure choices, you can make better choices in
development and get what you need in production.
You'll get an overview of fog and concrete examples to give you a head
start on your own provisioning workflow.
Tatsumaki is a non-blocking web framework for Perl built on Plack and AnyEvent. It allows building asynchronous applications that can handle thousands of concurrent connections. Tatsumaki uses psgi.streaming to enable asynchronous responses. It includes a non-blocking HTTP client and pure Perl message queue for building real-time applications like chat and comet. The framework is in a beta stage but plans include services for XMPP/IRC bots and a standard comet interface.
(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014Amazon Web Services
The document outlines steps to migrate data from an old DynamoDB table and S3 bucket to new ones using the AWS SDK for PHP version 3. It discusses:
1. Scanning the old DynamoDB table and copying records to a WriteRequestBatch for the new table.
2. Using S3 copy object commands to copy files from the old bucket to new while updating URLs in DynamoDB records.
3. Executing the copy commands and flushing the WriteRequestBatch to complete the migration.
This document provides an overview of Apache Cassandra including:
- What Cassandra is and how it differs from an RDBMS by not supporting joins, having an optional schema, and being transactionless.
- Cassandra's data model using keyspaces, column families, and static vs dynamic column families.
- How to integrate Cassandra with Java applications using the Hector client and ColumnFamilyTemplate for querying, updating, and deleting data.
- Additional topics covered include the CAP theorem, data storage and compaction, and using CQL via JDBC.
Data::ObjectDriver is a simple and transparent data interface library with caching capabilities. It provides an object-oriented interface to database tables and supports features like master-slave replication, partitioning, and caching using Memcached. Classes define the schema and connection details. Methods provide CRUD functionality and relationships. Custom drivers can be created to support different database architectures or caching strategies.
This document provides an agenda and overview of various Node.js concepts including the package manager NPM, web frameworks like Express, template engines like Jade and EJS, databases drivers for Redis and MongoDB, testing frameworks like Mocha and Nodeunit, avoiding callback hell using the async library, and debugging with Node Inspector. It discusses installing Node.js, creating HTTP servers, middleware, authentication, internationalization, and more.
A gentle introduction to Observability and how to setup a highly available monitoring platform accros multiple datacenters.
During this talk we will investigate how we can setup and monitor an monitoring setup accross 2 DCs using Prometheus, Loki, Tempo, Alertmanager and Grafana. monitoring some services with some lessons learned along the way.
- PSGI (Perl Web Server Gateway Interface) and Plack provide a common interface and utilities for building web applications and servers in Perl.
- PSGI defines a standard interface that web frameworks can implement to work with different server implementations. Plack provides server implementations like standalone, FastCGI and Apache modules.
- This allows frameworks to focus on the application code instead of server specifics, and servers to handle multiple frameworks. Common middleware and testing utilities are also included.
- Examples of frameworks that have adopted PSGI include Catalyst, Maypole and Mojolicious. Popular servers built on Plack include Starman and Dancer.
Video presentation: https://www.youtube.com/watch?v=jLAFXQ1Av50
Most applications written in Ruby are great, but also exists evil code applying WOP techniques. There are many workarounds in several programming languages, but in Ruby, when it happens, the proportion is bigger. It's very easy to write Ruby code with collateral damage.
You will see a collection of bad Ruby codes, with a description of how these codes affected negatively their applications and the solutions to fix and avoid them. Long classes, coupling, misapplication of OO, illegible code, tangled flows, naming issues and other things you can ever imagine are examples what you'll get.
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
Building a desktop app using HTTP::Engine as a micro web server, SQLite for data storage, and jQuery for the user interface. Comet and asynchronous workers are used to enable real-time features. JSON-RPC and routing are implemented to support AJAX actions. The combination provides a lightweight "desktop app" architecture that is cross-platform.
S2Graph is a large-scale graph database built on Hbase that provides storage and graph APIs to enable real-time breadth-first search on large, constantly changing social graphs. It models social network data, such as users, messages, posts, and relationships between them as vertices and edges in a graph. This allows querying the graph through steps that traverse edges between vertices to retrieve related data in real-time with low latency. Some examples demonstrated include messaging, newsfeed, recommendation, and search applications.
This document provides an introduction and overview of Windows PowerShell. It discusses what PowerShell is, how it works, and how it can be used for administration tasks and extended to work with other products. The document covers PowerShell concepts like verbs, nouns, pipelines, and cmdlets. It also provides examples of using PowerShell for ad-hoc tasks and developing PowerShell scripts and cmdlets for production environments.
This document provides an overview and introduction to using the Sinatra web framework for building RESTful web applications in Ruby. It discusses Sinatra's philosophy of being simple and easy to use, introduces REST principles and how Sinatra supports them through HTTP verbs, routing, caching, authentication and more. Code examples are provided to demonstrate how a basic "Hello World" application is structured in Sinatra and how requests are routed and executed under the hood.
Short lightning talk about the HBase plugin for Akka Persistence and how it's how key design was specifically tuned for increasing numeric sequential idenfitiers, so that the cluster can be utilised properly.
https://github.com/ktoso/akka-persistence-hbase
The AWS Command Line Interface (AWS CLI) provides an easy-to-use command line interface to AWS and allows you to create powerful automation scripts. In this session, you learn advanced techniques that open up new scenarios for using the AWS CLI. We demonstrate how to filter and transform service responses and how to chain and script commands, and we explore new features in the AWS CLI.
Hector v2: The Second Version of the Popular High-Level Java Client for Apach...zznate
This presentation will provide a preview of our new high-level API designed around community feedback and built on the solid foundation of Hector client internals currently in use by a number of production systems. A brief introduction to the existing Hector client will be included to accomadate new users.
Algebird : Abstract Algebra for big data analytics. Devoxx 2014Samir Bessalah
The document discusses the Algebird library, which uses concepts from abstract algebra to enable distributed analytics. It describes how algebraic structures like monoids allow operations to be associative, commutative and parallelizable. This supports scalable analysis of large datasets using techniques such as sketches, bloom filters and priority queues. Algebird provides implementations of these structures to perform tasks like top-k analysis, cardinality estimation and streaming analytics in both batch and real-time systems.
PSGI is a Perl port of Python's WSGI and Ruby's Rack that defines a common interface between web servers and frameworks. Plack provides reference implementations of PSGI servers as well as middleware and utilities. This allows frameworks to run on many servers like standalone, FastCGI, and Apache using a common PSGI application interface. Plack is fast, supports many frameworks through adapters, and provides tools like Plackup and middleware to help build and test PSGI applications.
The document discusses Node.js and asynchronous I/O. It explains that Node.js is an asynchronous event-driven JavaScript runtime that uses a single-threaded model with non-blocking I/O to handle high volumes of simultaneous connections efficiently. It also discusses how Node.js handles asynchronous operations using an event loop and callback functions instead of blocking operations.
A beginners guide to the unsung Nomad feature, Parameterized Jobs: a great way to represent batch workloads that require additional context. We'll look at Nomad as a whole, how parameterized jobs fit into the bigger picture, and then put the feature (as well as the related nomad job dispatch command) into practice with some example jobs.
You will leave knowing how to create a parameterized job, how to dispatch a parameterized job, and a general understanding of all the behind the scenes machinery that makes your workload run smoothly.
Middy.js - A powerful Node.js middleware framework for your lambdas Luciano Mammino
This document discusses Middy.js, a middleware framework for AWS Lambda functions written in Node.js. It allows separating the "business logic" of a lambda function from common "boilerplate" code through the use of middleware. Middy comes with built-in middleware for tasks like request parsing, validation, and error handling. The document provides an example of using Middy to add middleware like a body parser and validator to a payment processing lambda function.
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...DevOps_Fest
Your system is composed of highly decoupled, independent, fast, and modular microservices. But how can they share common configurations, dynamic endpoints, database references, and properly rotate secrets? Based on the size and complexity of your serverless system, you may simply use environment variables or eventually opt for some sort of centralized store. And then how do integrate all of this with monitoring and automation tooling? During this session, I will present the ideal solutions and some of the alternatives available on AWS (such as AWS Systems Manager Parameter Store and AWS Secrets Manager). I will also discuss the best use cases for each solution and the corresponding best practices to achieve the highest standards for security and performance.
Tatsumaki is a non-blocking web framework for Perl built on Plack and AnyEvent. It allows building asynchronous applications that can handle thousands of concurrent connections. Tatsumaki uses psgi.streaming to enable asynchronous responses. It includes a non-blocking HTTP client and pure Perl message queue for building real-time applications like chat and comet. The framework is in a beta stage but plans include services for XMPP/IRC bots and a standard comet interface.
(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014Amazon Web Services
The document outlines steps to migrate data from an old DynamoDB table and S3 bucket to new ones using the AWS SDK for PHP version 3. It discusses:
1. Scanning the old DynamoDB table and copying records to a WriteRequestBatch for the new table.
2. Using S3 copy object commands to copy files from the old bucket to new while updating URLs in DynamoDB records.
3. Executing the copy commands and flushing the WriteRequestBatch to complete the migration.
This document provides an overview of Apache Cassandra including:
- What Cassandra is and how it differs from an RDBMS by not supporting joins, having an optional schema, and being transactionless.
- Cassandra's data model using keyspaces, column families, and static vs dynamic column families.
- How to integrate Cassandra with Java applications using the Hector client and ColumnFamilyTemplate for querying, updating, and deleting data.
- Additional topics covered include the CAP theorem, data storage and compaction, and using CQL via JDBC.
Data::ObjectDriver is a simple and transparent data interface library with caching capabilities. It provides an object-oriented interface to database tables and supports features like master-slave replication, partitioning, and caching using Memcached. Classes define the schema and connection details. Methods provide CRUD functionality and relationships. Custom drivers can be created to support different database architectures or caching strategies.
This document provides an agenda and overview of various Node.js concepts including the package manager NPM, web frameworks like Express, template engines like Jade and EJS, databases drivers for Redis and MongoDB, testing frameworks like Mocha and Nodeunit, avoiding callback hell using the async library, and debugging with Node Inspector. It discusses installing Node.js, creating HTTP servers, middleware, authentication, internationalization, and more.
A gentle introduction to Observability and how to setup a highly available monitoring platform accros multiple datacenters.
During this talk we will investigate how we can setup and monitor an monitoring setup accross 2 DCs using Prometheus, Loki, Tempo, Alertmanager and Grafana. monitoring some services with some lessons learned along the way.
- PSGI (Perl Web Server Gateway Interface) and Plack provide a common interface and utilities for building web applications and servers in Perl.
- PSGI defines a standard interface that web frameworks can implement to work with different server implementations. Plack provides server implementations like standalone, FastCGI and Apache modules.
- This allows frameworks to focus on the application code instead of server specifics, and servers to handle multiple frameworks. Common middleware and testing utilities are also included.
- Examples of frameworks that have adopted PSGI include Catalyst, Maypole and Mojolicious. Popular servers built on Plack include Starman and Dancer.
Video presentation: https://www.youtube.com/watch?v=jLAFXQ1Av50
Most applications written in Ruby are great, but also exists evil code applying WOP techniques. There are many workarounds in several programming languages, but in Ruby, when it happens, the proportion is bigger. It's very easy to write Ruby code with collateral damage.
You will see a collection of bad Ruby codes, with a description of how these codes affected negatively their applications and the solutions to fix and avoid them. Long classes, coupling, misapplication of OO, illegible code, tangled flows, naming issues and other things you can ever imagine are examples what you'll get.
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
Building a desktop app using HTTP::Engine as a micro web server, SQLite for data storage, and jQuery for the user interface. Comet and asynchronous workers are used to enable real-time features. JSON-RPC and routing are implemented to support AJAX actions. The combination provides a lightweight "desktop app" architecture that is cross-platform.
S2Graph is a large-scale graph database built on Hbase that provides storage and graph APIs to enable real-time breadth-first search on large, constantly changing social graphs. It models social network data, such as users, messages, posts, and relationships between them as vertices and edges in a graph. This allows querying the graph through steps that traverse edges between vertices to retrieve related data in real-time with low latency. Some examples demonstrated include messaging, newsfeed, recommendation, and search applications.
This document provides an introduction and overview of Windows PowerShell. It discusses what PowerShell is, how it works, and how it can be used for administration tasks and extended to work with other products. The document covers PowerShell concepts like verbs, nouns, pipelines, and cmdlets. It also provides examples of using PowerShell for ad-hoc tasks and developing PowerShell scripts and cmdlets for production environments.
This document provides an overview and introduction to using the Sinatra web framework for building RESTful web applications in Ruby. It discusses Sinatra's philosophy of being simple and easy to use, introduces REST principles and how Sinatra supports them through HTTP verbs, routing, caching, authentication and more. Code examples are provided to demonstrate how a basic "Hello World" application is structured in Sinatra and how requests are routed and executed under the hood.
Short lightning talk about the HBase plugin for Akka Persistence and how it's how key design was specifically tuned for increasing numeric sequential idenfitiers, so that the cluster can be utilised properly.
https://github.com/ktoso/akka-persistence-hbase
The AWS Command Line Interface (AWS CLI) provides an easy-to-use command line interface to AWS and allows you to create powerful automation scripts. In this session, you learn advanced techniques that open up new scenarios for using the AWS CLI. We demonstrate how to filter and transform service responses and how to chain and script commands, and we explore new features in the AWS CLI.
Hector v2: The Second Version of the Popular High-Level Java Client for Apach...zznate
This presentation will provide a preview of our new high-level API designed around community feedback and built on the solid foundation of Hector client internals currently in use by a number of production systems. A brief introduction to the existing Hector client will be included to accomadate new users.
Algebird : Abstract Algebra for big data analytics. Devoxx 2014Samir Bessalah
The document discusses the Algebird library, which uses concepts from abstract algebra to enable distributed analytics. It describes how algebraic structures like monoids allow operations to be associative, commutative and parallelizable. This supports scalable analysis of large datasets using techniques such as sketches, bloom filters and priority queues. Algebird provides implementations of these structures to perform tasks like top-k analysis, cardinality estimation and streaming analytics in both batch and real-time systems.
PSGI is a Perl port of Python's WSGI and Ruby's Rack that defines a common interface between web servers and frameworks. Plack provides reference implementations of PSGI servers as well as middleware and utilities. This allows frameworks to run on many servers like standalone, FastCGI, and Apache using a common PSGI application interface. Plack is fast, supports many frameworks through adapters, and provides tools like Plackup and middleware to help build and test PSGI applications.
The document discusses Node.js and asynchronous I/O. It explains that Node.js is an asynchronous event-driven JavaScript runtime that uses a single-threaded model with non-blocking I/O to handle high volumes of simultaneous connections efficiently. It also discusses how Node.js handles asynchronous operations using an event loop and callback functions instead of blocking operations.
A beginners guide to the unsung Nomad feature, Parameterized Jobs: a great way to represent batch workloads that require additional context. We'll look at Nomad as a whole, how parameterized jobs fit into the bigger picture, and then put the feature (as well as the related nomad job dispatch command) into practice with some example jobs.
You will leave knowing how to create a parameterized job, how to dispatch a parameterized job, and a general understanding of all the behind the scenes machinery that makes your workload run smoothly.
Middy.js - A powerful Node.js middleware framework for your lambdas Luciano Mammino
This document discusses Middy.js, a middleware framework for AWS Lambda functions written in Node.js. It allows separating the "business logic" of a lambda function from common "boilerplate" code through the use of middleware. Middy comes with built-in middleware for tasks like request parsing, validation, and error handling. The document provides an example of using Middy to add middleware like a body parser and validator to a payment processing lambda function.
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...DevOps_Fest
Your system is composed of highly decoupled, independent, fast, and modular microservices. But how can they share common configurations, dynamic endpoints, database references, and properly rotate secrets? Based on the size and complexity of your serverless system, you may simply use environment variables or eventually opt for some sort of centralized store. And then how do integrate all of this with monitoring and automation tooling? During this session, I will present the ideal solutions and some of the alternatives available on AWS (such as AWS Systems Manager Parameter Store and AWS Secrets Manager). I will also discuss the best use cases for each solution and the corresponding best practices to achieve the highest standards for security and performance.
Alex Casalboni - Configuration management and service discovery - Codemotion ...Codemotion
Your system is composed of highly decoupled, independent, fast, and modular microservices. But how can they share common configurations, dynamic endpoints, database references, and properly rotate secrets? Based on the size and complexity of your serverless system, you may simply use environment variables or eventually opt for some sort of centralized store. During this session, I will present the ideal solutions and some of the alternatives available on AWS (such as Parameter Store and AWS Secrets Manager). I will also discuss the best use cases for each solution
This document summarizes a presentation about serverless and mobile applications. It includes:
- An introduction focusing on startups, mobile apps, serverless computing, blockchain, and fintech.
- Details about AWS AppSync and its Todo data model.
- Information on request and response mapping templates in AWS Lambda.
- An overview of delta sync using AppSync, base queries, subscriptions, and delta queries.
- Notes on serverless technologies like AWS Lambda and its supported runtimes.
- Resources on serverless best practices and architectures using Lambda, API Gateway, and other AWS services.
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
HA websites are where the rubber meets the road - at 200km/h. Traditional separation of dev and ops just doesn't cut it.
Everything is related to everything. Code relies on performant and resilient infrastructure, but highly performant infrastructure will only get a poorly written application so far. Worse still, root cause analysis in HA sites will more often than not identify problems that don't clearly belong to either devs or ops.
The two options are collaborate or die.
This talk will introduce 3 core principles for improving collaboration between operations and development teams: consistency, repeatability, and visibility. These principles will be investigated with real world case studies and associated technologies audience members can start using now. In particular, there will be a focus on:
- fast provisioning of test environments with configuration management
- reliable and repeatable automated deployments
- application and infrastructure visibility with statistics collection, logging, and visualisation
1. The document demonstrates how to use various AWS services like Kinesis, Redshift, Elasticsearch to analyze streaming game log data.
2. It shows setting up an EC2 instance to generate logs, creating a Kinesis stream to ingest the logs, and building Redshift tables to run queries on the logs.
3. The document also explores loading the logs from Kinesis into Elasticsearch for search and linking Kinesis and Redshift with Kinesis Analytics for real-time SQL queries on streams.
Building a serverless company on AWS lambda and Serverless frameworkLuciano Mammino
Planet9energy.com is a new electricity company building a sophisticated analytics and energy trading platform for the UK market. Since the earliest draft of the platform, we took the unconventional decision to go serverless and build the product on top of AWS Lambda and the Serverless framework using Node.js. In this talk, I want to discuss why we took this radical decision, what are the pros and cons of this approach and what are the main issues we faced as a tech team in our design and development experience. We will discuss how normal things like testing and deployment need to be re-thought to work on a serverless fashion but also the benefits of (almost) infinite self-scalability and the peace of mind of not having to manage hundreds of servers. Finally, we will underline how Node.js seems to fit naturally in this scenario and how it makes developing serverless applications extremely convenient.
Technologies:
Backend
Frontend
Application architecture
Javascript
cloud computing
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020Matt Raible
Spring Boot is an efficient way to build Java applications with the Spring Framework. If you’re developing apps that handle sensitive data, you should make sure they’re secure.
This session will cover HTTPS, dependency checking, CSRF, using a CSP to prevent XSS, OIDC, password hashing, and much more!
You’ll learn how to add these features to a real application, using the Java language you know and love.
* Blog post: https://developer.okta.com/blog/2018/07/30/10-ways-to-secure-spring-boot
* Cheat sheet: https://snyk.io/blog/spring-boot-security-best-practices/
* OIDC demo: http://bit.ly/spring-oidc-demo
This document provides an overview of using Perl web frameworks Catalyst and Mojolicious. It discusses MVC architecture and components like routers, controllers, models, and views. It also covers installing frameworks via CPAN, creating Catalyst applications, adding controllers, views using Template Toolkit, and models using DBIC. Authentication and authorization plugins for Catalyst are also mentioned.
The document discusses Perl web frameworks Catalyst and Mojolicious. It provides an overview of key MVC concepts like routers, controllers, models and views. It then demonstrates how to install and create a basic Catalyst application with a root controller and default action. It also covers additional Catalyst controller features like actions, routes, context object and chained actions.
This document discusses hacking serverless runtime environments like AWS Lambda, Azure Functions, and Auth0 WebTask. It begins by introducing the presenters and what will be covered. The document then explores how different vendors implement sandbox isolation and common attack techniques like persistence and data exfiltration. It examines specific runtimes like AWS Lambda in depth, investigating how to profile the environment, persist code, and escalate privileges. The document emphasizes that detection is difficult in serverless environments and provides examples of potential indicators of compromise. Overall, the document provides an overview of attacking and defending serverless architectures.
This document summarizes ql.io, a domain specific language for consuming HTTP APIs. Ql.io allows API calls to be made with fewer lines of code and reduced data sizes compared to traditional HTTP requests. It handles parallelizing requests and joining responses implicitly. Ql.io also allows mapping HTTP resources to SQL-like queries, enabling sequential and parallel queries over multiple APIs with a simple syntax. It can be used as an HTTP gateway or from Node.js.
Managed services such as AWS Lambda and API Gateway allow developers to focus on value adding development instead of IT heavy lifting. This workshop introduces how to build a simple REST blog backend using AWS technologies and the serverless framework.
AWS Lambda with Serverless Framework and JavaManish Pandit
Serverless is a node.js based framework that makes creating, deploying, and managing serverless functions a breeze. We will use AWS Lambda as our FaaS (Function-as-a-Service) provider, although Serverless supports IBM OpenWhisk and Microsoft Azure as well.
In this session, we will talk about Serverless Applications, and Create and deploy a java-maven based AWS Lambda API. We will also explore the command line interface to manage lambda, which is provided out of the box by serverless framework.
fog or: How I Learned to Stop Worrying and Love the CloudWesley Beary
Learn how to easily get started on cloud computing with fog. If you can control your infrastructure choices, you’ll make better choices in development and get what you need in production. You'll get an overview of fog and concrete examples to give you a head start on your provisioning workflow.
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)Wesley Beary
The document discusses how to use the Fog library to interact with cloud services. Fog allows interacting with multiple cloud providers like AWS, Rackspace, etc in a portable way. It provides models, collections, and methods to manage resources like servers, storage, DNS etc. in an abstracted way across providers. The document demonstrates how to boot a server, install SSH keys, run commands via SSH, and ping a target using the Fog and Ruby APIs in just a few lines of code.
Nerd Out with Hadoop: A Not-So-Basic Introduction to the PlatformSteve Hoffman
This document provides an introduction to the Hadoop platform and its components. It discusses HDFS for distributed file storage, MapReduce for parallel processing, Hive for SQL-like queries, HBase for column-oriented storage, and Dremel/Impala/Drill for fast SQL queries. It also provides examples of using Hadoop with open UFO sightings data, including importing the data, analyzing it with Hive, and visualizing locations on a map. The document is aimed at providing a practical introduction to Hadoop concepts and hands-on experience with an interesting real-world dataset.
Combating DNS Exfiltration in AWS - AWS Midwest Community Day 2018Steve Hoffman
Slides from AWS Midwest Community Day presentation on DNS Exfiltration in Amazon Web Services and some things you can do to protect yourself - June 7, 2018
Combating DNS Exfiltration in AWS - BSidesChicago 2018Steve Hoffman
Slides from BSidesChicago (https://bsideschicago.org/) presentation on DNS Exfiltration in Amazon Web Services and some things you can do to protect yourself - May 12, 2018
How Open Source is Transforming the Internet. Again.Steve Hoffman
The document discusses how open source software is transforming the internet and addressing challenges of complexity, scale, and continuous delivery in large internet applications. It outlines the history of computing and the internet, challenges of devops at large companies, and how open source approaches are needed to meet these challenges through rapid innovation and adaptation. The document also discusses how large enterprises can help sustain the open source software ecosystem through contributions of code, bug reports, hiring consultants, and participating in communities.
flAWS Walkthrough - AWS Chicago Meetup 8/8/2017Steve Hoffman
Slides from a walkthrough of the https://flaws.cloud/ puzzle. I highly recommend you try the puzzle and read the hints and assoicated links before looking at the answers!
Have fun!
Enabling Microservice @ Orbitz - GOTO Chicago 2016Steve Hoffman
In this talk we will discuss how we enabled decomposition of one of our 500+ system components into a continuously deployed microservice cluster. Our platform is comprised of Apache Mesos/Marathon, Docker, and a number of local services including Consul for service discovery, Logstash for diskless logging, and a custom metrics forwarder to Graphite. Building on this, we'll detail our CI pipeline using Jenkins workflows to build and publish microservices as Docker images, test and deploy via Marathon/Mesos, and automated change tickets. Finally, we'll discuss lessons learned from building our own enterprise PaaS and scaling it out to a large organization.
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015Steve Hoffman
In this talk we discuss how we enabled decomposition of one of our 500+ system components into a continuously deployed microservice cluster using automated pipelines in jenkins with docker, mesos, & marathon
Enabling Hybrid Workflows with Docker/Mesos @OrbitzSteve Hoffman
This document discusses using Mesos and Docker together at Orbitz to enable hybrid workflows. It describes three main use cases: 1) Using Mesos and Docker to run a microservices platform with multiple environments and datacenters, 2) Using Mesos and Docker slaves to build a Jenkins build farm, and 3) Using specialized Docker slaves to deploy apps from Jenkins to Marathon and other platforms. It provides examples of Dockerfiles used to create specialized slaves for building, deploying to AWS, and other tasks.
Slides from Orbitz's use case for microservices on docker & mesos at Velocity Santa Clara 2015 conference.
Details: http://velocityconf.com/web-mobile-business-conf-2015/public/schedule/detail/40700
Chicago Hadoop User Group (CHUG) Presentation on Apache Flume - April 9, 2014Steve Hoffman
Apache Flume is a distributed system for efficiently collecting, aggregating, and moving large amounts of log data from many different sources to a centralized data store such as Hadoop Distributed File System (HDFS). It consists of agents that collect data from sources and deliver it to sinks using channels. Common sources include log files, Kafka streams, and Avro clients. Common sinks include HDFS, HBase, Elasticsearch, and Kafka. Flume provides reliable and available service for efficiently collecting and moving large amounts of log data.
TS-2614 - Jini™ Network Technology-Enabled Service-Oriented Architecture, A L...Steve Hoffman
This document summarizes a presentation given at the 2004 JavaOne conference about Jini network technology. It discusses how Orbitz uses Jini to power its travel booking websites in a scalable and reliable way. Some key benefits of Jini mentioned include its self-healing capabilities, automatic load balancing, and horizontal scalability. Some challenges with distributed computing like random load balancing and event storming are also covered. The presentation outlines Orbitz's architecture which uses Jini services as a "big switch" to connect to various airline and hotel booking systems. It also previews potential next steps like upgrading to Jini 2.x for improved security and disabling distributed garbage collection.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
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!
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
CAKE: Sharing Slices of Confidential Data on BlockchainClaudio Di Ciccio
Presented at the CAiSE 2024 Forum, Intelligent Information Systems, June 6th, Limassol, Cyprus.
Synopsis: Cooperative information systems typically involve various entities in a collaborative process within a distributed environment. Blockchain technology offers a mechanism for automating such processes, even when only partial trust exists among participants. The data stored on the blockchain is replicated across all nodes in the network, ensuring accessibility to all participants. While this aspect facilitates traceability, integrity, and persistence, it poses challenges for adopting public blockchains in enterprise settings due to confidentiality issues. In this paper, we present a software tool named Control Access via Key Encryption (CAKE), designed to ensure data confidentiality in scenarios involving public blockchains. After outlining its core components and functionalities, we showcase the application of CAKE in the context of a real-world cyber-security project within the logistics domain.
Paper: https://doi.org/10.1007/978-3-031-61000-4_16
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
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.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
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
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
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.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
5. Less Stuff I Gotta Do...Less Stuff I Gotta Do...
https://blogs.oracle.com/developers/functionsasaservice:evolution,usecases,andgettingstarted2 . 2
10. A λ is a "handler" function YOU provideA λ is a "handler" function YOU provide
that runs in an AWS container "somewhere"that runs in an AWS container "somewhere"
so you focus on your code not plumbingso you focus on your code not plumbing
3 . 3
18. Cheap!Cheap!
In Theory...
Then $0.0000166667 GB/Second after that...
First million invocations free...
Then $0.20/million after that...
400,000 GB-Seconds free...
Plus
Plus
Other AWS Costs (Databases, Data
Transfer...)
3 . 7
19. Mo RAM Mo $Mo RAM Mo $
https://aws.amazon.com/lambda/pricing/3 . 8
20. Pricing is "complicated"...Pricing is "complicated"...
https://medium.com/@zackbloom/serverlesspricingandcostsawslambdaandlambdaedge169bfb58db75
Just Lambda Lambda + API GW
263 Billiable Line Items Per Region Just for Lambda before you add the "other stuff"
3 . 9
25. Cold StartCold Start
REPORT RequestId: 6f127cc4-c2d7-4422-9490-774092cf5042 Duration:
1.36 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory
Used: 35 MB Init Duration: 28.56 ms
1
REPORT RequestId: 6ad595b5-d679-42e2-b790-ab48811cf9cb Duration:
0.87 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory
Used: 35 MB
1
First invocation add Startup Time
Additional runs don't incur overhead
3 . 14
26. Always logs to CloudwatchAlways logs to Cloudwatch
Each instance gets its own Log
Stream in Cloudwatch Logs
https://aws.amazon.com/cloudwatch/pricing/
Don't be noisy,
CWL are $$$$
3 . 15
36. Digging Deeper - SerDe!Digging Deeper - SerDe!
pub type Handler<E, O> = fn(E, Context) -> Result<O, HandlerError>1
You implement:
E JSON that you want to provide to your Lambda function as
input.
O It is the JSON representation of the object returned by the
Lambda function. This is present only if the invocation type is
RequestResponse.
5 . 2
46. On a Mac crossOn a Mac cross
compile with Dockercompile with Docker
$ docker pull clux/muslrust
$ docker run -v $PWD:/volume --rm -t clux/muslrust cargo build --release
$ zip -j hello-world.zip ./target/x86_64-unknown-linux-musl/release/bootstrap
1
2
3
4
Can be kinda slow...
7 . 1
47. On a Mac crossOn a Mac cross
compile directlycompile directly
$ rustup target add x86_64-unknown-linux-musl
$ brew install filosottile/musl-cross/musl-cross
$ ln -s /usr/local/bin/x86_64-linux-musl-gcc /usr/local/bin/musl-gcc
$ cat .cargo/config
[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"
$ cargo build --target=x86_64-unknown-linux-musl --release
$ file target/x86_64-unknown-linux-musl/release/bootstrap
.../bootstrap: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically l
$ zip -j hello-world.zip ./target/x86_64-unknown-linux-musl/release/bootstrap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
^-- Correct!
<-- Takes 30 min - get coffee!
https://aws.amazon.com/blogs/opensource/rustruntimeforawslambda/7 . 2
52. Must Grant PermissionsMust Grant Permissions
for Services to invokefor Services to invoke
$ aws lambda add-permission
--function-name hello-world
--action lambda:InvokeFunction
--statement-id sqs
--principal sqs.amazonaws.com
$ aws lambda get-policy --function-name hello-world | jq -r '.Policy' | prettier --stdin --parser json
{
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Sid": "sqs",
"Effect": "Allow",
"Principal": { "Service": "sqs.amazonaws.com" },
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-2:123456789012:function:hello-world"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Default rules are nobody has permissions
to do anything - even AWS Services 7 . 7
53. Or deploy with fav toolsOr deploy with fav tools
resource "aws_lambda_permission" "sqs-invokes-hello-world" {
function_name = aws_lambda_function.hello-world.function_name
action = "lambda:InvokeFunction"
statement_id = "sqs"
principal = "sqs.amazonaws.com"
}
1
2
3
4
5
6
7 . 8
54. Serverless Application ModelServerless Application Model
https://aws.amazon.com/serverless/sam/
Command Line Tools
Processes YAML-ish files into CloudFormation Templates
Builds, packages, uploads to s3 for deployment, deploys via
CloudFormation
AWS Only
Local Execution Environment via Docker
brew tap aws/tap
brew install aws-sam-cli
1
2
8 . 1
59. SAM Local TestingSAM Local Testing
https://aws.amazon.com/serverless/sam/
Uses Docker lambci/lambda:provided container as
runtime environment
8 . 6
60. Using Docker DirectlyUsing Docker Directly
https://hub.docker.com/r/lambci/lambda/
$ docker run --rm
-v "$PWD/target/x86_64-unknown-linux-musl/release/":/var/task:ro,delegated
lambci/lambda:provided
handler
'{"firstName": "Steve"}'
START RequestId: a7ac181c-ded5-1b69-5f5e-a7f1f3d30c64 Version: $LATEST
2020-01-27 17:29:55,923 INFO [lambda_runtime::runtime] Received new event with AWS req
2020-01-27 17:29:55,924 INFO [lambda_runtime::runtime] Response for a7ac181c-ded5-1b6
END RequestId: a7ac181c-ded5-1b69-5f5e-a7f1f3d30c64
REPORT RequestId: a7ac181c-ded5-1b69-5f5e-a7f1f3d30c64 Init Duration: 59.08 ms Duratio
{"message":"Hello, Steve!"}
1
2
3
4
5
6
7
8
9
10
11
12
Can still use Docker environments to test if using
other means of deployment (i.e. terraform, etc)
8 . 7
61. LocalStackLocalStack
https://localstack.cloud/
Mock AWS Services for local development
(override API endpoints to point at local Docker containers)
Free and Pro Tiers
(Pro gets more services, tools, and supports a great project)
Can also be used to
run your Lambdas
8 . 8
62. ServerlessServerless
https://serverless.com/
Command Line Tools
Processes (more) YAML-ish files into CloudFormation
Templates - mixed syntax since cf functions can be used
Builds, packages, uploads to s3 for deployment
Multi-Cloud Support
Local Execution Environment via Docker
Paid PRO version includes:
dashboard
monitoring
alerts
ci/cd
rainbows
unicorns
9 . 1
63. Serverless vs SAMServerless vs SAM
https://sanderknape.com/2018/02/comparingawssamwithserverlessframework/
Check out Sander's blog post for great
comparison
In the end its all just
json/yaml
representations
9 . 2
67. HTTP API GatewayHTTP API Gateway
https://aws.amazon.com/blogs/compute/announcinghttpapisforamazonapigateway/
Cheaper Option
Fewer Dials to Set
https://docs.aws.amazon.com/apigateway/latest/developerguide/httpapivsrest.htmlv1 vs v2:
10 . 4
68. AWS XRay TracingAWS XRay Tracing
https://docs.aws.amazon.com/xray/latest/devguide/awsxray.html
Lots of moving parts!
Know what's going on!
Can configure lambda to have xray - just
use the SDK to send data
Or use some non-AWS alternative
(i.e. Espagon)
10 . 5
69. Map Reduce in λMap Reduce in λ
http://pywren.io/
S3 instead of HDFS
Lambdas instead of
Servers
10 . 6
70. Big Data with ServerlessBig Data with Serverless
https://www.slideshare.net/AmazonWebServices/buildingbigdataapplicationswithserverlessarchitecturesjune2017awsonlinetechtalks10 . 7
74. More Isn't Always BetterMore Isn't Always Better
Figure out the best bang for the buck -- don't guess, use data!
https://github.com/alexcasalboni/awslambdapowertuning
And figure out your POST-free-tier costs before you go too far down this path
Google: lambda hidden costs 10 . 11