DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops). It is an approach to software development that emphasizes collaboration, communication, and automation between developers and IT professionals. DevOps is focused on automating processes to enable rapid deployment and continuous integration of applications, while also providing visibility into the entire system. This helps to ensure that the application meets customer expectations and is able to quickly adapt to changing business needs.
Demand for DevOps has increased in recent years as more organizations adopt cloud native technologies. Complexity has also increased and a "zero to hero" mentality leaves many people chasing perfection and FOMO. This session focusses instead on why maybe we shouldn't adopt a technology practice and how sometimes teams can achieve the same results prioritizing people over ops automation & controls. Let's look at amounts of and fine-tuning everything as code, pull requests, DevSecOps, Monitoring and more to prioritize developer well-being over optimization perfection. It can be a valid decision to deploy less and sleep better. And finally we'll examine how manual practice and discipline can be the key to superb products and experiences.
We've all asked ourselves this while waiting an eternity for our CI job to finish. Slow CI not only wrecks developer productivity breaking our focus, it costs money in cloud computing fees, and wastes enormous amounts of electricity. Let’s take a dive into why this is the case and how we can solve it with better, faster tools.
Code tasks like linting and testing are critical pieces of a developer’s workflow that help keep us sane like preventing syntax or style issues and hardening our core business logic. We’ll talk about how we can use GitHub Actions to automate these tasks and help keep our projects running smoothly.
* intro to DB application architecture (gateway + backend, multi-module react app + component library, etc) * Deep dive into CI/CD pipeline to do component library build + publish, app deploys pre canary (branch, dev, staging, prod), Lambda@Edge role * Side note - multi module applications, enabling the right level of modularity, and B2B SaaS vs B2C * First canary problem - run full FE regression against stable (release candidate) backend early and often - before FE release candidates are cut * Second canary problem - run pointed FE regression even earlier - before MRs are even merged * Third canary question - what does this look like in production? Once again, B2B SaaS vs B2C * End result - Canaries in the CloudFront!
Creating and deploying new software is risky. We've all seen how easily bugs arise, causing software to be poorly delivered or to the wrong people. What's more, depending on how tightly we couple our systems and services, they can interact unexpectedly and unfortunately with existing software or hardware. Beyond unintended consequences, we can also find that people can use our services for nefarious purposes. It's essential to have safety nets in place when things don't go as planned or people attempt to break the rules. In this session, we'll discuss how feature flags can work in both temporary and permanent scenarios to enable you to break the quality triangle and deliver quality promptly.
Docker Extensions are a way to power up your development experience by adding in tools to help with debugging, testing, networking, security, and more. Developers can get started in Docker Desktop with partner-built extensions or use their creativity with the Docker Extensions SDK. This session will cover Docker Extensions and the Docker Extensions SDK — including a demonstration of Docker Extensions within Docker Desktop. You’ll also learn how to get started and what’s next for extensions.
As your team grows and becomes multiple teams, the size of your codebase follows. You get to 100k lines of code and your build time dangerously approaches the 10min mark 😱 But that’s not all, your static CI checks (linting, type coverage, dead code) and tests are also taking longer and longer... How do you keep your teams moving fast and shipping features to users regularly if your PRs take forever to be tested and deployed? After exploring a few options we decided to go down the Nx route. Let’s look at how to migrate a large codebase to Nx and take advantage of its incremental builds!
How to update hundreds of projects all at once? With organizations rapidly growing, demand for the scalability of the teams grows which directly impacts projects structure and ownership. The usual dilemma is mono- vs. multi-repos, but ... What if I tell you that it does not matter much? Both approaches can punch you in the face at some point, so perhaps it is better to think bottom-up. Today I will walk you through some of the biggest challenges that exist in both approaches and those are managing dependencies across a few hundred projects, global code updates and many other things. I will also show you examples of how we solved this inside Infobip through building our own internal libraries.
Teams are getting bigger and bigger following the micro-frontends architecture. Observability for teams on a scale becomes even more important in order not only to be able to identify potential issues in the runtime, but also separating the responsibilities. In this presentation we’ll learn how this can achieved.
As we all know, dealing with Kubernetes YAML is not very intuitive (especially for those just getting starting) and the more resources and dependencies are added the messier and more complex the process becomes. In this talk, we'll explore how we can use Typescript and Deno to bring typing, composition, code-reuse, and testing as an alternative to YAML - that doesn't include these capabilities, all while still remaining declarative and easy to use.
In this talk micro frontend expert Florian Rappl will introduce the pattern of creating a Siteless UI. This is a frontend composed of different pieces that can be developed independently and are deployed without having or managing any server. Florian will show you how to get started in that space, what decisions to take, and what pitfalls you should avoid.
What does Conway's Law have in common with the video game League of Legends? They can both teach us about how to organise development teams that achieve collective intelligence. When it comes to the art of software development, it's never a game of chance
In this talk, you will learn how to optimise your Node.js development and release workflow to Kubernetes with Skaffold and Rancher Desktop. Using these tools together helps enhance the local K8s development experience mirroring a real cluster experience, as well as the release workflow you would have for your remote cluster. We will cover the challenges of local Kubernetes development, how Skaffold and Rancher Desktop help, demonstrations of local releases to a cluster and how to use the same configuration for remote cluster releases.
When working with a monorepo, there are multiple Challenges: packages installation, packages linking, development processes (build, lint, testing) and deployment processes. Those challenges vary the type of artifacts in our monorepo (micro services, FE App, packages etc.). We will explore different approaches and tools for monorepos and their pro and cons.
Do you know what’s really going on in your node_modules folder? Software supply chain attacks have exploded over the past 12 months and they’re only accelerating in 2022 and beyond. We’ll dive into examples of recent supply chain attacks and what concrete steps you can take to protect your team from this emerging threat.
CDK is growing in popularity in the AWS ecosystem, and is set to be the successor of CloudFormation, being built natively for the configuration of AWS resources. Learn how this is a game changer for NodeJS programmers & stacks.
Learn about tools to trace frontend to backend data and increase visibility on errors and performance. We'll go through how to know which teams are responsible for which error, what the impact is, and all the context needed to solve it.
The benefit of software dependencies is that they allow developers to deliver software faster building on previous code. Dependencies are integral part of the software development cycle and they will be used at different stages i.e. development, execution or testing. Yet dependencies not only may introduce risks that are often overlooked, but their fast resolution and compliance with license types must be taken into consideration. In this extremely fast session we will see some of the advantages of using a mature, robust artifact manager for npm, bower and other package managers.
Vultr's Walt Ribeiro takes users through steps to easily produce websites with Vultr using their One-Click Marketplace and Object Storage. In this talk, Walt will demonstrate how to configure your account, how to browse and deploy from Vultr Marketplace, and how to stand up a basic website using a simple web or mobile-based UI. Other flagship products and tools developers love will be highlighted along the way!
Traditional security testing for JS apps has focused on the front-end, but actual security issues most often lie in the backing REST API. Join StackHawk co-founder Scott Gerlach for a quick overview of why you need to rethink how you test your JS apps and how StackHawk can help you find and fix security bugs fast.
In this session, I'll use a demo to demonstrate how you can easily take ownership of your Code Quality with SonarCloud. You'll see how a simple, automated methodology ensures you and your Team to only commit Clean Code.
Learn security best practices for Kubernetes and especially for securing applications built with NodeJS running on Kubernetes. We will talk about securing the cluster, your Node.js containers, and more. We will also look at how to use OIDC to secure access to the clusters.
In this short lightning talk I’ll register a domain and demonstrate how to use the DNSimple NodeJS API client to register a domain name and set up the DNS needed to make it point to a web service in just a few minutes.
As an industry, we understand that effective test automation is a key enabler - or inhibitor to - realizing the potential of DevOps. While automation is critical to innovating with speed and quality, very few of us are happy with the results. This talk will cover how low-code test automation solutions - like mabl - enable teams to embed automated tests directly into the development pipeline, strategies to overcome traditional challenges with test automation, and how to build a foundation for an efficient and effective test strategy.
In this lightning talk, you will see: The lack of visibility on React applications How to install the Sentry React SDK How Sentry can help you identify errors and slowdowns within your React App so you can see faster, solve quicker and continuously learn from your applications
For years, not being able to cache GraphQL was considered one of its main downsides compared to RESTful APIs. Not anymore. GraphCDN makes it possible to cache almost any GraphQL API at the edge, and not only that but our cache is even smarter than any RESTful cache could ever be. Let's dive deep into the inner workings of GraphCDN to figure out how exactly we make this happen.
We consider what IaC (Infrastructure as Code) is and why we should invest our time/money into it. It’s going to be a workshop-style talk and as the result, the end of it you will have complete infrastructure as code for React application on AWS written in TypeScript
This talk will cover best practices for performance, stability, security, and maintainability of CI/CD pipelines, each supported with practical examples and counterexamples and tailored towards Vue.js developers.
For the past 10 years we diligently applied DevOps principles to our Backend services, but what about the Frontend? Can we transfer some of that knowledge between these very different, yet very similar, worlds? The answer is yes, and in this talk I'll show you how DevOps principles helped us at DAZN to build our web applications for Smart TV & Gaming Consoles.
Within ING we have been dealing with JS/FE for quite some years now. Starting with nothing we evaluated the CI/CD process for this, via multiple stages into what it is right now. I will go along these stages to inspire you to create a similar process for your own company.
Parcel 1 was created out of the frustration from configuring slow and hard to configure legacy bundlers like Webpack and in turn started a trend of zero-config tooling. Unfortunately, Parcel 1 had some major design flaws that led to the creation of Parcel 2, a ground-up rewrite of Parcel which aims to resolve those design flaws whilst also creating a bundler that can scale to the size of companies like Atlassian and Adobe and beyond. A new plugin system, bundler targets, optional configuration, stable caches, improved scope-hoisting, improved developer experience and better performance are just a few of the things we’ve been working on for the last 3 years. In this talk I’ll glance over how Parcel works and talk about a couple of the largest and most exciting new features in Parcel 2.
Our web app is finally ready to go live but which deployment tool should we use? With the rise of JAMstack, we have a multitude of options from Vercel, Netlify, to Firebase. Certainly, performance is key for us so we want to know which one is the fastest. In this talk, we will do a real-world benchmark comparing the most known JAMstack deployment options and discuss pros and cons.
Fed up with merge conflicts and system failures after a big release? Feature flags can be your lifesaver! We strive to get new features to the hands of our users as fast as we sustainably can. Some features can take longer to develop and touch other parts of the system. If not handled with care, these kinds of features can result in merge conflicts that keep developers up all night, not to mention the dreaded system failures following a big release. Equipped with feature flags, we can avoid this nightmare and continuously deploy code changes safely. This talk consists of practical tips on how to use feature flags as release toggles.
GitHub Actions offer a convenient, feature-rich solution for building CI pipelines. Actions consist of composable steps controlled YAML files checked into your code repo. Come learn how to perform tasks that are commonly required of modern Node.js codebases, such as package installation, linting, running tests as part of pull requests, building Docker images, and deploying when code is merged into the main branch.
Microservices present many advantages for running modern software, but they also bring new challenges for both Deployment and Operational tasks. This session will discuss advantages and challenges of microservices and review the best practices of developing a microservice-based architecture. We will discuss how container orchestration using Kubernetes or Red Hat OpenShift can help us and bring it all together with an example of Continuous Integration and Continuous Delivery (CI/CD) pipelines on top of OpenShift.
In this talk, I will demonstrate how to create a CI/CD pipeline for a React application in AWS. We'll pull the source code from GitHub and run tests against the application before deploying it to an S3 bucket for static site hosting. The site will then be distributed using CloudFront which will point to the S3 bucket. All of the infrastructure will be built using Terraform. In addition, I'll make use of Terragrunt to show how to create this setup for multiple environments.
Ever run code in CI/CD and builds pass only to fail during deployment? This presentation will discuss the advantages of Smoke Test patterns in CI/CD pipelines using Infrastructure as Code (IaC). Learn how teams can leverage automation to ensure apps are tested live in target environments which provide valuable insights pre-deployment. Angel will demonstrate how to leverage IaC to provision infrastructure, deploy apps, test then destroy all the resources created in a single CI/CD pipeline run.
Software delivery is a top priority for organizations that own software, yet it remains one of the most challenging problems enterprises face today. Continuous integration (CI) and continuous delivery (CD) are software practices that allow organizations and teams to deliver code to customers quickly, safely, and repeatedly. Whether it's to improve development, operations, or security, CI/CD pipelines give engineers and teams more time to work on things that matter and less time struggling with the risk, standards, and velocity of deployments. Join this session to learn about the components of CI/CD and how to build and scale pipelines for the future.
Get ready for a run through the world of Software Architectures! Everyone who works in software has heard of terms like ‘pwa’, ‘monoliths’, ‘headless’ , ‘microservices’ and even ’service oriented architectures’. We all know what they are, but how much do we really know about them? In this talk, we will show you the differences, the similarities, when to use them, when not to use them, the success stories and of course: the massive failures. Get ready for a half an hour of tech-comedy: architecture is going to be fast and fun!
There's a lot that goes into building a modern application: the frontend for users, data persistence, user authentication and authorization, business logic, cloud deployment, and much more. The AWS Amplify Admin UI allows users to create and deploy an offline-ready application backend in clicks and then extend it with code, lowering the complexity of fullstack development for frontend and mobile developers. We'll build a fullstack application backed multiple AWS services including Cognito, Appsync, and S3 in minutes.