- Goto 2018
- Key Learnings
- Troubleshooting & Debugging Microservices in Kubernetes
- Serverless Architectural Patterns and Best Practices
- Augmented Reality - Flavours, Challenges and Writing AR Experiences in JavaScript
- Your Superpower User Manual
- How Software can be Thought of as a Force for Good
- Energy and Education Access for Remote Communities
- Experience Report - Teaching Kids to Code for 10 Years
- Insecure Transit - Microservice
- Swearing, Nudity and Other Vulnerable Positions
- Optimizing Kubernetes deployments with Helm
- Artificial Intelligence Reloaded - AI Applications in the Industry
- Event-based Architecture and Implementations with Kafka and Atom
- The Simpsons and Their Mathematical Secrets
- Frugal Innovation
- The 7 quests of resilient software design
- Accelerated Learning: How Agile Can Help You?
- The World after Microservice Migration with Service Mesh and Contract Testing
- The Leprechauns of Software Engineering
- GraalVM: Run Programs Faster Anywhere
Created by gh-md-toc
- https://gotober.com/2018/sessions/682
- https://saturnism.me/talk/troubleshooting-debugging-microservices/
- https://github.com/saturnism/spring-boot-docker/tree/master/examples-java
- @saturnism @hostirosti
https://cloud.google.com/stackdriver
Namespace ~ Environment
kubectl get ns
kubectl get pods -n abcd
Alles gleich - Unterschiede, zb DB secrets: in config map
Logs durchsuchen: BigQuery
kubectl proxy
kubectl exec ...
kubectl port-forward ...
weave-scope
* [Stackdriver Trace](https://cloud.google.com/trace/)
* [Stackdriver Debugger](https://cloud.google.com/debugger/)
Debugger: snapshot
Tracing: open senses, zipkin
- https://gotober.com/2018/sessions/499
- https://files.gotocon.com/uploads/slides/conference_12/499/original/gotober_serverless_microservices.pdf
- @sascha242
-
Avoid host afinity
-
Consul, eureka, zookeeper
-
SAM
-
don't dos from the talk:
- Struktur unklar, keine klare Abgrenzung der Themen
- Top-Level view fehlt, viele vollkommen willkürlich wirkende Details ...
- Warum das ganze? Welche >Anwendungsfall<? Wozu hilft das?
- Begriffe nicht erklärt
- Wozu sind die Produkte da?
- Werbeveranstaltung
- Total überfrachtet => einfache Diagramme
- Langweilig, >keine Demos<
- Zu viel Text, zu wenig Diagramme
-
AWS
- Komplexe, eigene Welt
- Will man sich das antun?
- Spart einem das Arbeit?
- Vendor lock
- https://gotober.com/2018/sessions/494
- https://files.gotocon.com/uploads/slides/conference_12/494/original/Goto_AR_wikitude.pdf
- AR Cloud / wikitude
- WebRTC
- Markerless AR
- AR Cloud is a localization service that works indoor and outdoor globally based on visual information with high precision and allows to share AR experiences with other users in real-time across any AR device
- wikitude_ar_cloud.pdf
- https://cdn.wikitude.com/videos/Wikitude_AR-Cloud_v050418_low-res.mp4
- https://gotober.com/2018/sessions/551
- https://files.gotocon.com/uploads/slides/conference_12/551/original/Your%20Superpower%20User's%20Manual.pdf
- @marcacohen
- Google Cloud Cheat Sheet
- Google Cloud Big Query
- Internet archive
- GH archive
- Auto ML Modelle generieren
- https://www.tensorflow.org/
- word2vec
- Doc2vec
- Cloud Scheduler
- Jupyter bei Google:
- Google Colaboratory
- Tensor Flow & Github integration
- Google reserve image search
- Francesco Mondora
- https://gotober.com/2018/sessions/654
- https://twitter.com/makkina
- Why does the company exist?
- Sustainability rating
- Design thinking
- Book: reinventing Organisation
- https://gotober.com/2018/sessions/539
- https://www.weforum.org/agenda/authors/jaideep-bansal/
- Expiditionen: http://ghe.co.in/
- https://www.youtube.com/watch?v=AwS42muvKQ0&index=3&list=PLEx5khR4g7PJquVHXtkcdo-QzK54bfmY9
- BBC Breakthrough
- BBC Power to Himalaya
- Inter & Intravillage Communication
- https://gotober.com/2018/sessions/503
- https://files.gotocon.com/uploads/slides/conference_12/503/original/FINAL-10yrs-TKP.pdf
- TKPJava
- TeachingKidsProgrammning.com
- https://gotober.com/2018/sessions/523
- Video
- @samnewman
- https://samnewman.io
- slides: https://www.dropbox.com/s/fl8mojfoi1fzjg3/InsecureTransit.pdf?dl=0
- https://samnewman.io/offerings/videos/
- https://www.youtube.com/watch?v=1sjqHlLuRw8&list=PLEx5khR4g7PIEfXSB9bDS4lB-J9stOynD&index=2
- Sam Newman - Building Microservices
- Equifax Breach
- Data Breach Investigation Report 2017
- Single worst problem: Weak or stolen passwords
- Pheonix Infrastructure Pattern
- Single provider for everything: gefährlich!
- Rotate secret
- Consul-vault
- “44 percent of security breaches occur after vulnerabilities and solutions have been identified. In other words, the problems could have been avoided if found vulnerabilities had been addressed sooner.”
- CVE Database
- Kubernetes & IAAS: patchen wird einem abgenommen!
- Check container: https://github.com/coreos/clair
- Find outdated dependencies: https://snyk.io/
- https://www.aquasec.com/
- Https everywhere
- Let's encrypt CA
- Mutual TLS Certificate
- Azure
- Confused Deputy Problem
- JWT token -> only internal
- Service Mesh: Istio
- Recap:
- Patching & Passwords
- Storing secrets
- Transportation security
- Authorization
- Service Meshes
- John Le Drew
- https://gotober.com/2018/sessions/497
- https://www.wisenoodles.com/talks/swearing-nudity-and-other-vulnerable-positions
- https://twitter.com/antz29
- https://www.wisenoodles.com/
- https://www.youtube.com/watch?v=ofBv-num0lA&index=4&list=PLEx5khR4g7PJquVHXtkcdo-QzK54bfmY9
- psychological safety - feel safe to take risks and be vulnerable
- dependability - get things done with quality
- Structure & Clarity - clear roles, plans, Goals
- Meaning - work is personally important
- Impact - people think works matters, feel small wins
- Psychological safety: Can we take risks on this team without feeling insecure or embarrassed?
- Dependability: Can we count on each other to do high quality work on time?
- Structure & clarity: Are goals, roles, and execution plans on our team clear?
- Meaning of work: Are we working on something that is personally important for each of us?
- Impact of work: Do we fundamentally believe that the work we’re doing matters?
-> checklists
Psychological safety: belief that one will not be punished or humiliated for speaking up with ideas, questions, concern or mistakes
-
or: "You're safe, when you can speak your truth, raise your concerns and give and receive constructive feedback without the fear of humiliation, rejection or punishment"
-
Mindfulness
- Paying attention is about noticing how you feeld, how people around you are feeling and approaching people and the organisation with curiosity and not judgement.
improv
wisenoodles.com
-> "yes, and" instead of "yes, but" -> go with the idea, improvise, leave room for creativity
- Unsafety -> stress -> inpact on social life
Are you OK? -> replace judgent with curiosity
- https://gotober.com/2018/sessions/662
- >slides<
- https://twitter.com/erwinde
- https://github.com/erwindeg
- https://www.youtube.com/watch?v=TXZBuBQpm-Q
- https://www.helm.sh/
- Package Managements for Kubernetes
- Tiller deamon wird in Cluster installiert
{{ .Values.key.name }}
- Syntax- examples: https://github.com/erwindeg/k8s-helm/tree/master/helm_chart_guestbook/templates
- ?how to prevent accidental deployments to prod?
- Helm hat kubenetes setups für alles mögliche :-) (chart repositories) -> für Workshop nutzen?
- jenkins, sonar, postgres, rabbit mq etc.
- https://github.com/helm/charts
- https://github.com/helm/charts/tree/master/stable
- Dependencies
- https://docs.helm.sh/using_helm/#quickstart-guide
helm install stable/sonarqube --namespace sonarqube --set service.externalPort=9001
helm update ...
helm history ...
helm rollback ...
-f "values.prod.yml"
--set ...=....
--set-file
--dry-run --debug
helm create --starter
helm test
- Christoph Windheuser
- https://gotober.com/2018/sessions/544
- https://twitter.com/intellification
-
slides missing
- http://intellification.net/
- Big data is foundation of AI
- word2Vec
- LSTM
- DVC
- http://microservices-buch.de/ueberblick.html
- http://microservices-praxisbuch.de/rezepte.html
- Microservices = Extremely decoupled modules
- Most important factor for microservice:Getting the split right!!!
- ...communicate via business events
- https://github.com/ewolff/microservice-kafka
- Atom feed
- https://github.com/ewolff/microservice-atom
- https://validator.w3.org/feed/docs/atom.html
- http caching
- GET with If-modified-Since header
- server returns 304 (not modified) ... or new data
- REST can be asynchronuous
- Simon Singh
- https://gotober.com/2018/sessions/504
- http://simonsingh.net/
- https://twitter.com/SLSingh
- Betty Enyonam Kumahor
- https://gotober.com/2018/sessions/561
- >slides<
- https://twitter.com/enyok
- Frugal innovation: Book Jugaad Innovation
- Constrainted Contexts
- Design Thinking
- Uwe Friedrichsen
- https://gotober.com/2018/sessions/676
- >slides<
- @ufried
- Understand busines case
- Resilience is not about making money - Resilience is about not losing money
- Use business monitoring
- all business decisions are made in the gut
- pretend to adress the brain, but aim for the gut
- "Its strange for developers, but it's the way managers work"
- Deal with unavailability
- Think about when a problem occurs
- Failures:
- non-determinism
- we usually use deterministic thinking to reason about distributed systems
- Distributed systems introduce non-determinism regarding
- Execution completeness
- Message ordering
- Communication timing
- You will be affected by this at the application level
- Don’t expect your infrastructure to hide all effects from you
- Better have a plan to detect and recover from inconsistencie
- Availability goes down with the number of services involved in a request
- Assume a service availability of 99,5% (incl. planned downtimes)
- 10 services involved in a request à 95,1% probability of success
- 50 services involved in a request à 77,8% probability of success
- Assume a service availability of 99,5% (incl. planned downtimes)
- Establish the ops-dev feedback loop
- Site Reliability Engineering (STE)
- Everything we learned about reuse is good inside boundaries, but outside these it makes systems instable
- => get the functional design right
- Be (extremely) wary of reusability
- Reusability increases coupling
- Reusability usually leads to bad service design
- Reusability compromises availability
- Reusability rarely pays
- Do not strive for reusable services
- Strive for replaceable services instead
- Try to tackle reusability issues with libraries
- Mitigate
- Using resilience patterns
- Patterns are options, not obligations
- Don’t pick too many patterns
- Each pattern increases complexity
- Complexity is the enemy of robustness
- Each pattern costs money in dev & ops
- You only have a limited resilience budget
- Look for complementary patterns
- caching won't always help
- Preserve the collective memory / Use wisdom from earlier
- DECIDE WHAT YOU WANT
- DECONSTRUCT THE SKILL
- RESEARCH THE SKILL JUST ENOUGH
- REMOVE BARRIERS
- PRECOMMIT TO PRACTICE AT LEAST 20 HOURS
- Reading / watching recos:
- Expert in a year
- First year guitar progress jack woodman
- Therese trollbu
- The Dan Plan
- The tim ferris experiment
- Andrew Tarvin - Humor at Work <-
- How to learn anything in half time jim kwik
- learning tips:
- Find menote
- Book
- Youtube
- Record yourself
- Get rewards
- Dejan Mitrovic
- https://gotober.com/2018/sessions/674
- >slides<
- service mesh
- Servicemash: linkerd version 1
- registrator gliderlabs => put docker container infos into consul
- Pact broker
- Pact can check swagger api
- swagger-pact-validator
- Regression Testing: http://wiremock.org/docs/record-playback/
- Idea: Generate Tests from swagger API
- Laurent Bossavit
- https://gotober.com/2018/sessions/565
- @morendil
- Self Defence Techniques
- fact-check
- research
- ask
- measure
- dress as scientist
- look up sources
- sci-hub
- Scientific knowledge should be free
- https://de.wikipedia.org/wiki/Sci-Hub
- http://sci-hub.tech/
- large amounts of money
- check data
- Barry Boehm
- Curiosity - desire to know the truth
- "Lack of a sense of history"
- Book: https://leanpub.com/leprechauns
- Oleg Šelajev
- https://gotober.com/2018/sessions/650
- >slides<
- @shelajev
- Graal Archtitecture
- medium.com/graalvm/graalvm-ten-things-12d9111f307d
- https://medium.com/graalvm/compiling-scala-faster-with-graalvm-86c5c0857fa3
- possible use cases:
- compute & compile faster
- combine different languages
- Execute without VM
- decrease executable size & startup times