SlideShare a Scribd company logo
1 of 21
Download to read offline
© 2016 NodeSource1
© 2016 NodeSource2
© 2016 NodeSource3
Welcome
Ross Kukulinski
Currently PM @ NodeSource
Node.js Evangelism WG
Introduction to CoreOS - O’Reilly Media
@RossKukulinski on Twitter/GitHub
© 2016 NodeSource4
What does “Cloud Native” mean?
© 2016 NodeSource
Cloud Native
5
At its root, Cloud Native is structuring
teams, culture and technology to utilize
automation and architectures to manage
complexity and unlock velocity.
Joe Beda - @jbeda
© 2016 NodeSource6
© 2016 NodeSource7
© 2016 NodeSource8
© 2016 NodeSource9
© 2016 NodeSource
Internet Archive
10
SIMPLE DESIG N GOALS
• The system should use only commodity equipment
• The system should not rely on commercial software
• The system should not require a PhD to implement or maintain
• The system should be as simple as possible
© 2016 NodeSource11
© 2016 NodeSource12
© 2016 NodeSource13
http://cloudytimemachine.com
© 2016 NodeSource
Buzzword Bingo!
14
Current implementation
• React & webpack
• Public-facing REST API (Swagger Documentation)
• Node.js microservice architecture
• Message queues for internal APIs
• 100% Containerized from day 1 - Docker & Kubernetes
• Cloud Storage APIs
• RethinkDB
• CI/CD using CircleCI
© 2016 NodeSource15
© 2016 NodeSource
Lessons Learned
16
• It’s fun to experiment recklessly
• Kubernetes is great for developers
• Design docs for discussion & reference materials
• Ship early & ship often
• Containers scale independent of your cloud provider
• Microservices shift complexity around, don’t resolve it
• Documenting & versioning streaming APIs is difficult
© 2016 NodeSource
Open source tooling
17
• Containerizing stateful services is hard!
• github.com/rosskukulinski/kubernetes-rethinkdb-cluster
• It’s ok to have opinions
• npmjs.com/package/k8s-scripts
© 2016 NodeSource
Future
18
What’s next?
• More tests… always more tests…
• Ephemeral environments for PR testing
• Language agnostic message bus
• Replace Redis with NATS.io
• Streaming API documentation & validation
© 2016 NodeSource19
© 2016 NodeSource
Resources
20
Jaffe, E. & Kirkpatrick, S. (2009). Architecture of the internet archive. Proceeedings of SYSTOR 2009: The
Israeli Experimental Systems Conference on - SYSTOR ’09. doi:10.1145/1534530.1534545
http://web.archive.org/web/20140828081906/http://iwaw.europarchive.org/07/IWAW2007_tofel.pdf
http://archive-access.sourceforge.net/projects/wayback/
http://www.motherjones.com/media/2014/05/internet-archive-wayback-machine-brewster-kahle
https://blog.archive.org
https://sourceforge.net/projects/archive-crawler
Thank you.
Ross Kukulinski
ross@kukulinski.com
@RossKukulinski

More Related Content

What's hot

WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 

What's hot (20)

JupyterHub + kubernetes
JupyterHub + kubernetesJupyterHub + kubernetes
JupyterHub + kubernetes
 
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Docker meets Kubernetes
Docker meets KubernetesDocker meets Kubernetes
Docker meets Kubernetes
 
Continuous delivery of microservices with kubernetes - Quintor 27-2-2017
Continuous delivery of microservices with kubernetes - Quintor 27-2-2017Continuous delivery of microservices with kubernetes - Quintor 27-2-2017
Continuous delivery of microservices with kubernetes - Quintor 27-2-2017
 
Orchestrating Docker Containers with Google Kubernetes on OpenStack
Orchestrating Docker Containers with Google Kubernetes on OpenStackOrchestrating Docker Containers with Google Kubernetes on OpenStack
Orchestrating Docker Containers with Google Kubernetes on OpenStack
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
 
Kubernetes Frankfurt
Kubernetes FrankfurtKubernetes Frankfurt
Kubernetes Frankfurt
 
CoreOS: The Inside and Outside of Linux Containers
CoreOS: The Inside and Outside of Linux ContainersCoreOS: The Inside and Outside of Linux Containers
CoreOS: The Inside and Outside of Linux Containers
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 
Deploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache StratosDeploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache Stratos
 
K8s storage-glusterfs-20180210
K8s storage-glusterfs-20180210K8s storage-glusterfs-20180210
K8s storage-glusterfs-20180210
 
kolla
kollakolla
kolla
 
Kubernetes Workshop
Kubernetes WorkshopKubernetes Workshop
Kubernetes Workshop
 
Kolla - containerizing the cloud itself
Kolla - containerizing the cloud itselfKolla - containerizing the cloud itself
Kolla - containerizing the cloud itself
 
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put togetherVMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
 
Building stateful applications on Kubernetes with Rook
Building stateful applications on Kubernetes with RookBuilding stateful applications on Kubernetes with Rook
Building stateful applications on Kubernetes with Rook
 
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
 
Kubernetes as a Concrete Abstraction Layer
Kubernetes as a Concrete Abstraction LayerKubernetes as a Concrete Abstraction Layer
Kubernetes as a Concrete Abstraction Layer
 

Viewers also liked

DianeLyons-referenceletter
DianeLyons-referenceletterDianeLyons-referenceletter
DianeLyons-referenceletter
Kelsey Nibert
 

Viewers also liked (20)

Libro 3
Libro 3Libro 3
Libro 3
 
Infogenx
InfogenxInfogenx
Infogenx
 
ATI MicroConnector Series
ATI MicroConnector SeriesATI MicroConnector Series
ATI MicroConnector Series
 
STERLING STREET flat
STERLING STREET flatSTERLING STREET flat
STERLING STREET flat
 
Oi red
Oi redOi red
Oi red
 
CV
CVCV
CV
 
Aporte del módulo convivencia
Aporte del módulo convivenciaAporte del módulo convivencia
Aporte del módulo convivencia
 
Rodadeira
RodadeiraRodadeira
Rodadeira
 
Bikram_CV[1]
Bikram_CV[1]Bikram_CV[1]
Bikram_CV[1]
 
Reflexion uno de curso de historia rub
Reflexion uno de curso de historia rubReflexion uno de curso de historia rub
Reflexion uno de curso de historia rub
 
Tocando Em Frente
Tocando Em FrenteTocando Em Frente
Tocando Em Frente
 
DianeLyons-referenceletter
DianeLyons-referenceletterDianeLyons-referenceletter
DianeLyons-referenceletter
 
}
}}
}
 
Las teorías de darwin
Las teorías de darwinLas teorías de darwin
Las teorías de darwin
 
Hhw hindi
Hhw hindiHhw hindi
Hhw hindi
 
Diploma VEV EMVI.PDF
Diploma VEV EMVI.PDFDiploma VEV EMVI.PDF
Diploma VEV EMVI.PDF
 
Using server logs to your advantage
Using server logs to your advantageUsing server logs to your advantage
Using server logs to your advantage
 
BlancaJúlia (Blancanieves y los siete enanitos personalizado)
BlancaJúlia (Blancanieves y los siete enanitos personalizado)BlancaJúlia (Blancanieves y los siete enanitos personalizado)
BlancaJúlia (Blancanieves y los siete enanitos personalizado)
 
Cardiac Medications
Cardiac MedicationsCardiac Medications
Cardiac Medications
 
SORACOMでのJava/AWS活用
SORACOMでのJava/AWS活用SORACOMでのJava/AWS活用
SORACOMでのJava/AWS活用
 

Similar to Architecting a Cloud Native Internet Archive

Similar to Architecting a Cloud Native Internet Archive (20)

State of the Art Containerized Nodejs
State of the Art Containerized NodejsState of the Art Containerized Nodejs
State of the Art Containerized Nodejs
 
Mesos swam-kubernetes-vds-02062017
Mesos swam-kubernetes-vds-02062017Mesos swam-kubernetes-vds-02062017
Mesos swam-kubernetes-vds-02062017
 
Docker QNAP Container Station
Docker QNAP Container StationDocker QNAP Container Station
Docker QNAP Container Station
 
Building a SaaS with Nodejs, Docker, and CoreOS
Building a SaaS with Nodejs, Docker, and CoreOSBuilding a SaaS with Nodejs, Docker, and CoreOS
Building a SaaS with Nodejs, Docker, and CoreOS
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
 
Step One in Digital Transformation - Node Summit 2016 - Dan Shaw
Step One in Digital Transformation - Node Summit 2016 - Dan ShawStep One in Digital Transformation - Node Summit 2016 - Dan Shaw
Step One in Digital Transformation - Node Summit 2016 - Dan Shaw
 
Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
 
Container Landscape in 2017
Container Landscape in 2017Container Landscape in 2017
Container Landscape in 2017
 
[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes
 
Recap Sitecore Symposium 2016, New Orleans
Recap Sitecore Symposium 2016, New OrleansRecap Sitecore Symposium 2016, New Orleans
Recap Sitecore Symposium 2016, New Orleans
 
Building A Diverse Geo-Architecture For Cloud Native Applications In One Day
Building A Diverse Geo-Architecture For Cloud Native Applications In One DayBuilding A Diverse Geo-Architecture For Cloud Native Applications In One Day
Building A Diverse Geo-Architecture For Cloud Native Applications In One Day
 
Pivotal Cloud Foundry: Building a diverse geo-architecture for Cloud Native A...
Pivotal Cloud Foundry: Building a diverse geo-architecture for Cloud Native A...Pivotal Cloud Foundry: Building a diverse geo-architecture for Cloud Native A...
Pivotal Cloud Foundry: Building a diverse geo-architecture for Cloud Native A...
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Shipping NodeJS with Docker and CoreOS (No Notes)
Shipping NodeJS with Docker and CoreOS (No Notes)Shipping NodeJS with Docker and CoreOS (No Notes)
Shipping NodeJS with Docker and CoreOS (No Notes)
 
Containers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry ApproachContainers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry Approach
 
'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker' 'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker'
 
The Application Server Platform of the Future - Container & Cloud Native and ...
The Application Server Platform of the Future - Container & Cloud Native and ...The Application Server Platform of the Future - Container & Cloud Native and ...
The Application Server Platform of the Future - Container & Cloud Native and ...
 

More from Ross Kukulinski

BayNode Logging Discussion
BayNode Logging DiscussionBayNode Logging Discussion
BayNode Logging Discussion
Ross Kukulinski
 

More from Ross Kukulinski (6)

State of State in Containers - PHL Kubernetes
State of State in Containers - PHL KubernetesState of State in Containers - PHL Kubernetes
State of State in Containers - PHL Kubernetes
 
Philly Tech Week Introduction to NodeJS
Philly Tech Week Introduction to NodeJSPhilly Tech Week Introduction to NodeJS
Philly Tech Week Introduction to NodeJS
 
Yodlr Realtime Technology Stack
Yodlr Realtime Technology StackYodlr Realtime Technology Stack
Yodlr Realtime Technology Stack
 
Building A SaaS with CoreOS, Docker, and Etcd
Building A SaaS with CoreOS, Docker, and EtcdBuilding A SaaS with CoreOS, Docker, and Etcd
Building A SaaS with CoreOS, Docker, and Etcd
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS
 
BayNode Logging Discussion
BayNode Logging DiscussionBayNode Logging Discussion
BayNode Logging Discussion
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Architecting a Cloud Native Internet Archive