February 15 - 16, 2024
DevOps.js
Online

DevOps.js Conf 2024

The JavaScript DevOps Conference

DevOps.js is an event for all the developers and architects involved in building infrastructure and setting up pipelines and deployments for JavaScript applications.

This edition of the event has finished, the latest updates of this JavaScript Conference are available on the Brand Website.
AI on Demand: Serverless AI
163 min
AI on Demand: Serverless AI
Top Content
WorkshopFree
Nathan Disidore
Nathan Disidore
In this workshop, we discuss the merits of serverless architecture and how it can be applied to the AI space. We'll explore options around building serverless RAG applications for a more lambda-esque approach to AI. Next, we'll get hands on and build a sample CRUD app that allows you to store information and query it using an LLM with Workers AI, Vectorize, D1, and Cloudflare Workers.
You Don’t Know How to SSR
23 min
You Don’t Know How to SSR
The Talk covers the speaker's personal journey into server-side rendering (SSR) and the evolution of web development frameworks. It explores the use of jQuery for animations in SSR, the challenges faced in integrating React with Umbraco, and the creation of a custom SSR framework. The Talk also discusses the benefits of Next.js and the use of serverless artifacts for deployment. Finally, it highlights the features of Astro, including its function per route capability.
End the Pain: Rethinking CI for Large Monorepos
25 min
End the Pain: Rethinking CI for Large Monorepos
Today's Talk discusses rethinking CI in monorepos, with a focus on leveraging the implicit graph of project dependencies to optimize build times and manage complexity. The use of NX Replay and NX Agents is highlighted as a way to enhance CI efficiency by caching previous computations and distributing tasks across multiple machines. Fine-grained distribution and flakiness detection are discussed as methods to improve distribution efficiency and ensure a clean setup. Enabling distribution with NX Agents simplifies the setup process, and NX Cloud offers dynamic scaling and cost reduction. Overall, the Talk explores strategies to improve the scalability and efficiency of CI pipelines in monorepos.
Atomic Deployment for JS Hipsters
25 min
Atomic Deployment for JS Hipsters
This Talk discusses atomic deployment for JavaScript and TypeScript, focusing on automated deployment processes, Git hooks, and using hard links to copy changes. The speaker demonstrates setting up a bare repository, configuring deployment variables, and using the post-receive hook to push changes to production. They also cover environment setup, branch configuration, and the build process. The Talk concludes with tips on real use cases, webhooks, and wrapping the deployment process.
Demystify the DX for Lambda functions
30 min
Demystify the DX for Lambda functions
Welcome to this session on Lambda Developer Experience. Learn about using AWS Cloud Development Kit (CDK) to write code in your favorite language and automatically generate CloudFormation templates. Test locally with the SAM CLI and deploy with CDK. Accelerate testing and updates with CDK flags. Use the AWS Toolkit to invoke Lambda functions, analyze logs, and generate code with Application Composer.
Building a sophisticated CodePipeline with CDK in a Monorepo Setup
8 min
Building a sophisticated CodePipeline with CDK in a Monorepo Setup
Imagine starting as an AWS DevOps engineer in a small company. Your boss wants an all-in AWS approach, with CICD entirely on AWS for automated deployments. Use AWS CDK for creating a pipeline, stages, and actions. Learn how to handle multiple pipelines for different accounts and handle manual approval for staging and production environments. Discover how to trigger pipelines with EventBridge and Lambda, and create sophisticated pipelines for different scenarios.
Versioning and Publishing Packages with Nx Release
10 min
Versioning and Publishing Packages with Nx Release
In this Talk, Austin Faisal introduces Nx Release and demonstrates how to improve versioning and publishing processes with it. The tool allows for a dry run to preview changes, keeps packages in sync, and generates changelogs. It also automates staging, committing, tagging, and publishing changes to the registry. Nx Release offers additional features such as independent versioning, automatic versioning with conventional commits, creating GitHub releases, customizable changelog rendering, and a programmable API.
Declarative Infrastructure: Rethinking Cloud Native for JS
29 min
Declarative Infrastructure: Rethinking Cloud Native for JS
Workshop
André Eriksson
André Eriksson
In this talk we uncover what Declarative Infrastructure means, and how it can work in TypeScript to naturally express higher-level distributed systems concepts (such as backend services, API calls, database queries, Pub/Sub messaging, caching and more), through the power of static analysis and code generation.The outcome is a fully reimagined DevOps process, with automatic infrastructure provisioning and built-in observability, that deploys straight to your own cloud.
Table of contents:- Introduction- Evolution of backend development, from servers to today's cloud-native world powered by DevOps and GitOps- What is Cloud Native, and how do we build modern backend applications? (Showing a microservices architecture powered by Express.js and Terraform)- What is Declarative Infrastructure? What does the space look like?- What problems does it solve compared to traditional DevOps practices?- How does it relate to Terraform/AWS CDK for infrastructure provisioning?- What are the downsides?- Building a Cloud Native backend with Declarative Infrastructure
Frontend to the Cloud Made Easy - A ReactJS + AWS Workshop
59 min
Frontend to the Cloud Made Easy - A ReactJS + AWS Workshop
Workshop
Eyal Keren
Eyal Keren
This workshop enables you to learn how to develop React applications, and then deploy them to the cloud (or building them to the console) coupled with a backend, fully abstracted, with no complex backend configuration, simplifying the building and deployment of frontend & web apps to the cloud.
Qwik - The No Hydration Approach to Performant Sites
20 min
Qwik - The No Hydration Approach to Performant Sites
Builder.io is a headless visual CMS that allows drag and drop of UI components. Core Web Vitals are important for improving website performance. Hydration in frameworks affects performance and interaction with the app. Qwik offers a different approach to hydration, eliminating the need for downloading unnecessary code. Qwik's resumability feature improves performance by starting with HTML and avoiding the re-execution of code.
Accessible CI/CD
24 min
Accessible CI/CD
Maya Min, a senior software engineer at Microsoft Industry AI, discusses the importance of accessibility testing and its relation to CIDI. WCAG provides guidelines for accessibility compliance, covering various aspects such as color contrast, navigation, and content layout. Maya explores automating accessibility testing through UI components and different testing levels. They recommend xCore and Playwright for end-to-end browser testing and integrating accessibility testing into CI/CD workflows using tools like GitLab and Azure Pipeline.
Package Management in Monorepos
19 min
Package Management in Monorepos
This Talk discusses pain points and effective package management in monorepos, including the use of hoisted or isolated layouts and the challenges of working with peer dependencies. It introduces the tool Bit, which addresses these issues and handles dependency management and version control. Bit enables automatic installation and management of dependencies, supports multiple versions of a peer dependency, and seamlessly updates components across different environments.
JavaScript to Wasi Enabled Wasm: Portable JavaScript Composition
21 min
JavaScript to Wasi Enabled Wasm: Portable JavaScript Composition
JavaScript code is converted to low-level binaries by JavaScript engines like MV8, Chakra, and SpiderMonkey. WebAssembly allows writing code in other languages and compiling it to run on a JavaScript engine. External functions can be imported in WebAssembly using the import statement. WebAssembly can run in non-browser scenarios with additional interfaces like WASI and provides memory isolation. The Jco toolchain is an experimental tool for componentizing JavaScript code into WASM modules.
Ship Your UI Faster With Turborepo
21 min
Ship Your UI Faster With Turborepo
The Turboverse focuses on making the development process faster and more efficient. TurboPak is an incremental bundler with function-level caching, and TurboRepo is a high-performance build system with features like incremental building, remote caching, and parallel execution. TurboRepo can optimize task runners, set up monorepos, and speed up development time. vclink-repo enables seamless integration with the Vercel remote cache, and Conformance and Codoners provide static analysis and automated code reviews. TurboPak and TurboRepo offer faster CI processes and exciting advancements in web bundling.
Generating TypeScript with TypeScript
8 min
Generating TypeScript with TypeScript
This talk discusses how TypeScript definitions are automatically generated for CloudFlare workers using runtime type information. The encoding and transformation of type information is explained, with runtime API types being encoded in C++ and further processed in TypeScript. The process of improving type definitions and achieving compatibility is also covered, including fixing problems with iterators and using human input to improve developer ergonomics. The talk concludes with a plan to build Types as a Service, a Cloudflare worker that dynamically generates NPM packages containing TypeScript definition files.
Next-Level JavaScript Error Tracking with Sentry
23 min
Next-Level JavaScript Error Tracking with Sentry
Watch video: Next-Level JavaScript Error Tracking with Sentry
We're going to be talking about next level JavaScript error tracking with Sentry. Error tracking is the process of identifying, recording, and managing errors in a web application. Traditional JavaScript error tracking methods have disadvantages and lack context about the device and user. You can automate error tracking with Sentry, an open source error tracking tool that helps developers monitor and fix crashes in real time. Setting up Sentry is simple using the Sentry SDK and configuring with the DSN.
Building and Operating a Modern Composable Monolith
19 min
Building and Operating a Modern Composable Monolith
In this talk, Luca introduces the concept of the modern composable monolith and discusses the challenges of microservices. He emphasizes the importance of developing modular monoliths and introduces Fastify and the Platformatic Runtime as tools for this approach. The Platformatic Runtime simplifies running modular, monolithic applications, and standardizing interfaces and communication is crucial in this context. Lastly, Luca introduces Meraki as a UI-driven tool for building composable monoliths and invites developers to join their marketplace for revolutionizing the operational experience of microservices.
Synthetic Monitoring and e2e Testing: 2 Sides of the Same Coin
21 min
Synthetic Monitoring and e2e Testing: 2 Sides of the Same Coin
The Talk discusses the relationship between synthetic monitoring and end-to-end testing, emphasizing the importance of using a common tool set and shifting monitors left as code. Challenges of collaboration and shifting left are addressed, including existing silos, cultural barriers, and different priorities. The process of converting a Playwright test into a monitor is explained, along with wrapping the test as a monitor using the Synthetics project. Running and deploying the monitor are covered, emphasizing the importance of setting parameters and environment variables correctly. The Talk concludes with the importance of monitoring, issue resolution, and collaboration across roles.
State of DevOps - A Continuous Improvement Story
12 min
State of DevOps - A Continuous Improvement Story
Amanda Lewis
Nathen Harvey
2 authors
This Talk discusses the story of continuous improvement in software development. It emphasizes the importance of measuring software delivery performance using metrics such as lead time, deployment frequency, change fail rate, and time to restore. Code reviews play a significant role in improving software delivery, and exploring the potential impact of AI on code reviews is recommended. Focusing on documentation and proper utilization of the cloud can improve organizational performance. Finally, a good culture, user focus, and collaborative platform team are crucial for success in software development.
Yarn: From Design to Implementation
28 min
Yarn: From Design to Implementation
Today we'll discuss the evolution and implementation of YARN, which focuses on determinism and stability. YARN Modern was re-architected to support projects with multiple packages and embraced Monorepos. YARN 2 improved workspace implementation, codebase partitioning, and stability. Dependency resolution and linking in YARN are handled by different resolvers and fetchers. YARN has a plugin system, a constraint engine, and a redesigned website. It prioritizes compatibility, performance, testing, and contributions to other projects.
Spec-tacular - SemVer & Beyond
22 min
Spec-tacular - SemVer & Beyond
Welcome to DevOpsJS 2024! We'll be discussing semantics and versioning schemas, particularly semantic versioning (SEMVR). There are concerns about the flaws in SEMVR and the need to embrace change in software development. Dependency hell in the JavaScript ecosystem has been addressed through semantic versioning and new capabilities. However, there are still issues with the SEMBR spec, including absent definitions and problems with build metadata. To improve versioning, we need to address missing definitions and consider a new spec for the future.
Navigating the Chaos: A Holistic Approach to Incident Management
26 min
Navigating the Chaos: A Holistic Approach to Incident Management
This talk covers the importance of a structured process for incident management and the need for a business mindset. It outlines a five-pillar structured process and emphasizes the importance of staying calm and asking the right questions during incidents. The talk also highlights the importance of effectively identifying, categorizing, and investigating incidents, as well as prioritizing root causes and communicating incident resolutions. Additionally, it discusses the role of incident managers, proactive measures for continuous improvement, and the importance of preparation and a proactive mindset.
Guardians of the Applications: Conquering Node.JS App Monitoring
21 min
Guardians of the Applications: Conquering Node.JS App Monitoring
Monitoring and observability are important for catching bugs before they become noticeable. Examples of monitoring issues include confusion and frustration when monitoring leads to misunderstandings. Teamwork is essential for effective monitoring, automation can streamline processes and improve efficiency. Custom monitoring is necessary to prevent hazards and unnecessary alerts can hurt productivity. Challenges include relying too much on monitoring without addressing root issues and struggling with manual configuration.
Serverless Observability: Where SLOs Meet Transforms
8 min
Serverless Observability: Where SLOs Meet Transforms
This Talk provides an introduction to Serverless Observability and SLOs, explaining the concept of SLOs and their dependency on transforms. It highlights the codependency between SLOs, SLAs, and SLIs and discusses the importance of well-defined SLOs. The Talk also demonstrates how to create and monitor SLOs and alert rules, emphasizing the benefits of burn rate alerting in reducing alert fatigue and improving user experience.
Spinnaker as a Continuous Delivery Solution for JavaScript Apps
10 min
Spinnaker as a Continuous Delivery Solution for JavaScript Apps
Jamal Sinclair-O'Garro introduces himself as a senior software engineer at Netflix with experience in algorithmic and electronic trading. Spinnaker is a multi-platform continuous delivery platform used by companies like Grubhub, Airbnb, Google, Netflix, Chime, Box, and Target. It provides infrastructure management and deployment through pipelines, allowing gradual rollouts and canary analysis to ensure safe changes. Spinnaker improves velocity and is recommended for streamlining JavaScript applications across different providers.