SlideShare a Scribd company logo
Building a scalable learning platform
“how to make scaling the cloud’s problem”
instruqt
I like building and learning new things,
and sharing knowledge with others.
ERIK VELD
2instruqt
Founder of instruqt, focussing mostly
on the technical side.
ERIK VELD
3instruqt
What is instruqt?
4instruqt
Hands-on challenges that build skills on
DevOps and cloud.
WHAT IS INSTRUQT
5instruqt
Each user gets real infrastructure to
complete the challenges in.
WHAT IS INSTRUQT
6instruqt
Solutions are validated against the user
infrastructure.
WHAT IS INSTRUQT
7instruqt
Enough talking, demo time.
8instruqt
9
DEMO
PLATFORM
HOW IT STARTED
10
2016 2017 2018
HashiConf EU
instruqt
11instruqt
12instruqt
HOW IT STARTED
13
2016 2017 2018
HashiConf EU
HashiConf US
instruqt
14instruqt
HOW IT STARTED
15
2016 2017 2018
HashiConf EU
HashiConf US
Google Cloud Next
instruqt
16instruqt
HOW IT STARTED
17
2016 2017 2018
HashiConf EU
HashiConf US
Google Cloud Next
Current iteration
instruqt
How did we build this platform?
18instruqt
HOW IT IS BUILT
19
Google Cloud Platform Terraform Golang
instruqt
Entirely on Google Kubernetes Engine.
GOOGLE CLOUD PLATFORM
20instruqt
GKE gives us resilience, isolation,
service discovery and scaling for free.
GOOGLE CLOUD PLATFORM
21instruqt
Everything as a service from Google.
GOOGLE CLOUD PLATFORM
22instruqt
GOOGLE CLOUD PLATFORM
23
more
Container Registry
Datastore Kubernetes Engine Cloud SQL Cloud PubSub Cloud Storage
Compute Engine Cloud Functions Firebase
instruqt
GOOGLE CLOUD PLATFORM
24
more
Container Registry
Datastore Kubernetes Engine Cloud SQL Cloud PubSub Cloud Storage
Compute Engine Cloud Functions Firebase
instruqt
GOOGLE CLOUD PLATFORM
25
more
Container Registry
Datastore Kubernetes Engine Cloud SQL Cloud PubSub Cloud Storage
Compute Engine Cloud Functions Firebase
instruqt
Terraform manages our platform and
all of the services we use.
TERRAFORM
26instruqt
TERRAFORM
27
Describe what the desired state is,
don’t worry about how it’s achieved.
instruqt
GOLANG
28
With the small footprint and fast start
time we scale in seconds not minutes.
instruqt
GOLANG
29
With many interdependencies, a
monorepo solves a lot of problems.
instruqt
Tool inception.
30instruqt
Let’s take a look behind the scenes.
31instruqt
Terraform creates environments on
the fly, inserting variables where
needed.
BEHIND THE SCENES
32instruqt
33
DEMO
BEHIND THE SCENES
BEHIND THE SCENES
34
> PODSSERVICES
CONFIG
SECRETS
PROXY TRACK
NAMESPACE
OTHER INFRA
instruqt
Any container will work, platform
dependencies are injected at runtime.
BEHIND THE SCENES
35instruqt
# The volume is mounted in the pod from a git repository.
volume {
name = "bootstrap"
git_repo {
repository = "https://url-to-git-repo/bootstrap.git"
}
}
volume_mount {
name = "bootstrap"
mount_path = "/opt/bootstrap"
}
# Wait until the volume is mounted, then execute the setup script.
args = ["until [ -d /opt/bootstrap/ ]; do sleep 1; done;
/opt/bootstrap/setup.sh"]
36instruqt
Because terraform stores the state of
each user environment, cleanup is easy.
BEHIND THE SCENES
37instruqt
38
DEMO
BEHIND THE SCENES
How does terraform know
what to build?
39instruqt
The SDK creates a skeleton, which is
then filled out and sent to the pipeline.
TRACK PIPELINE
40instruqt
41
DEMO
CONTENT CREATION
Golang templates generate terraform
code that creates user environments.
TRACK PIPELINE
42instruqt
# The variables that need to go into the template.
data := struct {
Containers Container
}{ … }
# Create the destination file.
f, err := os.Create(outputPath)
# Parse the templates.
t := template.New(templateName)
_, err = t.ParseFiles(inputPath)
# Execute the template with the data.
for _, tmpl := range t.Templates() {
tmpl.ExecuteTemplate(f, tmpl.Name(), data)
}
43instruqt
# Loop over the containers in the config.yml file.
{{range .Containers}}
resource "kubernetes_replication_controller" "{{.Name}}" {
spec {
template {
container {
name = "{{.Name}}"
image = "{{.Image}}"
}
# Etc.
}
}
}
{{- end}}
44instruqt
45
DEMO
GENERATOR
Because of Container Builder we do
not have to run a build server anymore.
TRACK PIPELINE
46instruqt
47
DEMO
CONTAINER BUILDER
The platform and build pipeline are
scalable.
The challenge is scaling ourselves.
LESSONS LEARNED
48instruqt
Stand on the shoulders of giants and
use this to focus on your product.
49
LESSONS LEARNED
instruqt
Migrating to a different cloud provider
is not as much work as you might think.
LESSONS LEARNED
50instruqt
51
Thank you!
Erik Veld
@erikveld
instruqt.com
Ad

Recommended

Ch2.setup.node.and.npm
Ch2.setup.node.and.npm
Rick Chang
 
Node.js + influx + grafana
Node.js + influx + grafana
Lucas Inocente
 
Linux Security APIs and the Chromium Sandbox (SwedenCpp Meetup 2017)
Linux Security APIs and the Chromium Sandbox (SwedenCpp Meetup 2017)
Patricia Aas
 
Build A Private Developer's Cloud Using TripleO
Build A Private Developer's Cloud Using TripleO
K Rain Leander
 
Introduction to IoT.JS
Introduction to IoT.JS
Samsung Open Source Group
 
Neo4j python
Neo4j python
roni das
 
K9s - Kubernetes CLI To Manage Your Clusters In Style
K9s - Kubernetes CLI To Manage Your Clusters In Style
Raphaël PINSON
 
Muito Além de Containers: Arquitetura de um PaaS open source baseado em Go, D...
Muito Além de Containers: Arquitetura de um PaaS open source baseado em Go, D...
Fabiano Franz
 
Git
Git
jnewland
 
A Close Look at ARM Code Size
A Close Look at ARM Code Size
Samsung Open Source Group
 
How we do python
How we do python
Brice Laurencin
 
Vagrant: The ability to create production environments from day 1 of development
Vagrant: The ability to create production environments from day 1 of development
Paul Stack
 
MacユーザからみるWindows7
MacユーザからみるWindows7
Yasuhiro Morikawa
 
Ggplot2 Installation Instructions
Ggplot2 Installation Instructions
Vinita Silaparasetty
 
2016/11/05: OSWDem16 workshop
2016/11/05: OSWDem16 workshop
JesusArroyoTorrens
 
Ti.Roma - Meetup - Jumpstart w/ JALT
Ti.Roma - Meetup - Jumpstart w/ JALT
Matteo Toto
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
Leon Anavi
 
Swiss magento meetup: APPUiO
Swiss magento meetup: APPUiO
Aarno Aukia
 
容器與IoT端點應用
容器與IoT端點應用
Philip Zheng
 
Introduction to the Moby Project
Introduction to the Moby Project
Jochen Zehnder
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Samsung Open Source Group
 
Porting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginners
Leon Anavi
 
Learn how to build decentralized and serverless html5 applications with embar...
Learn how to build decentralized and serverless html5 applications with embar...
Alessandro Confetti
 
What is Docker and why is it so hot?
What is Docker and why is it so hot?
Jochen Zehnder
 
Nnnn
Nnnn
Eng. Al-Salkhadi
 
Introduction to ubuntu
Introduction to ubuntu
Mohamadreza Rajabi
 
Debugging Effectively in the Cloud - Felipe Fidelix - Presentation at eZ Con...
Debugging Effectively in the Cloud - Felipe Fidelix - Presentation at eZ Con...
eZ Systems
 
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet
 
Machine learning in cybersecutiry
Machine learning in cybersecutiry
Vishwas N
 
Splunk n-box-splunk conf-2017
Splunk n-box-splunk conf-2017
Mohamad Hassan
 

More Related Content

What's hot (20)

Git
Git
jnewland
 
A Close Look at ARM Code Size
A Close Look at ARM Code Size
Samsung Open Source Group
 
How we do python
How we do python
Brice Laurencin
 
Vagrant: The ability to create production environments from day 1 of development
Vagrant: The ability to create production environments from day 1 of development
Paul Stack
 
MacユーザからみるWindows7
MacユーザからみるWindows7
Yasuhiro Morikawa
 
Ggplot2 Installation Instructions
Ggplot2 Installation Instructions
Vinita Silaparasetty
 
2016/11/05: OSWDem16 workshop
2016/11/05: OSWDem16 workshop
JesusArroyoTorrens
 
Ti.Roma - Meetup - Jumpstart w/ JALT
Ti.Roma - Meetup - Jumpstart w/ JALT
Matteo Toto
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
Leon Anavi
 
Swiss magento meetup: APPUiO
Swiss magento meetup: APPUiO
Aarno Aukia
 
容器與IoT端點應用
容器與IoT端點應用
Philip Zheng
 
Introduction to the Moby Project
Introduction to the Moby Project
Jochen Zehnder
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Samsung Open Source Group
 
Porting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginners
Leon Anavi
 
Learn how to build decentralized and serverless html5 applications with embar...
Learn how to build decentralized and serverless html5 applications with embar...
Alessandro Confetti
 
What is Docker and why is it so hot?
What is Docker and why is it so hot?
Jochen Zehnder
 
Nnnn
Nnnn
Eng. Al-Salkhadi
 
Introduction to ubuntu
Introduction to ubuntu
Mohamadreza Rajabi
 
Debugging Effectively in the Cloud - Felipe Fidelix - Presentation at eZ Con...
Debugging Effectively in the Cloud - Felipe Fidelix - Presentation at eZ Con...
eZ Systems
 
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet
 
Vagrant: The ability to create production environments from day 1 of development
Vagrant: The ability to create production environments from day 1 of development
Paul Stack
 
MacユーザからみるWindows7
MacユーザからみるWindows7
Yasuhiro Morikawa
 
Ti.Roma - Meetup - Jumpstart w/ JALT
Ti.Roma - Meetup - Jumpstart w/ JALT
Matteo Toto
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
Leon Anavi
 
Swiss magento meetup: APPUiO
Swiss magento meetup: APPUiO
Aarno Aukia
 
容器與IoT端點應用
容器與IoT端點應用
Philip Zheng
 
Introduction to the Moby Project
Introduction to the Moby Project
Jochen Zehnder
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Samsung Open Source Group
 
Porting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginners
Leon Anavi
 
Learn how to build decentralized and serverless html5 applications with embar...
Learn how to build decentralized and serverless html5 applications with embar...
Alessandro Confetti
 
What is Docker and why is it so hot?
What is Docker and why is it so hot?
Jochen Zehnder
 
Debugging Effectively in the Cloud - Felipe Fidelix - Presentation at eZ Con...
Debugging Effectively in the Cloud - Felipe Fidelix - Presentation at eZ Con...
eZ Systems
 
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet
 

Similar to Building a scalable learning platform - Erik Veld - Codemotion Amsterdam 2018 (20)

Machine learning in cybersecutiry
Machine learning in cybersecutiry
Vishwas N
 
Splunk n-box-splunk conf-2017
Splunk n-box-splunk conf-2017
Mohamad Hassan
 
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Kaleido
 
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
AMD Developer Central
 
Programming IoT with Docker: How to Start?
Programming IoT with Docker: How to Start?
msyukor
 
Kubernetes 101
Kubernetes 101
Stanislav Pogrebnyak
 
RHEL8-BETA-RHUG.pdf
RHEL8-BETA-RHUG.pdf
Harsh Shah
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
ssuser9e06a61
 
From printed circuit boards to exploits
From printed circuit boards to exploits
virtualabs
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Ambassador Labs
 
OpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 
Rhel8 Beta - Halifax RHUG
Rhel8 Beta - Halifax RHUG
Nicole Maselli
 
HPC on OpenStack
HPC on OpenStack
Erich Birngruber
 
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
ITCamp
 
Open shift 4 infra deep dive
Open shift 4 infra deep dive
Winton Winton
 
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXo Platform
 
Tranquilizer
Tranquilizer
Albert DeFusco
 
Going deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkus
Red Hat Developers
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs
 
Machine learning in cybersecutiry
Machine learning in cybersecutiry
Vishwas N
 
Splunk n-box-splunk conf-2017
Splunk n-box-splunk conf-2017
Mohamad Hassan
 
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Kaleido
 
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
AMD Developer Central
 
Programming IoT with Docker: How to Start?
Programming IoT with Docker: How to Start?
msyukor
 
RHEL8-BETA-RHUG.pdf
RHEL8-BETA-RHUG.pdf
Harsh Shah
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
ssuser9e06a61
 
From printed circuit boards to exploits
From printed circuit boards to exploits
virtualabs
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Ambassador Labs
 
OpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 
Rhel8 Beta - Halifax RHUG
Rhel8 Beta - Halifax RHUG
Nicole Maselli
 
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
ITCamp
 
Open shift 4 infra deep dive
Open shift 4 infra deep dive
Winton Winton
 
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXo Platform
 
Going deep (learning) with tensor flow and quarkus
Going deep (learning) with tensor flow and quarkus
Red Hat Developers
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs
 
Ad

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
Codemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
Codemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
Codemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Codemotion
 
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
Codemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
Codemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
Codemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Codemotion
 
Ad

Recently uploaded (20)

Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 

Building a scalable learning platform - Erik Veld - Codemotion Amsterdam 2018