Green Custard Friday Talk 5: React-Native PerformanceGreen Custard
In Green Custard's 5th Friday talk, William explores the subject of React-Native Performance.
Topics covered:
- Native: The good
- Native: The not so good
- Hybrid summary
- React-Native summary
- React-Native: Component mapping to Native
- React-Native: Architecture
- Performance
- Bridge 2.0 - The React-Native Approach
Green Custard is a custom software development consultancy. To discover more about their work and the team visit www.green-custard.com.
Creating an API service providing REST and GraphQL end points.
With use of Kotlin multi platform to provide shared data models.
https://gitlab.com/AnimusDesign/KotlinIMDBDemo
Outfittery’s mission is to provide relevant fashion to men. In the past we relied purely on our stylists to put together the best outfits for our customers. Right now we are in the process of adding more and more intelligent algorithms to augment our human experts.
This transition to become a data driven company has left its marks on our IT landscape: In the beginning we just did simple A/B tests. Then we wanted to use more complex logic so we added a generic data enrichment layer. Later we also provided easy configurability to steer processes. And this in turn enabled us to orchestrate our machine learning algorithms as self contained Docker containers within a Kubernetes cluster. It then really took us some time to realize that we actually had built a delivery platform to expose just any pure function that our mad data scientists come up with – directly into our microservice landscape. Now we just put their R&D experiments directly into production…
The application that drives this platform was written 100% in Kotlin. Where coroutines, kotlin scripts and DSL’s were smashed together to fulfill our very specific needs. This talk will guide you through this journey, explain how this platform evolved along with evolution of Kotlin.
Automating EVA Workflows with AWS Step FunctionsChris Shenton
NASA EVA Office (space walks, suits) has a lot of complex workflow. AWS Step Functions could free them from having to develop their own logic and engine. Demonstrate how to convert existing workflow diagram into Step Functions YAML, run it in AWS, and add one Lambda to implement a step.
Asynchronous programming is a method of programming that can allow multiple different things to be run concurrently (or in parallel). In Rust, it is accomplished using a high-level idea called a Future.
Asynchronous programming is used a lot for IO because there are many times where you have to wait for something to happen (such as reading from a socket or a file) during which no progress can be made. This is a perfect moment to hand over control to something else so that it can start to make progress. This allows our program to always be making progress, which is the name of the game.
Go through this slides, where Pawan Bisht will be talking about the asynchronous concept in Rust Programming like what operations performed by the Rust compiler that actually makes our code asynchronous and what's the role of waker, poll, etc. With this, you can increase your software/application's performance and responsiveness.
Green Custard Friday Talk 5: React-Native PerformanceGreen Custard
In Green Custard's 5th Friday talk, William explores the subject of React-Native Performance.
Topics covered:
- Native: The good
- Native: The not so good
- Hybrid summary
- React-Native summary
- React-Native: Component mapping to Native
- React-Native: Architecture
- Performance
- Bridge 2.0 - The React-Native Approach
Green Custard is a custom software development consultancy. To discover more about their work and the team visit www.green-custard.com.
Creating an API service providing REST and GraphQL end points.
With use of Kotlin multi platform to provide shared data models.
https://gitlab.com/AnimusDesign/KotlinIMDBDemo
Outfittery’s mission is to provide relevant fashion to men. In the past we relied purely on our stylists to put together the best outfits for our customers. Right now we are in the process of adding more and more intelligent algorithms to augment our human experts.
This transition to become a data driven company has left its marks on our IT landscape: In the beginning we just did simple A/B tests. Then we wanted to use more complex logic so we added a generic data enrichment layer. Later we also provided easy configurability to steer processes. And this in turn enabled us to orchestrate our machine learning algorithms as self contained Docker containers within a Kubernetes cluster. It then really took us some time to realize that we actually had built a delivery platform to expose just any pure function that our mad data scientists come up with – directly into our microservice landscape. Now we just put their R&D experiments directly into production…
The application that drives this platform was written 100% in Kotlin. Where coroutines, kotlin scripts and DSL’s were smashed together to fulfill our very specific needs. This talk will guide you through this journey, explain how this platform evolved along with evolution of Kotlin.
Automating EVA Workflows with AWS Step FunctionsChris Shenton
NASA EVA Office (space walks, suits) has a lot of complex workflow. AWS Step Functions could free them from having to develop their own logic and engine. Demonstrate how to convert existing workflow diagram into Step Functions YAML, run it in AWS, and add one Lambda to implement a step.
Asynchronous programming is a method of programming that can allow multiple different things to be run concurrently (or in parallel). In Rust, it is accomplished using a high-level idea called a Future.
Asynchronous programming is used a lot for IO because there are many times where you have to wait for something to happen (such as reading from a socket or a file) during which no progress can be made. This is a perfect moment to hand over control to something else so that it can start to make progress. This allows our program to always be making progress, which is the name of the game.
Go through this slides, where Pawan Bisht will be talking about the asynchronous concept in Rust Programming like what operations performed by the Rust compiler that actually makes our code asynchronous and what's the role of waker, poll, etc. With this, you can increase your software/application's performance and responsiveness.
The presentation used in React Native classed hold in K.N. Toosi University of technology.
Session 01:
HTML
CSS
Javascript
ES6
JSX
React
React Native
Expo
To find out more, visit our course repository:
https://github.com/triplea24/kntu-react-native-class
Overview of the technical approach to scale a ticket based system for Santa's Grottos in the UK. Discusses Amazon Web Service (AWS) technologies used to take a legacy code based hosted on a single server to a full automated scaling solution.
A Functional Approach to Architecture - Kafka & Kafka Streams - Kevin Mas Rui...Thoughtworks
How to implement a solution using Kafka as a distributed database, KafkaStreams as a glue for different services and how to apply some Domain Driven Design concepts to ensure data integrity and design the boundaries of each service.
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris BuytaertNETWAYS
Back in June 2011 John Vincent ranted on twitter that #monitoringsucks, and for a lot of us he was absolutely right.
At #devopsdays Rome 2012, in November, Ulf Mansson proclaimed his new found love for monitoring and we changed the hashtag into #monitoringlove.
Based on a new era of open source tools, Ulf started loving monitoring again. And for a lot of us he was absolutely right. Over the past 5 years an enormous amount of new tools and new patterns has come out of the community sometimes tagged with #devops, pretty much all of them open source. Do you still know what you should be using for what? And what the differences are?
An opinionated overview of the open source monitoring landscape to clear up the confusion on what you should use, or make the decision even more difficult on you :)
A simple explanation of basic principles of Distributed Programming with NodeJS. The CAP Theorem is fully explained, with working code the you can try yourself!
Pune PHP User Meet Up : Presented my talk on when and why to use #PHP. What should be the parameters, to opt for #PHP over other languages (or say technology).
With Cloud Functions you write simple, functions that doing one unit of execution.
Cloud Functions can be written using JavaScript, Python 3, or Go
and you simply deploy a function bound to the event you want and you are all done.
In our case we will leavrage from Cloud Function to manage our K8s clusters based on work times in order to save budget.
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...DynamicInfraDays
Slides from Patrick Mizer & Steve Woodruff's talk "Easing Your Way Into Docker: Lessons From a Journey to Production" at ContainerDays NYC 2015: http://dynamicinfradays.org/events/2015-nyc/programme.html#sparefoot
The presentation used in React Native classed hold in K.N. Toosi University of technology.
Session 01:
HTML
CSS
Javascript
ES6
JSX
React
React Native
Expo
To find out more, visit our course repository:
https://github.com/triplea24/kntu-react-native-class
Overview of the technical approach to scale a ticket based system for Santa's Grottos in the UK. Discusses Amazon Web Service (AWS) technologies used to take a legacy code based hosted on a single server to a full automated scaling solution.
A Functional Approach to Architecture - Kafka & Kafka Streams - Kevin Mas Rui...Thoughtworks
How to implement a solution using Kafka as a distributed database, KafkaStreams as a glue for different services and how to apply some Domain Driven Design concepts to ensure data integrity and design the boundaries of each service.
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris BuytaertNETWAYS
Back in June 2011 John Vincent ranted on twitter that #monitoringsucks, and for a lot of us he was absolutely right.
At #devopsdays Rome 2012, in November, Ulf Mansson proclaimed his new found love for monitoring and we changed the hashtag into #monitoringlove.
Based on a new era of open source tools, Ulf started loving monitoring again. And for a lot of us he was absolutely right. Over the past 5 years an enormous amount of new tools and new patterns has come out of the community sometimes tagged with #devops, pretty much all of them open source. Do you still know what you should be using for what? And what the differences are?
An opinionated overview of the open source monitoring landscape to clear up the confusion on what you should use, or make the decision even more difficult on you :)
A simple explanation of basic principles of Distributed Programming with NodeJS. The CAP Theorem is fully explained, with working code the you can try yourself!
Pune PHP User Meet Up : Presented my talk on when and why to use #PHP. What should be the parameters, to opt for #PHP over other languages (or say technology).
With Cloud Functions you write simple, functions that doing one unit of execution.
Cloud Functions can be written using JavaScript, Python 3, or Go
and you simply deploy a function bound to the event you want and you are all done.
In our case we will leavrage from Cloud Function to manage our K8s clusters based on work times in order to save budget.
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...DynamicInfraDays
Slides from Patrick Mizer & Steve Woodruff's talk "Easing Your Way Into Docker: Lessons From a Journey to Production" at ContainerDays NYC 2015: http://dynamicinfradays.org/events/2015-nyc/programme.html#sparefoot
Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...Databricks
Airbnb has a wide variety of ML problems ranging from models on traditional structured data to models built on unstructured data such as user reviews, messages and listing images. The ability to build, iterate on, and maintain healthy machine learning models is critical to Airbnb’s success. Many ML Platforms cover data collection, feature engineering, training, deploying, productionalization, and monitoring but few, if any, do all of the above seamlessly.
Bighead aims to tie together various open source and in-house projects to remove incidental complexity from ML workflows. Bighead is built on Python and Spark and can be used in modular pieces as each ML problem presents unique challenges. Through standardization of the path to production, training environments and the methods for collecting and transforming data on Spark, each model is reproducible and iterable.
This talk covers the architecture, the problems that each individual component and the overall system aims to solve, and a vision for the future of machine learning infrastructure. It’s widely adapted in Airbnb and we have variety of models running in production. We have seen the overall model development time go down from many months to days on Bighead. We plan to open source Bighead to allow the wider community to benefit from our work.
Kernel Recipes 2014 - Performance Does MatterAnne Nicolas
Deploying clouds is in everybody’s mind but how to make an efficient deployment ?
After setting up the hardware, it’s mandatory to make a deep inspection of server’s performance.
In a farm of supposed identical servers, many miss-{installation|configuration} could seriously degrade performance. If you want to discovery such counter-performance before users complains of their VMs, you have to be detect them before installing any software. Another performance metric to know is “how many VMs could I load on top of my servers ?”. By using the same methodology it is possible the compare how a set of VMs performs regarding the bare metal capabilities.
The challenge is here: How do detect automatically servers that under perform ? How to insure that a new server entering a farm will not degrade it ? How to measure the overhead of all the virtualization layers from the VM point of view ?
Erwan Velu – Performance Engineer @eNovance
Tapjoy OpenStack Summit Paris Breakout SessionWeston Jossey
Weston Jossey describes how Tapjoy leverages OpenStack and AWS to deliver billions of daily requests all over the world. This presentation was originally delivered at OpenStack Summit Paris.
With the rise of Docker, we have seen an unprecedented interest in container technologies where small companies and big enterprises bet their future on these technologies. This trend bases on an immense adoption of containers from software developers. And it has been agreed upon that they are considered highly beneficial for modern engineering practices like Agile and DevOps. But there is a new kid in town that proclaims a more radical approach: Serverless or FaaS: Function-As-A-Service. This paradigm suggests that a developer should only write functions and react to events.
The functions are written in high-level programming languages like Javascript, Java or Python, and the underlying compute infrastructure like containers or VMs is transparent to the user. That raises the question: Is the container revolution already dead before it really started? And who now needs container technologies in a serverless world?
In this talk we discuss these questions from both a containers advocate and serverless fanboy viewpoints. We confront these two approaches, show the differences, individual strengths and weaknesses and where they complement each other. This talk will also discuss motivations from different involved parties so that the audience can build their conclusion.
Vaclav Pavlin (Containers & OpenShift guru): Containers will rule the world!.
Matthias Luebken (Developer tools PM): Serverless is the Visual Basic for the cloud-native generation.
Triangle Devops Meetup covering Netflix open source, cloud architecture, and what Andrew did in his first year working as a senior software engineer in the cloud platform group.
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB AtlasMongoDB
Moving to a new home is daunting. Packing up all your things, getting a vehicle to move it all, unpacking it, updating your mailing address, and making sure you did not leave anything behind. Well, the move to MongoDB Atlas is similar, but all the logistics are already figured out for you by MongoDB.
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...Russell Pavlicek
In most current microservice-based architectures, the machine images powering the microservice are quite traditional: a full software stack from operating system to application, which takes significant resources to host and plenty of time to start and stop. As a result, most current microservice workloads are persistent, having to start before they are needed and sitting idle when there’s no work to do. This wastes precious resources and slows the application’s ability to scale out as workloads require.
The arrival of lightweight technologies like Docker and containers have opened the door to lighter workloads in the microservice arena, but the advent of unikernels might be a game changer. These ultralight, highly secure workloads combine the entire software stack—from operating system functions to application—into a single, tiny package that runs directly on a hypervisor. Start times for many unikernel-based VMs can be measured in milliseconds, raising the question: why waste time and resources with persistent microservices? Why not consider transient microservices, which appear when there is something to do and disappear immediately thereafter?
While the use of transient microservices could free up much computing power, it will also change the architecture and orchestration of software solutions. The concept of services that may have a lifetime measured in seconds—or less—does not currently exist in popular cloud-based systems.
Disenchantment: Netflix Titus, Its Feisty Team, and DaemonsC4Media
Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2Gmuwlg.
Andrew Spyker talks about Netflix's feisty team’s work across container runtimes, scheduling & control plane, and cloud infrastructure integration. He also talks about the demons they’ve found on this journey covering operability, security, reliability and performance. Filmed at qconsf.com.
Andrew Spyker worked to mature the technology base of Netflix Container Cloud (Project Titus) within the development team. Recently, he moved into a product management role collaborating with supporting Netflix infrastructure dependencies as well as supporting new container cloud usage scenarios including user on-boarding, feature prioritization/delivery and relationship management.
Serverless is great for web applications and APIs, but this does not mean it cannot be used successfully for other use cases. In this talk, we will discuss a successful application of serverless in the field of High Performance Computing. Specifically we will discuss how Lambda, Fargate, Kinesis and other serverless technologies are being used to run sophisticated financial models at one of the major reinsurance companies in the World. We we learn about the architecture, the tradeoffs, some challenges and some unresolved pain points. Most importantly, we'll find out if serverless can be a great fit for HPC and if we can finally stop managing those boring EC2 instances!
To Russia with Love: Deploying Kubernetes in Exotic Locations On PremCloudOps2005
Michael Wojcikiewicz, Container Solutions Architect at CloudOps, showed the communities in Montreal and Kitchener-Waterloo how to deploy Kubernetes on prem at the Kubernetes + Cloud Native meetups for March, 2019.
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018Gregory Taylor
This session takes the audience through the motivations, the story, and the results of rebasing our infrastructure on Kubernetes. Today, Kubernetes forms the core of our internal Infrastructure "product", which is a paint-by-numbers experience that engineers of all backgrounds make use of.
Presented at KubeCon North America in 2018
How we leveraged Drupal to build a leading SaaS product Invotra
Invotra's Product Manager, Billy Clackers, and Technical Services Manager, Nqobile Dube gave a presentation surrounding ‘how we leveraged Drupal to build a leading SaaS product’ at Drupal Show and Tell 2019.
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
2. @roboll_
A bit of background
It’s 2016:
● Datadog is running entirely in AWS in one region
● Our EC2 hosts are configured with Chef
● Software is deployed using Capistrano and Chef
3. @roboll_
A bit of background
The challenge:
● Replicate Datadog
○ In a second region
○ On a different cloud provider
4. @roboll_
An opportunity
Provide a proper platform:
● Native support for multiple cloud providers
● Native support for stateful workloads
● API driven and automation friendly
● Meet our projected scale
5. @roboll_
So, what is this talk about?
This is the talk we wish someone gave us at the beginning.
● What works?
● What’s broken?
● How can I avoid surprises?
● Hard earned lessons learned
7. @roboll_
Toolbox Pattern
● A toolbox is a pod that does nothing
○ Deployed alongside workloads
○ Image contains tools for ops
● Allow operators to use familiar tools
○ Access a shell using kubectl exec
Allow operators to gradually build cloud native tools
8. @roboll_
Native Pod Routing
● Overlay networks are expensive!
○ Encapsulated traffic (VXLAN, IPIP, etc.)
○ Bridging from host to container
● CNI provides flexibility in networking implementation
○ Plugins configure networking
Put pods on the native network for performance and simplicity
9. @roboll_
Container Runtime
● Containerd offers a simpler alternative to Docker
○ Smaller codebase that is more accessible
○ Less real world (independent) use
● Some bad bugs
○ Zombie process causing hung shim
○ Maintainers are very responsive
Containerd has less surface area, but is less mature
10. @roboll_
Control Plane Topology
● Kubernetes control plane has four components
○ Datastore: etcd
○ API Server
○ Scheduler
○ Controller Manager
● By default, they run colocated
○ On large clusters, this is problematic
○ To scale independently, they can be separated
13. @roboll_
Load Balancer Services
● Cloud provider load balancers are integrated tightly into Kubernetes
○ A LoadBalancer service creates a load balancer and attaches every host
○ The kube-proxy on each host forwards traffic to the right pod
● ExternalTrafficPolicy determines which hosts to send traffic
○ With Local, only hosts with local pods receive traffic
○ With Cluster, all hosts in the cluster receive traffic
15. @roboll_
Pod Native Ingress
● Pod Native Ingress means that traffic is sent directly to pods
○ Requires routable pod IPs and a cloud provider abstraction
● No support for TCP
○ We’re working on support using L4 load balancers and custom resources
17. @roboll_
PKI
● PKI is used everywhere
○ Control plane, kubelet, webook configurations, aggregated apis, etc.
● No proper support for rotating credentials
etcd-io/etcd#9541 - etcd doesn’t reload certificates for connections to ip addresses
kubernetes/kubernetes#4672 - key/certificate rotation for kubernetes clients
18. @roboll_
PKI Workarounds
● Careful orchestration to enable rotation
● No solution from the community yet
● Several issues with work in progress
19. @roboll_
Ecosystem
● Dynamic community that is very eager to engage
● Many components lack production use and testing at scale
kubernetes/autoscaler - issues with greater than >50 node groups
kubernetes/kube-state-metrics - huge payload, not easily partitioned
kubernetes-incubator/external-dns - batch size, headless services, rate limits
20. @roboll_
Carefully vet your dependencies
● Kubernetes is highly automatable
○ Which means everyone is producing something
● Be careful what you pick up off the shelf
22. @roboll_
Cargo Culting
How can I keep a container running on Kubernetes?
https://stackoverflow.com/questions/31870222/how-can-i-keep-container-running-on-kube
rnetes
23. @roboll_
Invest in training
● The technology is new! For everyone!
● Engineers will find a way, and it may not be pretty
Give teams the tools and resources they need to succeed!
24. @roboll_
Namespace Organization
● “A single namespace is simpler...”
● Not concerned with isolation (for now)
● Data in etcd is organized by path
○ Performance degrades with poor distribution
Single namespace is a Bad Idea™
25. @roboll_
Namespaces are more than just access control
● Large namespaces are difficult to deal with
○ API responses are slow
○ CLI output is unreadable
● How big should a Namespace be?
○ Rough guideline: ~3k pods per namespace
○ Large clusters support hundreds of Namespaces
Organize Namespaces to limit the number of objects
26. @roboll_
“One of my pods isn’t running...”
● Pods fail scheduling with an error:
○ Image tag “latest” is not allowed
○ Where is the error coming from?
○ Why is it surfaced at runtime?
● Validating admission webhook registered on all pods
○ When pods are rescheduled, they fail the validation
○ Pod scheduling is often when there is no user present
27. @roboll_
Avoid Pod admission webhooks
● Admission webhooks are great for giving users feedback
○ Only at deploy time, never at runtime
● Pods are not controlled by users directly!
○ Usually driven by a workload controller
○ Unpredictable life cycle
Admission webhooks on pods give unactionable feedback
28. @roboll_
Stampede!
● We’re alerted by a sustained
increase in image pulls
● A DaemonSet is crash looping
on all clusters in a region
● Things escalate: all image pulls
start failing.
● We’re rate limited by our image
registry.
29. @roboll_
Avoid imagePullPolicy: Always
● The image was present on all hosts
○ Each crash triggered a new pull because of the imagePullPolicy
● imagePullPolicy: Always is useful for dynamic tags
○ Dynamic tags are unpredictable
Avoid dynamic image tags and imagePullPolicy: Always
31. @roboll_
Paying the early adopter tax
● It’s expensive!
○ Progress slows down
○ Users can get frustrated
32. @roboll_
Communicate with your customers
● Communicate clearly!
○ If users don’t understand the situation, they become frustrated
● Share successes, challenges, and plans
33. @roboll_
Incidents as an early adopter
● Two fundamental approaches
○ Restore service immediately, debug with forensics
■ Requires a high level of confidence in forensic data
○ Investigating causes in real time
■ Can extend disruption, not always an option
As an early adopter, forensics aren’t always reliable
34. @roboll_
The Very Hard Way
In summary:
● Kubernetes is extremely flexible and powerful
● Many parts of this ecosystem are still very immature
● The community is accessible and eager to help