SlideShare a Scribd company logo
1 of 27
Hacking the Monolith
A Case Study
SVT interaktiv - JFokus 2015
Gereon Kåver
@gereonk Rickard Andersson
Keep the bar low
2009
2011
2014TEAM 2015
Core
Video Core
≈120 man-year code
New
Architecture!
Culture
Autonomy
Opt-in
Free vs standardized tech choices
Custom API:s vs standardized API:s
Common operations, infrastructure, logging,…
Reusability vs versatility
Distributed vs centralized ownership
…
Free over standardized tech choices
Custom API:s over standardized API:s
Recommended over common operations, infra,
logging
Versatility over reusability
Distributed over centralized ownership
…
Microservice Architecture
1. Easier to create team
autonomy
2. Simplify scaling and
maintenance
3. Improve resilience and
monitoring
4. Make it more fun to develop
Why micro
services?
“Create greater ownership” - LinkedIn
Give the team full control, no central
rules
Create a platform
1. You should (from a newly installed computer)
be able to modify and deploy an existing
project to production in less than 6 hours.
2. It should take less than two hours to create a
new service with CI, monitoring, logging.
Automated deploy at SVT
Jenkins deploys to Heroku or internal to
“Molnet”
Automated deploy at SVT - “Molnet”
$> moln app create crash-course
$> moln app image set crash-course /hello-world:1.0
$> moln app targets set crash-course
sto.molnet.svt.se=stomoln01-agent01
drs.molnet.svt.se=drsmoln01-agent01
$> moln app deploy crash-course:v1
$> moln app undeploy crash-course:v1
Automated deploy at SVT - “Molnet”
- Docker. Packaging and running services
- Helios. Orchestration of services.
- Consul. System for configuration and service
discovery.
Automated deploy at SVT - “Molnet”
Open source: https://github.com/SVT/helios-consul
Micro services gives (new)
requirements
1.Automated deploy - Contious
Integration
2.Monitoring
3.Resilience
Resilience at
SVT
Hystrix from Netflix.
1.Isolate network interaction using Circuit-
Breakers, BulkRequests, Timeouts
2.Fallbacks and graceful degradation
3.Metrics. req/sec, failures, responsetimes
https://github.com/Netflix/Hystrix
SVT services
API-guidelines at SVT
1.We do not violate HTTP 1.1
2.We uses rest, Richardson Maturity Model
up to and including level 2
3.All API:s uses swagger for documentations.
(swagger.io)
4.All clients adds ‘user-agent’ to create
traceability
5.We uses CORS (not JSONP)
Keep the bar low
Follow us on blogg.svt.se/testbild
Gereon Kåver
gereon.kaver@svt.se
@gereonk
Rickard Andersson
rickard.andersson@svt.se

More Related Content

What's hot

Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing WebinarTechSoup
 
DEVNET-1170 Intercloud Microservices with Docker and Nirmata
DEVNET-1170	Intercloud Microservices with Docker and NirmataDEVNET-1170	Intercloud Microservices with Docker and Nirmata
DEVNET-1170 Intercloud Microservices with Docker and NirmataCisco DevNet
 
WSO2Con ASIA 2016: Understanding the WSO2 API Management Platform
WSO2Con ASIA 2016: Understanding the WSO2 API Management PlatformWSO2Con ASIA 2016: Understanding the WSO2 API Management Platform
WSO2Con ASIA 2016: Understanding the WSO2 API Management PlatformWSO2
 
Accelerating the Network with Open Source
Accelerating the Network with Open SourceAccelerating the Network with Open Source
Accelerating the Network with Open SourceEricsson
 
DEVNET-1135 Thanks, Docker! The Pro’s and Con’s of Containerizing your OpenSt...
DEVNET-1135	Thanks, Docker! The Pro’s and Con’s of Containerizing your OpenSt...DEVNET-1135	Thanks, Docker! The Pro’s and Con’s of Containerizing your OpenSt...
DEVNET-1135 Thanks, Docker! The Pro’s and Con’s of Containerizing your OpenSt...Cisco DevNet
 
WSO2Con ASIA 2016: New IT Business Models and Open Source Middleware Economic...
WSO2Con ASIA 2016: New IT Business Models and Open Source Middleware Economic...WSO2Con ASIA 2016: New IT Business Models and Open Source Middleware Economic...
WSO2Con ASIA 2016: New IT Business Models and Open Source Middleware Economic...WSO2
 
Integrate Security and Compliance into your CI/CD Pipeline
Integrate Security and Compliance into your CI/CD PipelineIntegrate Security and Compliance into your CI/CD Pipeline
Integrate Security and Compliance into your CI/CD PipelineDevOps Indonesia
 
onePK The Swiss Army Knife for Network Programming
onePK The Swiss Army Knife for Network ProgrammingonePK The Swiss Army Knife for Network Programming
onePK The Swiss Army Knife for Network ProgrammingCisco DevNet
 
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...India Scrum Enthusiasts Community
 
TechWiseTV Workshop: Cisco CloudCenter (CliQr)
TechWiseTV Workshop: Cisco CloudCenter (CliQr)TechWiseTV Workshop: Cisco CloudCenter (CliQr)
TechWiseTV Workshop: Cisco CloudCenter (CliQr)Robb Boyd
 
Focusing on What Matters
Focusing on What MattersFocusing on What Matters
Focusing on What MattersVMware Tanzu
 
Code-to-Cloud Visibility: An Essential Framework for DevOps Success
Code-to-Cloud Visibility: An Essential Framework for DevOps SuccessCode-to-Cloud Visibility: An Essential Framework for DevOps Success
Code-to-Cloud Visibility: An Essential Framework for DevOps SuccessJadeCampbell13
 
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar Venugopalan
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar VenugopalanAgile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar Venugopalan
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar VenugopalanIndia Scrum Enthusiasts Community
 
Modern App Architecture - Microservices, API Friendly
Modern App Architecture - Microservices, API FriendlyModern App Architecture - Microservices, API Friendly
Modern App Architecture - Microservices, API FriendlyDevOps Indonesia
 
КОСТЯНТИН СЕВЕРЕНЧУК «Monitoring and Automation in DevTestSecOps world» Lviv ...
КОСТЯНТИН СЕВЕРЕНЧУК «Monitoring and Automation in DevTestSecOps world» Lviv ...КОСТЯНТИН СЕВЕРЕНЧУК «Monitoring and Automation in DevTestSecOps world» Lviv ...
КОСТЯНТИН СЕВЕРЕНЧУК «Monitoring and Automation in DevTestSecOps world» Lviv ...UA DevOps Conference
 
What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017Lizzy Guido (she/her)
 
Accelerating software delivery with AWS
Accelerating software delivery with AWSAccelerating software delivery with AWS
Accelerating software delivery with AWSRob Greenwood
 

What's hot (20)

Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing Webinar
 
DEVNET-1170 Intercloud Microservices with Docker and Nirmata
DEVNET-1170	Intercloud Microservices with Docker and NirmataDEVNET-1170	Intercloud Microservices with Docker and Nirmata
DEVNET-1170 Intercloud Microservices with Docker and Nirmata
 
WSO2Con ASIA 2016: Understanding the WSO2 API Management Platform
WSO2Con ASIA 2016: Understanding the WSO2 API Management PlatformWSO2Con ASIA 2016: Understanding the WSO2 API Management Platform
WSO2Con ASIA 2016: Understanding the WSO2 API Management Platform
 
Accelerating the Network with Open Source
Accelerating the Network with Open SourceAccelerating the Network with Open Source
Accelerating the Network with Open Source
 
DEVNET-1135 Thanks, Docker! The Pro’s and Con’s of Containerizing your OpenSt...
DEVNET-1135	Thanks, Docker! The Pro’s and Con’s of Containerizing your OpenSt...DEVNET-1135	Thanks, Docker! The Pro’s and Con’s of Containerizing your OpenSt...
DEVNET-1135 Thanks, Docker! The Pro’s and Con’s of Containerizing your OpenSt...
 
WSO2Con ASIA 2016: New IT Business Models and Open Source Middleware Economic...
WSO2Con ASIA 2016: New IT Business Models and Open Source Middleware Economic...WSO2Con ASIA 2016: New IT Business Models and Open Source Middleware Economic...
WSO2Con ASIA 2016: New IT Business Models and Open Source Middleware Economic...
 
Agile Tour Chennai 2015: Nexus - SRV Subrahmaniam
Agile Tour Chennai 2015: Nexus - SRV SubrahmaniamAgile Tour Chennai 2015: Nexus - SRV Subrahmaniam
Agile Tour Chennai 2015: Nexus - SRV Subrahmaniam
 
Integrate Security and Compliance into your CI/CD Pipeline
Integrate Security and Compliance into your CI/CD PipelineIntegrate Security and Compliance into your CI/CD Pipeline
Integrate Security and Compliance into your CI/CD Pipeline
 
onePK The Swiss Army Knife for Network Programming
onePK The Swiss Army Knife for Network ProgrammingonePK The Swiss Army Knife for Network Programming
onePK The Swiss Army Knife for Network Programming
 
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
 
TechWiseTV Workshop: Cisco CloudCenter (CliQr)
TechWiseTV Workshop: Cisco CloudCenter (CliQr)TechWiseTV Workshop: Cisco CloudCenter (CliQr)
TechWiseTV Workshop: Cisco CloudCenter (CliQr)
 
Focusing on What Matters
Focusing on What MattersFocusing on What Matters
Focusing on What Matters
 
Code-to-Cloud Visibility: An Essential Framework for DevOps Success
Code-to-Cloud Visibility: An Essential Framework for DevOps SuccessCode-to-Cloud Visibility: An Essential Framework for DevOps Success
Code-to-Cloud Visibility: An Essential Framework for DevOps Success
 
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar Venugopalan
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar VenugopalanAgile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar Venugopalan
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar Venugopalan
 
Modern App Architecture - Microservices, API Friendly
Modern App Architecture - Microservices, API FriendlyModern App Architecture - Microservices, API Friendly
Modern App Architecture - Microservices, API Friendly
 
КОСТЯНТИН СЕВЕРЕНЧУК «Monitoring and Automation in DevTestSecOps world» Lviv ...
КОСТЯНТИН СЕВЕРЕНЧУК «Monitoring and Automation in DevTestSecOps world» Lviv ...КОСТЯНТИН СЕВЕРЕНЧУК «Monitoring and Automation in DevTestSecOps world» Lviv ...
КОСТЯНТИН СЕВЕРЕНЧУК «Monitoring and Automation in DevTestSecOps world» Lviv ...
 
What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017
 
Accelerating software delivery with AWS
Accelerating software delivery with AWSAccelerating software delivery with AWS
Accelerating software delivery with AWS
 
Microsoft DevOps
Microsoft DevOpsMicrosoft DevOps
Microsoft DevOps
 
Api Management and Demo
Api Management and DemoApi Management and Demo
Api Management and Demo
 

Viewers also liked

Rubyslava beyond the_monolith
Rubyslava beyond the_monolithRubyslava beyond the_monolith
Rubyslava beyond the_monolitholahmichal
 
Dismantling the Monolith: Scaling with Microservices
Dismantling the Monolith: Scaling with MicroservicesDismantling the Monolith: Scaling with Microservices
Dismantling the Monolith: Scaling with MicroservicesOKL Engineering
 
Monolith vs Microservices vs Teams
Monolith vs Microservices vs TeamsMonolith vs Microservices vs Teams
Monolith vs Microservices vs TeamsTomáš Strejček
 
Disassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.jsDisassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.jsNicholas Young
 
Breaking the Monolith - Microservice Extraction at SoundCloud
Breaking the Monolith - Microservice Extraction at SoundCloudBreaking the Monolith - Microservice Extraction at SoundCloud
Breaking the Monolith - Microservice Extraction at SoundCloudJan Kischkel
 
Splitting the Monolith
Splitting the MonolithSplitting the Monolith
Splitting the MonolithMaria Gomez
 
Breaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStackBreaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStackNodejsFoundation
 
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015Teo Ruiz
 
My Monolith is Melting - PIPELINE CONF 2015
My Monolith is Melting - PIPELINE CONF 2015My Monolith is Melting - PIPELINE CONF 2015
My Monolith is Melting - PIPELINE CONF 2015Meri Williams
 
Monolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly OsconMonolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly OsconChristopher Grant
 
Evolving toward Microservices - O’Reilly SACON Keynote
Evolving toward Microservices  - O’Reilly SACON KeynoteEvolving toward Microservices  - O’Reilly SACON Keynote
Evolving toward Microservices - O’Reilly SACON KeynoteChristopher Grant
 
DPM UK: Stealing Project Management Lessons from Artificial Intelligence
DPM UK: Stealing Project Management Lessons from Artificial IntelligenceDPM UK: Stealing Project Management Lessons from Artificial Intelligence
DPM UK: Stealing Project Management Lessons from Artificial IntelligenceMeri Williams
 
I-Tier: Breaking Up the Monolith @ Philly ETE
I-Tier: Breaking Up the Monolith @ Philly ETEI-Tier: Breaking Up the Monolith @ Philly ETE
I-Tier: Breaking Up the Monolith @ Philly ETESean McCullough
 
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...PyData
 
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletSurviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletHyperwallet
 
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...Amazon Web Services
 
From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015Randy Shoup
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.PLovababu
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic MicroservicesRandy Shoup
 
The Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureThe Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureVMware Tanzu
 

Viewers also liked (20)

Rubyslava beyond the_monolith
Rubyslava beyond the_monolithRubyslava beyond the_monolith
Rubyslava beyond the_monolith
 
Dismantling the Monolith: Scaling with Microservices
Dismantling the Monolith: Scaling with MicroservicesDismantling the Monolith: Scaling with Microservices
Dismantling the Monolith: Scaling with Microservices
 
Monolith vs Microservices vs Teams
Monolith vs Microservices vs TeamsMonolith vs Microservices vs Teams
Monolith vs Microservices vs Teams
 
Disassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.jsDisassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.js
 
Breaking the Monolith - Microservice Extraction at SoundCloud
Breaking the Monolith - Microservice Extraction at SoundCloudBreaking the Monolith - Microservice Extraction at SoundCloud
Breaking the Monolith - Microservice Extraction at SoundCloud
 
Splitting the Monolith
Splitting the MonolithSplitting the Monolith
Splitting the Monolith
 
Breaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStackBreaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStack
 
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
 
My Monolith is Melting - PIPELINE CONF 2015
My Monolith is Melting - PIPELINE CONF 2015My Monolith is Melting - PIPELINE CONF 2015
My Monolith is Melting - PIPELINE CONF 2015
 
Monolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly OsconMonolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly Oscon
 
Evolving toward Microservices - O’Reilly SACON Keynote
Evolving toward Microservices  - O’Reilly SACON KeynoteEvolving toward Microservices  - O’Reilly SACON Keynote
Evolving toward Microservices - O’Reilly SACON Keynote
 
DPM UK: Stealing Project Management Lessons from Artificial Intelligence
DPM UK: Stealing Project Management Lessons from Artificial IntelligenceDPM UK: Stealing Project Management Lessons from Artificial Intelligence
DPM UK: Stealing Project Management Lessons from Artificial Intelligence
 
I-Tier: Breaking Up the Monolith @ Philly ETE
I-Tier: Breaking Up the Monolith @ Philly ETEI-Tier: Breaking Up the Monolith @ Philly ETE
I-Tier: Breaking Up the Monolith @ Philly ETE
 
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
 
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletSurviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
 
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
 
From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015
 
MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.MicroserviceArchitecture in detail over Monolith.
MicroserviceArchitecture in detail over Monolith.
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic Microservices
 
The Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureThe Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided Adventure
 

Similar to JFokus 2015 - Hacking the-monolith

Webinar leveraging-cloud-sandboxes-with-ansible-jenkins-j frog
Webinar leveraging-cloud-sandboxes-with-ansible-jenkins-j frogWebinar leveraging-cloud-sandboxes-with-ansible-jenkins-j frog
Webinar leveraging-cloud-sandboxes-with-ansible-jenkins-j frogQualiQuali
 
Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Moving from Legacy Development Tools to transformative DevOps with Enterprise...Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Moving from Legacy Development Tools to transformative DevOps with Enterprise...Infostretch
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1G R VISHAL
 
COGITO INTRODUCTION on LinkedIn
COGITO INTRODUCTION on LinkedInCOGITO INTRODUCTION on LinkedIn
COGITO INTRODUCTION on LinkedInPhilippe Lambinet
 
Gregory Touretsky - Intel IT- Open Cloud Journey
Gregory Touretsky - Intel IT- Open Cloud JourneyGregory Touretsky - Intel IT- Open Cloud Journey
Gregory Touretsky - Intel IT- Open Cloud JourneyCloud Native Day Tel Aviv
 
What’s New in Cognos BI Version 10.2.2: Overview of Added Features & Function...
What’s New in Cognos BI Version 10.2.2: Overview of Added Features & Function...What’s New in Cognos BI Version 10.2.2: Overview of Added Features & Function...
What’s New in Cognos BI Version 10.2.2: Overview of Added Features & Function...Senturus
 
Présentation openstackinaction v1.2
Présentation openstackinaction v1.2Présentation openstackinaction v1.2
Présentation openstackinaction v1.2Regis Allegre
 
exoscale at the CloudStack User Group London - June 26th 2014
exoscale at the CloudStack User Group London - June 26th 2014exoscale at the CloudStack User Group London - June 26th 2014
exoscale at the CloudStack User Group London - June 26th 2014Antoine COETSIER
 
Hyper-Convergence: Worth the Hype?
Hyper-Convergence: Worth the Hype?Hyper-Convergence: Worth the Hype?
Hyper-Convergence: Worth the Hype?Brian Anderson
 
How to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at ScaleHow to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at ScaleDevOps.com
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops OverviewJoel W. King
 
IMS WebRTC Workshop Metaswitch Project Clearwater
IMS WebRTC Workshop Metaswitch Project ClearwaterIMS WebRTC Workshop Metaswitch Project Clearwater
IMS WebRTC Workshop Metaswitch Project ClearwaterAlan Quayle
 
Resume_Achhar_Kalia
Resume_Achhar_KaliaResume_Achhar_Kalia
Resume_Achhar_KaliaAchhar Kalia
 
From COBOL to Kubernetes: A 250 Year Old Bank's Cloud Native Journey
From COBOL to Kubernetes: A 250 Year Old Bank's Cloud Native JourneyFrom COBOL to Kubernetes: A 250 Year Old Bank's Cloud Native Journey
From COBOL to Kubernetes: A 250 Year Old Bank's Cloud Native JourneyFerhat Yildiz
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilitySpyros Lambrinidis
 
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleCoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleAntoine COETSIER
 
Ansible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIAnsible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIJoel W. King
 
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...Kuralamudhan Ramakrishnan
 
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015Christophe Lucas
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 

Similar to JFokus 2015 - Hacking the-monolith (20)

Webinar leveraging-cloud-sandboxes-with-ansible-jenkins-j frog
Webinar leveraging-cloud-sandboxes-with-ansible-jenkins-j frogWebinar leveraging-cloud-sandboxes-with-ansible-jenkins-j frog
Webinar leveraging-cloud-sandboxes-with-ansible-jenkins-j frog
 
Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Moving from Legacy Development Tools to transformative DevOps with Enterprise...Moving from Legacy Development Tools to transformative DevOps with Enterprise...
Moving from Legacy Development Tools to transformative DevOps with Enterprise...
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
COGITO INTRODUCTION on LinkedIn
COGITO INTRODUCTION on LinkedInCOGITO INTRODUCTION on LinkedIn
COGITO INTRODUCTION on LinkedIn
 
Gregory Touretsky - Intel IT- Open Cloud Journey
Gregory Touretsky - Intel IT- Open Cloud JourneyGregory Touretsky - Intel IT- Open Cloud Journey
Gregory Touretsky - Intel IT- Open Cloud Journey
 
What’s New in Cognos BI Version 10.2.2: Overview of Added Features & Function...
What’s New in Cognos BI Version 10.2.2: Overview of Added Features & Function...What’s New in Cognos BI Version 10.2.2: Overview of Added Features & Function...
What’s New in Cognos BI Version 10.2.2: Overview of Added Features & Function...
 
Présentation openstackinaction v1.2
Présentation openstackinaction v1.2Présentation openstackinaction v1.2
Présentation openstackinaction v1.2
 
exoscale at the CloudStack User Group London - June 26th 2014
exoscale at the CloudStack User Group London - June 26th 2014exoscale at the CloudStack User Group London - June 26th 2014
exoscale at the CloudStack User Group London - June 26th 2014
 
Hyper-Convergence: Worth the Hype?
Hyper-Convergence: Worth the Hype?Hyper-Convergence: Worth the Hype?
Hyper-Convergence: Worth the Hype?
 
How to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at ScaleHow to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at Scale
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
 
IMS WebRTC Workshop Metaswitch Project Clearwater
IMS WebRTC Workshop Metaswitch Project ClearwaterIMS WebRTC Workshop Metaswitch Project Clearwater
IMS WebRTC Workshop Metaswitch Project Clearwater
 
Resume_Achhar_Kalia
Resume_Achhar_KaliaResume_Achhar_Kalia
Resume_Achhar_Kalia
 
From COBOL to Kubernetes: A 250 Year Old Bank's Cloud Native Journey
From COBOL to Kubernetes: A 250 Year Old Bank's Cloud Native JourneyFrom COBOL to Kubernetes: A 250 Year Old Bank's Cloud Native Journey
From COBOL to Kubernetes: A 250 Year Old Bank's Cloud Native Journey
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragility
 
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleCoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
 
Ansible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIAnsible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACI
 
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
ONS 2018 LA - Intel Tutorial: Cloud Native to NFV - Alon Bernstein, Cisco & K...
 
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 

Recently uploaded

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 

Recently uploaded (20)

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 

JFokus 2015 - Hacking the-monolith

  • 1. Hacking the Monolith A Case Study SVT interaktiv - JFokus 2015 Gereon Kåver @gereonk Rickard Andersson
  • 3.
  • 10. Free vs standardized tech choices Custom API:s vs standardized API:s Common operations, infrastructure, logging,… Reusability vs versatility Distributed vs centralized ownership …
  • 11. Free over standardized tech choices Custom API:s over standardized API:s Recommended over common operations, infra, logging Versatility over reusability Distributed over centralized ownership …
  • 13. 1. Easier to create team autonomy 2. Simplify scaling and maintenance 3. Improve resilience and monitoring 4. Make it more fun to develop Why micro services?
  • 14. “Create greater ownership” - LinkedIn Give the team full control, no central rules
  • 15. Create a platform 1. You should (from a newly installed computer) be able to modify and deploy an existing project to production in less than 6 hours. 2. It should take less than two hours to create a new service with CI, monitoring, logging.
  • 16. Automated deploy at SVT Jenkins deploys to Heroku or internal to “Molnet”
  • 17. Automated deploy at SVT - “Molnet” $> moln app create crash-course $> moln app image set crash-course /hello-world:1.0 $> moln app targets set crash-course sto.molnet.svt.se=stomoln01-agent01 drs.molnet.svt.se=drsmoln01-agent01 $> moln app deploy crash-course:v1 $> moln app undeploy crash-course:v1
  • 18. Automated deploy at SVT - “Molnet” - Docker. Packaging and running services - Helios. Orchestration of services. - Consul. System for configuration and service discovery.
  • 19. Automated deploy at SVT - “Molnet” Open source: https://github.com/SVT/helios-consul
  • 20. Micro services gives (new) requirements 1.Automated deploy - Contious Integration 2.Monitoring 3.Resilience
  • 21. Resilience at SVT Hystrix from Netflix. 1.Isolate network interaction using Circuit- Breakers, BulkRequests, Timeouts 2.Fallbacks and graceful degradation 3.Metrics. req/sec, failures, responsetimes https://github.com/Netflix/Hystrix
  • 22.
  • 23.
  • 25. API-guidelines at SVT 1.We do not violate HTTP 1.1 2.We uses rest, Richardson Maturity Model up to and including level 2 3.All API:s uses swagger for documentations. (swagger.io) 4.All clients adds ‘user-agent’ to create traceability 5.We uses CORS (not JSONP)
  • 27. Follow us on blogg.svt.se/testbild Gereon Kåver gereon.kaver@svt.se @gereonk Rickard Andersson rickard.andersson@svt.se

Editor's Notes

  1. Glad to be here development manager, lead architect In the process of moving to micro architecture experiences from that yourney
  2. If you have to leave early, this is the key takeaway make it easy to start - to create and deploy new services
  3. fast growth less people use broadcast - more watch on-demand The choices we made 2010 is not valid now
  4. You have all been here Lot of dependencies Hard to find errors Vague ownership Heavy deploy
  5. [TA BORT?]
  6. teams have a lot of freedom choosing language and platform high mandate and responsibility Eat your own dogshit everyone should understand the objectives Design Studio
  7. Sam Newman compares the architect role with a city planner
  8. choices before moving forward
  9. removed versus There is no contradiction
  10. So why change the architecture to micro services. These are our four main reasons. Micro services are built by Single Responsibility Principle. It easy to make a team owns a micro service as a whole. All micro services should run it its own process. Therefore easier to scale and deploy. Micro services forces the developer to think about resilience and monitoring. 4. Micro services gives more opportunities to try out new frameworks and test ideas. We think a happy developer creates better code and services.
  11. In order to scale up and deliver working software, we needed the teams to take responsibility for their services as a whole. Know the domain, taking technical decisions, handling deploy and maintenance. As an architect, my role is to make it easy for the team to take this responsibility. What LinkedIn calls ”Create greater ownership". Lowering the bar to make the “right thing” by creating tools and good examples. We tries to get as as close as possible to the extreme "no central rules”.
  12. Last fall we started a project to create a platform and deploy pipeline to make it easy to create new services. These where our goals… Lowering the bar to create a new service instead of extend an existing service with functions that does not belong there. That is the way to create a badly designed monolith.
  13. Our solution where to use Jenkins to deploy to Heroku or to an internal environment called “Molnet” Primary we uses Heroku, but for performance och legal reasons we uses “Molnet”
  14. “Molnet” got a similar DSL as Heroku, all to make it easier for the developers to use them.
  15. For automated deploys you need 3 things: Orchestration - Deploy a service to the environment Configuration - Handle configurations through different environments. Service Discovery - Keep track of where a specific service is running (ip and port).
  16. The connection between helios and consul is a SVT written plugin. Open sourced at.
  17. These are not really new requirements, but we think they need extra attendance. 10 or a 100 services need to be build and deployed when needed. Solved by Heroku and “Molnet” You have to be able to see how the system behaves, as a whole and as individual parts. Logging, key-value pairs via stdout -> an indexing service like elastic search Metrics (cpu, threads, response times). NewRelic and Graphite. The system should be able to work even if one part of the system responds slowly or is down. No domino effects.
  18. Hystrix a library from Netflix We uses the following to create resilience. Databases and other services. Default values, caching or other fallback solutions.
  19. This produces metrics to create dashboards like these… NewRelic, Jenkins, Hystrix and collectd
  20. How do we keep track of all services? All projects must include a description file (svtservice.yml). We scan our repositories and creates a list of all the services we have. Includes description, product owner and responsible team.
  21. The yml-files also contains dependencies, which makes it possible to create graphs like these.
  22. And we do have some central rules. But we try to not tie up the teams. To build a micro service API at SVT, you need to stick to these rules. Part from them the team could do what ever they like.
  23. Make it easy to do the right things Let the team do the rest.