While service meshes may be the next "big thing" in microservices, the concept isn't new. Classical SOA attempted to implement similar technology for abstracting and managing all aspects of service-to-service communication, and this was often realized as the much-maligned Enterprise Service Bus (ESB). Several years ago similar technology emerged from the microservice innovators, including Airbnb (SmartStack for service discovery), Netflix (Prana integration sidecars), and Twitter (Finagle for extensible RPC), and these technologies have now converged into the service meshes we are currently seeing being deployed.
In this talk, Daniel Bryant will share with you what service meshes are, why they're well-suited for microservice deployments, and how best to use a service mesh when you're deploying microservices. This presentation begins with a brief history of the development of service meshes, and the motivations of the unicorn organisations that developed them. From there, you'll learn about some of the currently available implementations that are targeting microservice deployments, such as Istio/Envoy, Linkerd, and NGINX Plus
Service-mesh technology promises to deliver a lot of value to a cloud-native application, but it doesn't come without some hype. In this talk, we'll look at what is a "service mesh", how it compares to similar technology (Netflix OSS, API Management, ESBs, etc) and what options for service mesh exist today.
Speaker:
Owen Garrett
Sr. Director, Product Management
NGINX, Inc.
On-Deman Link: https://www.nginx.com/resources/webinars/need-service-mesh/
About the webinar:
Service mesh is one of the hottest emerging technologies. Even though it’s a nascent technology, many vendors have already released their implementation. But do you really need a service mesh?
Attend this webinar to learn about the levels of maturity on the journey to modernizing your apps using microservices, and the traffic management approaches best suited to each level. We’ll help you figure out if you really need a service mesh.
Connecting All Abstractions with IstioVMware Tanzu
SpringOne Platform 2017
Ramiro Salas, Pivotal
The concept of a service mesh represents a paradigm shift on application connectivity for distributed systems, with wide implications for analytics, policy and extensibility. In this talk, we will explain what a service mesh is, the power it brings to microservices, and its impact on Cloud Foundry and K8s, both separately and together. We will also discuss the implications for the traditional network infrastructure, and the shifting of responsibilities from L3/4 to L7, and our current thinking of using Istio to integrate all abstractions.
Distributed microservices introduce new challenges: failure modes are harder to anticipate and resolve. In this session, we present a “Chaos Debugging” framework enabled by three open source projects: Gloo Shot, Squash, and Loop to help you increase your microservices’ “immunity” to issues.
Gloo Shot integrates with any service mesh to implement advanced, realistic chaos experiments. Squash connects powerful and mature debuggers (gdb, dlv, java debugging) to your microservices while they run in Kubernetes. Loop extends the capability of your service mesh to observe your application and record full transactions for sandboxed replay and debugging.
Come to this demo-heavy talk to see how together, Squash, Gloo Shot, and Loop allow you to trigger, replay, and investigate failure modes of your microservices in a language agnostic and efficient manner without requiring any changes to your code.
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
This is a deep journey into the realm of "microservice architecture", and in that I will try to cover each inch of it, but with a fixed tech stack of Java with Spring Cloud. Hence in the end, you will be get know each and every aspect of this distributed design, and will develop an understanding of each and every concern regarding distributed system construct.
Making sense of microservices, service mesh, and serverlessChristian Posta
As companies move to become digital, we can get sidetracked and distracted by some of the changes in the technology landscape. Ideally we will be harnessing technology to solve the problems we have and leverage it to deliver software faster and safer. In this talk, I'll we'll take a look at some new technology trends in the open-source communities and when and how to use them.
Istio is an open platform for providing a service mesh on Kubernetes clusters. It consists of three main components: Envoy proxies that mediate service-to-service communication, Pilot that configures the proxies, and Mixer that enforces policies and collects telemetry data. Istio injects Envoy sidecar proxies into applications so they can provide features like load balancing, authentication, failure recovery, and observability without requiring code changes. This provides a way to manage microservices that is more robust and flexible than using an API gateway alone.
An introduction to KrakenD, the ultra-high performance API Gateway with middlewares. An opensource tool built using go that is currently serving traffic in major european sites.
Istio: Using nginMesh as the service proxyLee Calcote
With microservices and containers becoming mainstream, container orchestrators provide much of what the cluster (nodes and containers) needs. With container orchestrators' core focus on scheduling, discovery, and health at an infrastructure level, microservices are left with unmet, service-level needs, such as:
- Traffic management, routing, and resilient and secure communication between services
- Policy enforcement, rate-limiting, circuit breaking
- Visibility and monitoring with metrics, logs, and traces
- Load balancing and rollout/canary deployment support
Service meshes provide for these needs. In this session, we will dive into Istio - its components, capabilities, and extensibility. Istio envelops and integrates with other open source projects to deliver a full-service mesh. We'll explore these integrations and Istio's extensibility in terms of choice of proxies and adapters, such as nginMesh.
The document provides an overview of microservices and service meshes, and uses Istio as an example service mesh implementation. It discusses how Istio allows microservices to be developed independently while providing capabilities like discovery, load balancing, resilience, metrics and tracing through lightweight proxies. The document then demonstrates what happens at each step of a request's lifecycle as it travels through an application protected by Istio's service mesh. Specifically, it shows how Istio components like Pilot, Envoy, Mixer and Citadel work together to provide control, observability and security for microservices.
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshChristian Posta
Service mesh abstracts the network from developers to solve three main pain points:
How do services communicate securely with one another
How can services implement network resilience
When things go wrong, can we identify what and why
Service mesh implementations usually follow a similar architecture: traffic flows through control points between services (usually service proxies deployed as sidecar processes) while an out-of-band set of nodes is responsible for defining the behavior and management of the control points. This loosely breaks out into an architecture of a "data plane" through which requests flow and a "control plane" for managing a service mesh.
Different service mesh implementations use different data planes depending on their use cases and familiarity with particular technology. The control plane implementations vary between service-mesh implementations as well. In this talk, we'll take a look at three different control plane implementations with Istio, Linkerd and Consul, their strengths, and their specific tradeoffs to see how they chose to solve each of the three pain points from above. We can use this information to make choices about a service mesh or to inform our journey if we choose to build a control plane ourselves.
Cloud-Native Application Debugging with Envoy and Service MeshChristian Posta
Microservices have been great for accelerating the software innovation and delivery, but they also present new challenges, especially as abstractions and automated orchestration at every layer make pinpointing the issue seem like walking around a maze with a blindfold. Existing tools weren’t designed for distributed environments, and the new tools need to consider how to leverage these abstraction layers to better observe, test, and troubleshoot issues.
Christian Posta walks you through Envoy Proxy and service mesh architecture for L7 data plane, the key features in Envoy that can help in debugging and troubleshooting, chaos engineering as a testing methodology for microservices, how to approach a testing and debugging framework for microservices, and new open source tools that address these areas. You’ll explore a workflow to discover and resolve microservices issues, including injecting experiments for stress testing the applications, gathering requests in flight, recording and replaying them, and debugging them step by step without affecting production traffic.
The document provides an overview of microservices architecture. It discusses key characteristics of microservices such as each service focusing on a specific business capability, decentralized governance and data management, and infrastructure automation. It also compares microservices to monolithic and SOA architectures. Some design styles enabled by microservices like domain-driven design, event sourcing, and functional reactive programming are also covered at a high level. The document aims to introduce attendees to microservices concepts and architectures.
NATS was created by Derek Collison, founder and CEO
of Apcera, who has spent 20+ years designing, building, and using publish-subscribe messaging systems.
Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. Learn how end users are building modern, reliable and scalable cloud and distributed systems with NATS.
Talk given by David Williams, Principal, Williams & Garcia
You can learn more about NATS at http://www.nats.io
-Microservices and Service Discovery history and evolution
-Service Registry & Service Discovery patterns
-Consul main concepts, architecture and use cases
Mastering Chaos - A Netflix Guide to MicroservicesJosh Evans
QConSF 2016 Abstract:
By embracing the tension between order and chaos and applying a healthy mix of discipline and surrender Netflix reliably operates microservices in the cloud at scale. But every lesson learned and solution developed over the last seven years was born out of pain for us and our customers. Even today we remain vigilant as we evolve our service architecture. For those just starting the microservices journey these lessons and solutions provide a blueprint for success.
In this talk we’ll explore the chaotic and vibrant world of microservices at Netflix. We’ll start with the basics - the anatomy of a microservice, the challenges around distributed systems, and the benefits realized when integrated operational practices and technical solutions are properly leveraged. Then we’ll build on that foundation exploring the cultural, architectural, and operational methods that lead to microservice mastery.
Open Source Networking Days- Service MeshCloudOps2005
At the Linux Foundation's 2018 Open Source Networking Days, Syed Ahmed compared service mesh options (Istio, Linkerd, and Consul Connect) and spoke about how they diverge from many complications traditionally found in monolithic applications.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2mcpD5B.
Oliver Gould talks about the Linkerd project, a service mesh hosted by the Cloud Native Computing Foundation, to give operators control over the traffic between their microservices. He shares the lessons they've learned helping dozens of organizations get to production with Linkerd and how they've applied these lessons to tackle complexity with Linkerd. Filmed at qconnewyork.com.
Oliver Gould is co-founder and CTO at Buoyant, Inc.
Dublin Microservice "Introduction to Service Meshes"Daniel Bryant
While service meshes may be the next "big thing" in microservices, the concept isn't new. Classical SOA attempted to implement similar technology for abstracting and managing all aspects of service-to-service communication, and this was often realized as the much-maligned Enterprise Service Bus (ESB). Several years ago similar technology emerged from the microservice innovators, including Airbnb (SmartStack for service discovery), Netflix (Prana integration sidecars), and Twitter (Finagle for extensible RPC), and these technologies have now converged into the service meshes we are currently seeing being deployed.
In this talk, Daniel Bryant will share with you what service meshes are, why they are (and sometimes are not) well-suited for microservice deployments, and how best to use a service mesh when you're deploying microservices. This presentation begins with a brief history of the development of service meshes, and the motivations of the unicorn organisations that developed them. From there, you'll learn about some of the currently available implementations that are targeting microservice deployments, such as Istio/Envoy, Linkerd, and NGINX Plus.
Building Cloud-Native App Series - Part 5 of 11
Microservices Architecture Series
Microservices Architecture,
Monolith Migration Patterns
- Strangler Fig
- Change Data Capture
- Split Table
Infrastructure Design Patterns
- API Gateway
- Service Discovery
- Load Balancer
Cisco Virtualized Multi-tenant Data Center solution (VMDC) is an architectural approach to IT which delivers a Cloud Ready Infrastructure. The architecture encompasses multiple systems and functions defining a standard framework for an IT organization. Standardization allows the organization to achieve operational efficiencies, reduce risk and achieve cost reductions while offering a consistent platform for business.
O'Reilly SACON "Continuous Delivery Patterns for Contemporary Architecture"Daniel Bryant
The document discusses continuous delivery patterns for contemporary architecture. It notes that systems are moving from complicated to complex, requiring architecture to focus more on technical leadership. All requirements must be encoded in continuous delivery pipelines to test both functional and non-functional requirements. Architectural fundamentals like loose coupling and high cohesion are important to consider in design, testing, deployment and observability in continuous delivery.
Stay productive while slicing up the monolithMarkus Eisele
Microservices-based architectures are in vogue. Over the last couple of years, we have learned how thought leaders implement them, and it seems like every other week we hear about how containers and platform-as-a-service offerings make them ultimately happen.
Tech Talent Night Copenhagen 11/22/17
https://greenticket.dk/techtalentnightcph
Stay productive while slicing up the monolithMarkus Eisele
The document discusses strategies for evolving monolithic applications into microservice architectures. It notes that modern software needs to meet increasing demands around release frequency, developer velocity, and infrastructure costs. While classical architectures based on monoliths and service-oriented architectures were effective, they no longer address today's challenges. The document then introduces microservices as an alternative, describing characteristics like independent deployability, language/data agnosticism, and process isolation. It acknowledges that while building individual microservices is straightforward, the difficult part is designing the overall system architecture and operational capabilities required to manage many interconnected microservices. Lagom is presented as one framework that can help implement reactive microservices on the JVM.
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"Daniel Bryant
This document discusses continuous delivery patterns for modern architectures and Java. It covers topics like moving from complicated to complex systems, how architecture is becoming more about technical leadership, and encoding all requirements into a continuous delivery pipeline. It also discusses challenges with modern app architectures like multiple services/pipelines, independent service deployment, and evolving architecture. Continuous delivery, testing microservice integration, contracting testing, and measuring what matters are also covered.
C3DNA provides a solution to enable application self-reliance and mobility across private and public clouds through its products Scout and Cloud Equalizer. Scout allows for frictionless migration of legacy applications to the cloud, while Cloud Equalizer allows any application to be self-managed and portable across clouds without changes. This provides benefits such as reduced complexity, faster development cycles, and assurance of service levels and compliance. C3DNA has begun partnering with companies and has received positive feedback on simplifying operations and eliminating vendor lock-in.
Containers and microservices create new performance challenges kowall - app...Jonah Kowall
AppSphere 2015 presentation on the challenges brought forth by Microservices and Containers such as Docker. Goes into OSS and commercial tools to manage availability and performance.
AppSphere 15 - Containers and Microservices Create New Performance ChallengesAppDynamics
Jonah Kowall, VP of Market Development and Insights, outlines what needs to be built in terms of data extraction, analytics, and other open source technologies. Finally we’ll also discuss commercial alternatives and what features and functions are critical when monitoring microservices based applications. This presentation is from AppSphere 2015.
This presentation shares a clear understanding of:
- What is changing with software, and why?
- What challenges are faced with these changes?
- How to overcome these challenges
Application Centric Microservices from Redhat Summit 2015Ken Owens
When Cisco started envisioning the future of its application development platforms, the ability to create applications that are cloud-native with elastic services, network-aware application policies, and micro-services was strategic to the company. When the decision to build and operate a Cisco cloud service delivery platform for collaboration, video, and Internet of Things (IoT) application development was made, OpenStack and micro-services became central to our application architectures and strategic to our vision as a company. This presentation will look at the journey Cisco developers took to transform to an application-centric OpenStack platform for application development in a secure, network-centric, and completely open source manner. The importance of the platform being Red Hat Enterprise Linux OpenStack Platform and using OpenShift by Red Hat and the contribution to the community will be described. The micro-services architecture and service-oriented DevOps lessons learned for enabling massive scalable and continuous delivery of software will be presented and demoed.
The document discusses designing CloudStack clouds, including determining requirements, designing for scale, choosing hypervisors and networks, planning storage, defining domains and accounts, testing, and designing for multiple environments like production, pre-production, and testing. It emphasizes designing iteratively, understanding user needs, and testing designs before building full scale clouds.
Deep-dive into Microservices Patterns with Replication and Stream Analytics
Target Audience: Microservices and Data Architects
This is an informational presentation about microservices event patterns, GoldenGate event replication, and event stream processing with Oracle Stream Analytics. This session will discuss some of the challenges of working with data in a microservices architecture (MA), and how the emerging concept of a “Data Mesh” can go hand-in-hand to improve microservices-based data management patterns. You may have already heard about common microservices patterns like CQRS, Saga, Event Sourcing and Transaction Outbox; we’ll share how GoldenGate can simplify these patterns while also bringing stronger data consistency to your microservice integrations. We will also discuss how complex event processing (CEP) and stream processing can be used with event-driven MA for operational and analytical use cases.
Business pressures for modernization and digital transformation drive demand for rapid, flexible DevOps, which microservices address, but also for data-driven Analytics, Machine Learning and Data Lakes which is where data management tech really shines. Join us for this presentation where we take a deep look at the intersection of microservice design patterns and modern data integration tech.
This document discusses designing microservices architectures. It begins by defining microservices as small, autonomous services that work together. The benefits of microservices include continuous innovation, independent deployments, and fault isolation. Challenges include complexity, testing, and service discovery. Key principles in designing microservices are modeling them around business domains, making each independently deployable, and decentralizing all components. Additional topics covered include service boundaries, communication patterns, data management, and monitoring microservices applications. The document provides examples and recommendations for implementing microservices on Azure.
Horizontal Scaling for Millions of Customers! elangovans
This document provides an overview of Elangovan Shanmugam's experience and expertise in software architecture. Some key points:
- Elangovan has over 25 years of experience in software development and has designed resilient systems that can handle millions of customers and transactions per second.
- He discusses his work on Tax products that can import documents in under 2 seconds for 45 million filers, and his role as Chief Architect for Mint which serves 35 million customers processing billions of transactions daily.
- The document outlines Elangovan's approach to software architecture including strategies for microservices, scalability, high availability, and application architecture for multiple platforms and millions of users.
This document provides an overview of microservices architecture, including concepts, characteristics, infrastructure patterns, and software design patterns relevant to microservices. It discusses when microservices should be used versus monolithic architectures, considerations for sizing microservices, and examples of pioneers in microservices implementation like Netflix and Spotify. The document also covers domain-driven design concepts like bounded context that are useful for decomposing monolithic applications into microservices.
The document outlines Gartner's emerging technology roadmap for large enterprises from 2020 to 2022. It discusses key trends including hybrid work models, communications and collaboration tools, cloud adoption, software-as-a-service, legacy network limitations, SD-WAN, cybersecurity, managed detection and response, and the convergence of networking and security capabilities in secure access service edge (SASE) architectures. The presentation emphasizes how these technologies can help organizations support anywhere operations and hybrid workforces securely.
A pattern language for microservices - June 2021 Chris Richardson
The microservice architecture is growing in popularity. It is an architectural style that structures an application as a set of loosely coupled services that are organized around business capabilities. Its goal is to enable the continuous delivery of large, complex applications. However, the microservice architecture is not a silver bullet and it has some significant drawbacks.
The goal of the microservices pattern language is to enable software developers to apply the microservice architecture effectively. It is a collection of patterns that solve architecture, design, development and operational problems. In this talk, I’ll provide an overview of the microservice architecture and describe the motivations for the pattern language. You will learn about the key patterns in the pattern language.
Service-mesh technology promises to deliver a lot of value to a cloud-native application, but it doesn't come without some hype. In this talk, we'll look at what is a "service mesh", how it compares to similar technology (Netflix OSS, API Management, ESBs, etc) and what options for service mesh exist today.
Similar to microXchg 2018: "What is a Service Mesh? Do I Need One When Developing 'Cloud Native' Microservices (20)
ITKonekt 2023: The Busy Platform Engineers Guide to API GatewaysDaniel Bryant
API Gateways are certainly not a new technology, but the way in which they are being deployed, configured, and operated within modern platforms is forcing many of us to rethink our approach. Can we simply lift and shift our existing gateway into the cloud? Is our API gateway GitOps friendly (and does it need to be)? And what about service meshes, CNI, eBPF, and...
Join this talk for a whistle stop tour of modern API gateways, which a focus on deploying and managing this technology within Kubernetes (on which many modern platforms are built):
- Understand why platform engineers should care about API Gateways today
- Learn about API gateways, options, and requirements for modern platforms
- Identify key considerations for migrating to the cloud or building a new platform on Kubernetes
- Understand how cloud native workflows impact the user/developer experience (UX/DX) of an API gateway
- Explore the components of a complete "edge stack" that supports end-to-end development flows
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...Daniel Bryant
When enterprise organizations adopt microservices, containers, and cloud native development, the technologies and architectures may change, but the fact remains that we all still add the occasional bug to our code. The main challenge you now face is how to perform integration or end-to-end testing without spinning up all of your microservices locally and driving your laptop fans into high speed!
Join me for a tour of your microservices testing options using a series of Java-friendly tools.
- Explore challenges with scaling container-based application development (you can only run so many microservices locally before minikube melts your laptop)
- Learn about effective unit testing with mocks, using TestContainers for dependency testing, and using Telepresence to extend your local testing environment into the cloud
- Understand when to use each type of test and tooling based on your use case and requirements for realism, speed, and practicality
- See how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"Daniel Bryant
API Gateways are certainly not a new technology, but the way in which they are being deployed, configured, and operated within modern platforms is forcing many of us to rethink our approach. Can we simply lift and shift our existing gateway into the cloud? Is our API gateway GitOps friendly (and does it need to be)? And what about service meshes, CNI, eBPF, and...
Join this talk for a whistle stop tour of modern API gateways, which a focus on deploying and managing this technology within Kubernetes (on which many modern platforms are built):
- Understand why platform engineers should care about API Gateways today
- Learn about API gateways, options, and requirements for modern platforms
- Identify key considerations for migrating to the cloud or building a new platform on Kubernetes
- Understand how cloud native workflows impact the user/developer experience (UX/DX) of an API gateway
- Explore the components of a complete "edge stack" that supports end-to-end development flows
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...Daniel Bryant
When enterprise organizations adopt microservices, containers, and cloud native development, the technologies and architectures may change, but the fact remains that we all still add the occasional bug to our code. The main challenge you now face is how to perform integration or end-to-end testing without spinning up all of your microservices locally and driving your laptop fans into high speed!
Join me for a tour of your microservices testing options using a series of Java-friendly tools.
- Explore challenges with scaling container-based application development (you can only run so many microservices locally before minikube melts your laptop)
- Learn about effective unit testing with mocks, using TestContainers for dependency testing, and using Telepresence to extend your local testing environment into the cloud
- Understand when to use each type of test and tooling based on your use case and requirements for realism, speed, and practicality
- See how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"Daniel Bryant
Over the last year, the Ambassador Labs team has doubled down on their adoption of Product Led Growth (PLG), a growth model where product usage drives customer acquisition, retention, and expansion. It’s been an interesting journey for the DevRel team, who have found themselves working more closely with both the sales and growth engineering teams.
In their quest to reduce the friction of product adoption, they’re thinking more and more about the end-to-end experiences, experimentation, instrumentation, data analysis, and handoffs — much like we saw in the software development world with the adoption of DevOps breaking down barriers between engineering and operations.
The Ambassador Labs team have learned more about the value of creating hypotheses and analyzing quantitative data, but have also been reminded that there is no substitute for qualitative data and engaging human-to-human. Join Daniel for a whistle-stop tour of PLG through the DevRel lens:
– Understand how moving to PLG can impact devrel teams and the work they do: for better and worse!
– Explore how DevRel tooling and community platforms are increasingly overlapping with PLG marketer tooling
– Learn how to structure your goals, common languages, and teams for successfully adopting PLG
Fall 22: "From Kubernetes to PaaS to... err, what's next"Daniel Bryant
Developers building applications on Kubernetes today are being asked to not just code applications -- they are also responsible for shipping and running their applications, too. We often talk about needing a Kubernetes platform, but are we really looking for a PaaS? Or instead, are we looking for some kind of developer control plane with a Goldilock-sized collection of tools that provides just the right amount of platform? This talk will look back on my experience of building platforms, both as an end-user and now as part of an organization helping our customers do the same. We’ll wrap this talk with a walk-through of the CNCF ecosystem through the developer control plane lens, and look at what’s next in the future of this important emerging category.
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Daniel Bryant
Join me for a tour of coding, testing, and shipping microservices using remote-to-local “remocal” tools and techniques. You will:
- Understand the challenges with scaling container-based application development – i.e. you can only run so many microservices locally before minikube melts your laptop.
- Learn when to use various types of development practices and tooling based on your use case and requirements for production realism, speed, and practicality.
- Explore how to utilize containerized dependencies and Docker for testing, including for both apps and services you own and those you don’t.
- Learn how Telepresence can enable “remocal” development, expanding your local machine and Docker Desktop out into a remote Kubernetes cluster.
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...Daniel Bryant
Many organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code.
The challenge here is that many of your existing local debugging tools and practices can’t be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join Daniel to learn about:
- Quick overview of remote-local ("remocal") options and tooling e.g. “kubectl port-forward”, Skaffold, ksync, Telepresence etc.
- An exploration of how Telepresence can “intercept” or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
-- The benefits of getting a “hot reload” fast feedback loop between applications being developed locally and apps running in the remote environment
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...Daniel Bryant
When enterprise organizations adopt microservices, containers, and cloud native development, the technologies and architectures may change, but the fact remains that we all still add the occasional bug to our code. The main challenge you now face is how to perform integration or end-to-end testing without spinning up all of your microservices locally and driving your laptop fans into high speed! Join me for a tour of testing microservices using a series of Java applications as a case study.
You will learn everything about effective unit testing with mocks, using TestContainers for dependency testing, and using Telepresence to extend your local testing environment into the cloud. Learn when to use each type of test and tooling based on your use case and requirements for realism, speed, and practicality. We will discuss how to utilize containerized dependencies and Docker for testing, including both apps and services you own and those you don’t. We’ll also go over the challenges with scaling container-based application development (you can only run so many microservices locally before minikube melts your laptop). Finally, you’ll see how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine.
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"Daniel Bryant
The document discusses the evolution of API gateways driven by changes in application architecture and technology. It describes how API gateways evolved from hardware load balancers to software load balancers to application delivery controllers to first-generation API management platforms as applications moved to the cloud and adopted microservices. Managing APIs and microservices at the edge with Kubernetes poses new challenges around scaling edge management and supporting diverse requirements. The document outlines three strategies for managing APIs at the edge with Kubernetes and concludes that choosing an API gateway intentionally is important when adopting cloud-native technologies and platforms.
KubeCon EU 2022: From Kubernetes to PaaS to Err What's NextDaniel Bryant
Developers building applications on Kubernetes today are being asked to not just code applications -- they are also responsible for shipping and running their applications, too. We often talk about needing a Kubernetes platform, but are we really looking for a PaaS? Or instead, are we looking for some kind of developer control plane with a Goldilock-sized collection of tools that provides just the right amount of platform? This talk will look back on my experience of building platforms, both as an end-user and now as part of an organization helping our customers do the same. The key takeaways are:
- Treat platform as a product
- Realize that you can’t have good developer experience (DevEx) without good UX
- Focus on workflows and tooling interoperability
We’ll wrap this talk with a walk-through of the CNCF ecosystem through the developer control plane lens, and look at what’s next in the future of this important emerging category.
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...Daniel Bryant
Many Java-based organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code. The challenge here is that many of your existing local debugging tools and practices can’t be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join me to learn about:
– The challenges with scaling Kubernetes-based Java development i.e. you can only run so many microservices locally before minikube melts your laptop
– Quick overview of remote-local ("removal") options and tooling e.g. “kubectl port-forward”, Skaffold, ksync, Telepresence etc
– An exploration of how Telepresence can “intercept” or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
– The benefits of getting a “hot reload” fast feedback loop between applications being developed locally and apps running in the remote environment
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"Daniel Bryant
Developers building applications on Kubernetes today are being asked to not just develop applications -- they are also responsible for releasing and running their applications, too. In this talk, we’ll discuss the secular shift towards what Netflix calls “Full Cycle Development” or what Google calls “Service Ownership”. With developers managing so much of the cloud-native development loop, a new class of infrastructure has emerged -- the developer control plane. We’ll explore the evolution from Kubernetes to PaaS, to the developer control planes in use today. We’ll draw on our personal experiences and podcast chats with the larger CNCF community, and discuss real-world examples of developer control planes used at New Relic, Spotify, InVision, and Twitter. We’ll wrap this talk with a walk through of the CNCF ecosystem through the developer control plane lens, and look at what’s next in the future of this important emerging category.
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...Daniel Bryant
At a previous JAX event I talked about effective cloud native Java developer workflow. Two years later and many new developer technologies have come and gone, but I still hear daily from cloud developers about the pain and friction associated with building, debugging, and deploying to the cloud. In this talk I’ll share my latest learning on how to bring the fun and productivity back into delivering Kubernetes-based software.
Join this talk to:
Learn why the core tenets of continuous delivery — speed and safety — must be considered in all parts of the cloud native SDLC
Explore how cloud native coding benefits from thinking separately about the inner development loop, continuous integration, continuous deployment, observability, and analysis
Understand how cloud native best practices and tooling fit together. Learn about artifact syncing (e.g. Skaffold), dev environment bridging (e.g. Telepresence), GitOps (e.g. Argo), and observability-focused monitoring (e.g. Prometheus, Jaeger)
Explore the importance of cultivating an effective cloud platform and associated team of experts
Walk away with an overview of tools that can help you develop and debug effectively when using Kubernetes
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...Daniel Bryant
Many organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code. The challenge here is that many of your existing local debugging tools and practices can't be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join me to learn about:
- The challenges with scaling Kubernetes-based Java development i.e. you can only run so many microservices locally before minikube melts your laptop
- An exploration of how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
- The benefits of getting a "hot reload" fast feedback loop between applications being developed locally and apps running in the remote environment
- A tour of Telepresence, from the sidecar proxy deployed into the remote K8s cluster to the CLI
- An overview of using "preview URLs" and header-based routing for the sharing, collaboration, and isolation of changes you are making on your local copy of an intercepted service
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...Daniel Bryant
By Daniel Bryant, Ambassador Labs We all need to be able to get user traffic into our applications, and your requirements for services running on Kubernetes are no different. "But", I hear you say, "what about the K8s Ingress spec? And how do I observe what's happening under the hood? And who should be responsible for configuring the gateway: dev or ops?" These are all good questions! Join me for a whistle-stop tour of all things emissary-ingress, where we will explore how this new edition to the family of CNCF incubation projects can make your life easier when it comes to routing, observability, and integration into the bigger (people and technology) picture.
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"Daniel Bryant
The document discusses using Telepresence to improve the development workflow for Java microservices running on Kubernetes. Telepresence allows developers to run their code locally while still connecting to the Kubernetes cluster, improving the speed of the inner development loop. It supports various workflows from small to large systems. The benefits of Telepresence include using local tools, connecting to cloud resources, and a very fast inner loop. It is an open source project maintained by the CNCF.
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...Daniel Bryant
Many Java-based organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code. The challenge here is that many of your existing local debugging tools and practices can't be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join me to learn about:
- The challenges with scaling Kubernetes-based Java development i.e. you can only run so many microservices locally before minikube melts your laptop
- An exploration of how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
- The benefits of getting a "hot reload" fast feedback loop between applications being developed locally and apps running in the remote environment
- A tour of Telepresence, from the sidecar proxy deployed into the remote K8s cluster to the CLI
- An overview of using "preview URLs" and header-based routing for the sharing, collaboration, and isolation of changes you are making on your local copy of an intercepted service
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...Daniel Bryant
At GOTO Amsterdam in 2019 I presented how to create an effective cloud native developer workflow. Two years later and many new developer technologies have come and gone, but I still hear daily from cloud developers about the pain and friction associated with building, debugging, and deploying to the cloud. In this talk I'll share my latest learning on how to bring the fun and productivity back into delivering Kubernetes-based software.
Join this talk to:
Learn why the core tenets of continuous delivery -- speed and safety -- must be considered in all parts of the cloud native SDLC
Explore how cloud native coding benefits from thinking separately about the inner development loop, continuous integration, continuous deployment, observability, and analysis
Understand how cloud native best practices and tooling fit together. Learn about artifact syncing (e.g. Skaffold), dev environment bridging (e.g. Telepresence), GitOps (e.g. Argo), and observability-focused monitoring (e.g. Prometheus, Jaeger)
Explore the importance of cultivating an effective cloud platform and associated team of experts
Walk away with an overview of tools that can help you develop and debug effectively when using Kubernetes
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...Daniel Bryant
HashiCorp Consul integrates with Ambassador to securely route Ingress traffic to Consul Service Mesh when using Kubernetes. When onboarding applications onto a service mesh or when integrating with existing applications outside of the Mesh, a north south API gateway is typically required for communications with clients outside of the network. Ambassador is a Kubernetes API Gateway that allows you to route incoming traffic to your Consul Service Mesh proxies while also providing the ability to leverage advanced API Gateway functionalities such as rate limiting and authentication.
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Measuring the Impact of Network Latency at TwitterScyllaDB
Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 :
- Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants.
- REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.
3. tl;dr – Service Meshes
• A service mesh is a dedicated infrastructure layer for making service-to-
service communication safe, reliable, observable and configurable
• Valuable as we move from deployment of complicated monoliths/services
to orchestration of complex “cloud native” microservices and functions
• But take care, as this is very new technology implementing an old pattern!
@danielbryantuk
4. @danielbryantuk
• Independent Technical Consultant
• Architecture, DevOps, Java, microservices, cloud, containers
• Continuous Delivery (CI/CD) advocate
• Leading change through technology and teams
@danielbryantuk
bit.ly/2jWDSF7
6. 23/03/2018 @danielbryantuk
Simple
(Sense, Categorise, Respond)
Complicated
(Sense, Analyse, Respond)
Complex
(Probe, Sense, Respond)
1990s
Monoliths
In-process comms, custom wire protocols
Single language
In-house hardware (servers, SAN, networks)
Manual config and scripting
Optimise for Stability (MTBF)
Specialist staff/departments
2010s
Microservices, functions, SaaS-all-the-things
Dumb pipes (HTTP, Kafka), de-centralised
Polyglot languages
Cloud and containers (Datacenter as a Computer)
Software-Defined Everything
Optimise for innovation (and MTTR)
Business teams (“FinDev”, SRE and Platform Team)
2000s
Monoliths, Coarse-grained SOA, SaaS
Smart pipes (ESB, MQ), centralised, BPM
Frontend/backend language
“Co-lo” or private datacenters
Configuration management
Optimise for Recovery (MTTR)
Generalist teams (Full Stack and “DevOps”)
Chaotic
(Act, Sense, Respond)
”Cloud Native”
7. Eight Fallacies of Distributed Computing Cloud Native
1. The network is reliable.
2. Latency is zero.
3. Bandwidth is infinite.
4. The network is secure.
5. Topology doesn't change.
6. There is one administrator.
7. Transport cost is zero.
8. The network is homogeneous.
23/03/2018 @danielbryantuk
https://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/
8. What do ”cloud native” comms look like?
• Services communicate over an (unreliable) network
• These interactions are non-trivial
• Lots of value in understanding the network
• The application is ultimately responsible
@danielbryantuk
blog.christianposta.com/microservices/application-network-
functions-with-esbs-api-management-and-now-service-mesh/
9. But we’ve been here before…
@danielbryantuk
blog.christianposta.com/microservices/application-network-
functions-with-esbs-api-management-and-now-service-mesh/
www.slideshare.net/dbryant_uk/goto-chicagocraftconf-2017-the-
seven-more-deadly-sins-of-microservices
10. Avoiding the ESB: My first “service mesh”
@danielbryantuk
http://techblog.poppulo.com/microservices-service-discovery-with-smartstack-and-docker/
28. Putting it all together: Istio
• “Istio” is an open platform
• Connect, manage, secure services
• Proxies are the data plane / mesh
• Proxies are (in theory) swappable
• But in reality there are different
feature sets, security, performance
@danielbryantuk
29. Control Plane / Data Plane (Istio example)
@danielbryantuk
https://istio.io/docs/concepts/what-is-istio/overview.html
Control plane
Data plane
30. Istio control plane: Pilot and Mixer
@danielbryantuk
Precondition checking
Quota management
Telemetry reporting
31. Linkerd and NGINX control plane
@danielbryantuk
www.infoq.com/news/2017/09/nginx-platform-service-mesh
32. Control Plane / Data Plane (Istio example)
@danielbryantuk
https://istio.io/docs/concepts/what-is-istio/overview.html
Control plane
Data plane
36. Use cases for Service Meshes
• Self-service configuration and observability
• Evolution from complicated to complex systems
• Monolith-to-service migration
• All components can use the same communication fabric
• Routing (shadow traffic, A/B, canarying etc)
• Chaos Engineering
@danielbryantuk
46. In conclusion…
• A service mesh is a dedicated infrastructure layer for making service-to-
service communication safe, reliable, observable and configurable
• Homogenise all RPC and (potentially) messaging
• Moving from complicated monoliths/services to orchestration of
complex “cloud native” microservices and functions
• Can provide hooks for observability, testing and debugging
• New technology implementing an old pattern!
• Know the risks, analyse your bottlenecks and determine your ROI
@danielbryantuk
47. Massive thanks to everyone who has helped!
• William Morgan @ Buoyant
• Owen Garrett @ NGINX
• Christian Posta @ Red Hat
• Matt Klein @ Lyft
• Shriram Rajagopalan (Istio-users)
• Louis Ryan (Istio-users)
• Varun Talwar @ Google
• Many more from the community
@danielbryantuk
48. Thanks for listening…
Twitter: @danielbryantuk
Email: daniel.bryant@tai-dev.co.uk
Writing: www.infoq.com/profile/Daniel-Bryant
Talks: www.youtube.com/playlist?list=PLoVYf_0qOYNeBmrpjuBOOAqJnQb3QAEtM
@danielbryantuk
Available Q3 2018!
bit.ly/2jWDSF7
50. How do service meshes relate to (Edge/API) gateways?
• Gateways primarily sit on the edge of your network
• Perform ingress cross-cutting concerns (authn/z, rate limiting, logging etc)
• My experience
• NGINX
• Cloud implementations
• Traefik and Datawire’s Ambassador (based on Envoy)
• Some are vying to act as the communication backbone too
• Kong API
• Mulesoft
• NGINX
@danielbryantuk
51. Isn’t this just ESB 2.0 or “web scale” ESB
• No
• At least not yet…
• ESB development was vendor-driven
• Overly centralised/coupled/conflated
• Process choreography
• Document transformation
• Tight integration with vendor products
@danielbryantuk
https://en.wikipedia.org/wiki/Enterprise_service_bus#/media/File:ESB_Component_Hive.png
52. Isn’t this just adding more network hops?
• Maybe… It depends on your network config
• …but good (infrastructure) architecture is all about
• Choosing the right abstraction
• Making trade-offs
• Separation of concerns
• Make an educated choice with your platform, and make it explicitly
@danielbryantuk
53. Shouldn’t this be part of the “platform”?
• Yep…
• And it probably will be in the near future
• But expect much innovation (and change) over the next 6-12 months
• Assess if it will be beneficial for your organisation to leverage this now
@danielbryantuk
54. Who owns the Service Mesh? Dev, SREs, Ops?
• Yes…
• As mentioned earlier
• We work with a sociotechnical system when delivering value/software
• Everything is context dependent (on your organisation)
• But deployment descriptor and service mesh config can provide good dev/ops
collaboration zones as part of the “platform”
• Make a decision, communicate it, and regularly retrospect
@danielbryantuk
55. So, Service Mesh all-the-things… right?
• No…
• It’s all about context and trade-offs
• Service meshes are great for point-to-point RPC
• Messaging is useful to decouple services in space and time
• Async work queues, pub/sub, topics e.g. RabbitMQ
• Distributed txn logs and stream processing e.g. Kafka
@danielbryantuk
58. Copying Netflix for “cloud native” comms
• Many of us have no single
mechanism for RPC / messaging
• Unlike Google, Twitter
• Instead, we can implement comms
handling via libraries
• Ribbon, Eureka, Hystrix
• Predominantly JVM-based
• Potentially use a “sidecar” (Prana)
@danielbryantuk
https://www.voxxed.com/2015/01/use-container-sidecar-microservices/