SlideShare a Scribd company logo
1 of 31
Download to read offline
www.safespring.com
Anders Bruvik
Infrastructure engineer at Safespring
Creating an open source load balancer for S3
@bruvik
Infrastructure company based in Sweden/Norway
Offers storage, compute and backup as a service
from local data centres
Built with Open Source – Openstack/CEHP
What is SUNET

object storage?
Private cloud developed by Safespring
A solution to data gravity

On premises

Data stay close to its users
Available

Expandable

Distributed
The task
● Create a reusable load balancer built from
open source components
● Support a hybrid cloud service - we want to
deploy in customer datacenter
● Focus on simplicity, reliability, speed
We control
They control
The components
● Bird
● Træfik
● Etcd
● Letsencrypt
● Radosgw (Ceph)
● Prometheus
BGP everywhere
Internet as a design pattern for the datacenter
cluster network ensure scalability and predictable
performance.
No surprises now, no surprises in the future.
Technically, this means BGP is used everywhere,
even for the last hop to each server node.
ECMP
● We chose ECMP as routing strategy
● Ensures maximum capacity is used
● Achieve redundancy
● Per flow ECMP
Fast path design
● Open Source Load balancer/Reverse proxy
written in GO
● Lightweight, fast, easy configurable
● Can dynamically load configuration changes
Træfik
architecture
Træfik
configuration
Multiple Træfik instances sharing same
configuration
Static configuration as files
Dynamic configuration stored in etcd cluster
ETCD
● Distributed key value store
● Used for keeping dynamic Træfik
configuration synchronised
Letsencrypt
● TLS is terminated at the load balancer
● Allows us to use letsencrypt certificates - free
and easy
● Træfik supports ACME, data stored in KV-
store
Handling failure
Each Træfik instance has multiple backends
Using weighting to default to backend on same
physical host
Monitoring status using systemd service
Remove route - restart services
Monitoring
Prometheus is used for monitoring
Træfik has a built in metric exporter
Configuration
management
We use Ansible for configuration management
Heavily investing in Ansible roles to make
configuration reusable
Separating configuration data and configuration
Building tooling to convert Ansible roles to
images, docker images or deploy directly
Safespring DevOps
- Workflow
What is needed?
● A mechanism to build 

(Smie - forge).
● A place to store artefacts - could be image,
container or binary 

(Naust - boat house)
● Mechanism for deployment (Seter -
settlement) that could describe different
runtime environments
Safespring
DevOps - Smie
What is Smie?
● Wrapper around Packer (Hashicorp)
● Produces artefacts
● All artefacts can be built separately
● Role: service, endpoint or component
Safespring
DevOps - Naust
What is Naust?
● Both source and destination for Smie (cut
dependencies to Internet repos)
● Full control over everything built for
production
● Protocols:
○ HTTPS/file, S3, Docker Registry
● Protocols depend on target systems
● Everything built get an URI with metadata
(type,version, date)
Safespring
DevOps - Seter
What is Seter?
● Wrapper around Ansible and Terraform
provisioning mechanism
● Describes a system which is a set of artefacts
in order to get a component running
● e.g Ceph Object Storage backend needs a set
of OSD and RadosGW role images
● Also describes target: physical node, virtual
node or container
System
art 2
Physical
art 1
Virtual
Contain
er
art 1
Safespring DevOps
- Advantages
● Update systems faster
○ Lower barrier to changes 

● Reproduce systems as needed
○ Build everything with as few dependencies as possible

● Add or change easily
○ Target the affected nodes easily

● Verify that software works as intended

● Scales better with many operators
Does it work?
Yes!
Future work
Actually deploy this :)
Test failure scenarios - chaos engineering
Metrics – getting useful
Move components to docker images
Test and profile different load balance strategies
www.safespring.com
QA
Follow us
linkedin.com/company/safespring

twitter.com/safespring
twitter.com/bruvik
2018-10-01

More Related Content

What's hot

OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...
OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...
OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...NETWAYS
 
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...NETWAYS
 
以 Kubernetes 部屬 Spark 大數據計算環境
以 Kubernetes 部屬 Spark 大數據計算環境以 Kubernetes 部屬 Spark 大數據計算環境
以 Kubernetes 部屬 Spark 大數據計算環境inwin stack
 
Data Engineer's Lunch #46: Node.js and API calls
Data Engineer's Lunch #46: Node.js and API callsData Engineer's Lunch #46: Node.js and API calls
Data Engineer's Lunch #46: Node.js and API callsAnant Corporation
 
State of openstack industry: Why we are doing this
State of openstack industry: Why we are doing thisState of openstack industry: Why we are doing this
State of openstack industry: Why we are doing thisDmitriy Novakovskiy
 
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...NETWAYS
 
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack
 
How Docker Accelerates Continuous Development at ironSource: Containers #101 ...
How Docker Accelerates Continuous Development at ironSource: Containers #101 ...How Docker Accelerates Continuous Development at ironSource: Containers #101 ...
How Docker Accelerates Continuous Development at ironSource: Containers #101 ...Brittany Ingram
 
OpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGO
OpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGOOpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGO
OpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGOOpenNebula Project
 
OpenStack and nfvo
OpenStack and nfvoOpenStack and nfvo
OpenStack and nfvoKanagaraj M
 
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...NETWAYS
 
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanOpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanNETWAYS
 
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...NETWAYS
 
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015Deepak Shetty
 
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPONOpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPONOpenNebula Project
 
Cloud Power - The Early OpenStack Architecture
Cloud Power - The Early OpenStack ArchitectureCloud Power - The Early OpenStack Architecture
Cloud Power - The Early OpenStack ArchitectureJoshua McKenty
 
Ansible + Amazon AWS talk installfest.cz 2016
Ansible + Amazon AWS talk installfest.cz 2016Ansible + Amazon AWS talk installfest.cz 2016
Ansible + Amazon AWS talk installfest.cz 2016David Karban
 

What's hot (20)

Netflix Data Benchmark @ HPTS 2017
Netflix Data Benchmark @ HPTS 2017Netflix Data Benchmark @ HPTS 2017
Netflix Data Benchmark @ HPTS 2017
 
OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...
OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...
OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...
 
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
 
以 Kubernetes 部屬 Spark 大數據計算環境
以 Kubernetes 部屬 Spark 大數據計算環境以 Kubernetes 部屬 Spark 大數據計算環境
以 Kubernetes 部屬 Spark 大數據計算環境
 
Data Engineer's Lunch #46: Node.js and API calls
Data Engineer's Lunch #46: Node.js and API callsData Engineer's Lunch #46: Node.js and API calls
Data Engineer's Lunch #46: Node.js and API calls
 
State of openstack industry: Why we are doing this
State of openstack industry: Why we are doing thisState of openstack industry: Why we are doing this
State of openstack industry: Why we are doing this
 
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
 
Topologies of OpenStack
Topologies of OpenStackTopologies of OpenStack
Topologies of OpenStack
 
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
 
How Docker Accelerates Continuous Development at ironSource: Containers #101 ...
How Docker Accelerates Continuous Development at ironSource: Containers #101 ...How Docker Accelerates Continuous Development at ironSource: Containers #101 ...
How Docker Accelerates Continuous Development at ironSource: Containers #101 ...
 
OpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGO
OpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGOOpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGO
OpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGO
 
OpenStack and nfvo
OpenStack and nfvoOpenStack and nfvo
OpenStack and nfvo
 
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
 
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanOpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
 
Samuel Bercovici - lbaaS for Havana
Samuel Bercovici - lbaaS for HavanaSamuel Bercovici - lbaaS for Havana
Samuel Bercovici - lbaaS for Havana
 
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...
OpenNebula Conf 2014 | The rOCCI project - a year later - alias OpenNebula in...
 
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
 
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPONOpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
 
Cloud Power - The Early OpenStack Architecture
Cloud Power - The Early OpenStack ArchitectureCloud Power - The Early OpenStack Architecture
Cloud Power - The Early OpenStack Architecture
 
Ansible + Amazon AWS talk installfest.cz 2016
Ansible + Amazon AWS talk installfest.cz 2016Ansible + Amazon AWS talk installfest.cz 2016
Ansible + Amazon AWS talk installfest.cz 2016
 

Similar to Creating an open source load balancer for S3

OpenStack Best Practices and Considerations - terasky tech day
OpenStack Best Practices and Considerations  - terasky tech dayOpenStack Best Practices and Considerations  - terasky tech day
OpenStack Best Practices and Considerations - terasky tech dayArthur Berezin
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as codeAnders Bruvik
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...Wong Hoi Sing Edison
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014Hojoong Kim
 
OpenStack as an Infrastructure
OpenStack as an InfrastructureOpenStack as an Infrastructure
OpenStack as an InfrastructureRoozbeh Shafiee
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthNicolas Brousse
 
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes][BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]Wong Hoi Sing Edison
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
 
Leveraging Swift Storage Policies using Scality RING
Leveraging Swift Storage Policies using Scality RINGLeveraging Swift Storage Policies using Scality RING
Leveraging Swift Storage Policies using Scality RINGNicolas Trangez
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleJirayut Nimsaeng
 
OSGi Cloud Ecosystems (EclipseCon 2013)
OSGi Cloud Ecosystems (EclipseCon 2013)OSGi Cloud Ecosystems (EclipseCon 2013)
OSGi Cloud Ecosystems (EclipseCon 2013)David Bosschaert
 
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)Raul Leite
 
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...Dan Farrelly
 
Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusMonitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusChandresh Pancholi
 

Similar to Creating an open source load balancer for S3 (20)

OpenStack Best Practices and Considerations - terasky tech day
OpenStack Best Practices and Considerations  - terasky tech dayOpenStack Best Practices and Considerations  - terasky tech day
OpenStack Best Practices and Considerations - terasky tech day
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
OpenStack as an Infrastructure
OpenStack as an InfrastructureOpenStack as an Infrastructure
OpenStack as an Infrastructure
 
HPC on OpenStack
HPC on OpenStackHPC on OpenStack
HPC on OpenStack
 
OpenStack as an Infrastructure
OpenStack as an InfrastructureOpenStack as an Infrastructure
OpenStack as an Infrastructure
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes][BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
Red Hat Storage Roadmap
Red Hat Storage RoadmapRed Hat Storage Roadmap
Red Hat Storage Roadmap
 
Red Hat Storage Roadmap
Red Hat Storage RoadmapRed Hat Storage Roadmap
Red Hat Storage Roadmap
 
Leveraging Swift Storage Policies using Scality RING
Leveraging Swift Storage Policies using Scality RINGLeveraging Swift Storage Policies using Scality RING
Leveraging Swift Storage Policies using Scality RING
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack Ansible
 
OSGi Cloud Ecosystems (EclipseCon 2013)
OSGi Cloud Ecosystems (EclipseCon 2013)OSGi Cloud Ecosystems (EclipseCon 2013)
OSGi Cloud Ecosystems (EclipseCon 2013)
 
OSGi Cloud Ecosystems
OSGi Cloud EcosystemsOSGi Cloud Ecosystems
OSGi Cloud Ecosystems
 
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
 
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
 
Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusMonitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheus
 

Recently uploaded

🌹Bhubaneswar🌹Odisha❤CALL GIRL 9777949614 ❤CALL GIRLS IN Bhubaneswar ESCORT SE...
🌹Bhubaneswar🌹Odisha❤CALL GIRL 9777949614 ❤CALL GIRLS IN Bhubaneswar ESCORT SE...🌹Bhubaneswar🌹Odisha❤CALL GIRL 9777949614 ❤CALL GIRLS IN Bhubaneswar ESCORT SE...
🌹Bhubaneswar🌹Odisha❤CALL GIRL 9777949614 ❤CALL GIRLS IN Bhubaneswar ESCORT SE...jabtakhaidam7
 
一比一定(购)UNITEC理工学院毕业证(UNITEC毕业证)成绩单学位证
一比一定(购)UNITEC理工学院毕业证(UNITEC毕业证)成绩单学位证一比一定(购)UNITEC理工学院毕业证(UNITEC毕业证)成绩单学位证
一比一定(购)UNITEC理工学院毕业证(UNITEC毕业证)成绩单学位证wpkuukw
 
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...Call Girls Mumbai
 
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信oopacde
 
Dubai Call Girls O525547819 Call Girls In Dubai<.> Full Dirty Services
Dubai Call Girls O525547819 Call Girls In Dubai<.> Full Dirty ServicesDubai Call Girls O525547819 Call Girls In Dubai<.> Full Dirty Services
Dubai Call Girls O525547819 Call Girls In Dubai<.> Full Dirty Serviceskajalvid75
 
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证ehyxf
 
如何办理(USYD毕业证书)悉尼大学毕业证成绩单原件一模一样
如何办理(USYD毕业证书)悉尼大学毕业证成绩单原件一模一样如何办理(USYD毕业证书)悉尼大学毕业证成绩单原件一模一样
如何办理(USYD毕业证书)悉尼大学毕业证成绩单原件一模一样wsppdmt
 
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call Girl
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call GirlVashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call Girl
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call GirlPriya Reddy
 
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一ougvy
 
Jual Obat Aborsi Samarinda ( No.1 ) 088980685493 Obat Penggugur Kandungan Cy...
Jual Obat Aborsi Samarinda (  No.1 ) 088980685493 Obat Penggugur Kandungan Cy...Jual Obat Aborsi Samarinda (  No.1 ) 088980685493 Obat Penggugur Kandungan Cy...
Jual Obat Aborsi Samarinda ( No.1 ) 088980685493 Obat Penggugur Kandungan Cy...Obat Aborsi 088980685493 Jual Obat Aborsi
 
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime GuwahatiGuwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahatimeghakumariji156
 
Call Girls Service Lucknow {0000000000 } ❤️VVIP BHAWNA Call Girl in Lucknow U.P
Call Girls Service Lucknow {0000000000 } ❤️VVIP BHAWNA Call Girl in Lucknow U.PCall Girls Service Lucknow {0000000000 } ❤️VVIP BHAWNA Call Girl in Lucknow U.P
Call Girls Service Lucknow {0000000000 } ❤️VVIP BHAWNA Call Girl in Lucknow U.Pjabtakhaidam7
 
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证ehyxf
 
Shimoga Escorts Service Girl ^ 9332606886, WhatsApp Anytime Shimoga
Shimoga Escorts Service Girl ^ 9332606886, WhatsApp Anytime ShimogaShimoga Escorts Service Girl ^ 9332606886, WhatsApp Anytime Shimoga
Shimoga Escorts Service Girl ^ 9332606886, WhatsApp Anytime Shimogameghakumariji156
 
Hilti's Latest Battery - Hire Depot.pptx
Hilti's Latest Battery - Hire Depot.pptxHilti's Latest Battery - Hire Depot.pptx
Hilti's Latest Battery - Hire Depot.pptxhiredepot6
 
Genuine Call Girls in Buldhana { 9332606886 } VVIP NISHA Call Girls Near 5 St...
Genuine Call Girls in Buldhana { 9332606886 } VVIP NISHA Call Girls Near 5 St...Genuine Call Girls in Buldhana { 9332606886 } VVIP NISHA Call Girls Near 5 St...
Genuine Call Girls in Buldhana { 9332606886 } VVIP NISHA Call Girls Near 5 St...Sareena Khatun
 

Recently uploaded (20)

🌹Bhubaneswar🌹Odisha❤CALL GIRL 9777949614 ❤CALL GIRLS IN Bhubaneswar ESCORT SE...
🌹Bhubaneswar🌹Odisha❤CALL GIRL 9777949614 ❤CALL GIRLS IN Bhubaneswar ESCORT SE...🌹Bhubaneswar🌹Odisha❤CALL GIRL 9777949614 ❤CALL GIRLS IN Bhubaneswar ESCORT SE...
🌹Bhubaneswar🌹Odisha❤CALL GIRL 9777949614 ❤CALL GIRLS IN Bhubaneswar ESCORT SE...
 
一比一定(购)UNITEC理工学院毕业证(UNITEC毕业证)成绩单学位证
一比一定(购)UNITEC理工学院毕业证(UNITEC毕业证)成绩单学位证一比一定(购)UNITEC理工学院毕业证(UNITEC毕业证)成绩单学位证
一比一定(购)UNITEC理工学院毕业证(UNITEC毕业证)成绩单学位证
 
Abortion pills in Dammam +966572737505 Buy Cytotec
Abortion pills in Dammam +966572737505 Buy CytotecAbortion pills in Dammam +966572737505 Buy Cytotec
Abortion pills in Dammam +966572737505 Buy Cytotec
 
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
 
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
 
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pillsIn Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
 
Dubai Call Girls O525547819 Call Girls In Dubai<.> Full Dirty Services
Dubai Call Girls O525547819 Call Girls In Dubai<.> Full Dirty ServicesDubai Call Girls O525547819 Call Girls In Dubai<.> Full Dirty Services
Dubai Call Girls O525547819 Call Girls In Dubai<.> Full Dirty Services
 
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
怎样办理昆士兰大学毕业证(UQ毕业证书)成绩单留信认证
 
如何办理(USYD毕业证书)悉尼大学毕业证成绩单原件一模一样
如何办理(USYD毕业证书)悉尼大学毕业证成绩单原件一模一样如何办理(USYD毕业证书)悉尼大学毕业证成绩单原件一模一样
如何办理(USYD毕业证书)悉尼大学毕业证成绩单原件一模一样
 
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call Girl
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call GirlVashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call Girl
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call Girl
 
Buy Abortion pills in Riyadh |+966572737505 | Get Cytotec
Buy Abortion pills in Riyadh |+966572737505 | Get CytotecBuy Abortion pills in Riyadh |+966572737505 | Get Cytotec
Buy Abortion pills in Riyadh |+966572737505 | Get Cytotec
 
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Ratlam [ 7014168258 ] Call Me For Genuine Models We...
 
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
 
Jual Obat Aborsi Samarinda ( No.1 ) 088980685493 Obat Penggugur Kandungan Cy...
Jual Obat Aborsi Samarinda (  No.1 ) 088980685493 Obat Penggugur Kandungan Cy...Jual Obat Aborsi Samarinda (  No.1 ) 088980685493 Obat Penggugur Kandungan Cy...
Jual Obat Aborsi Samarinda ( No.1 ) 088980685493 Obat Penggugur Kandungan Cy...
 
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime GuwahatiGuwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
 
Call Girls Service Lucknow {0000000000 } ❤️VVIP BHAWNA Call Girl in Lucknow U.P
Call Girls Service Lucknow {0000000000 } ❤️VVIP BHAWNA Call Girl in Lucknow U.PCall Girls Service Lucknow {0000000000 } ❤️VVIP BHAWNA Call Girl in Lucknow U.P
Call Girls Service Lucknow {0000000000 } ❤️VVIP BHAWNA Call Girl in Lucknow U.P
 
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
 
Shimoga Escorts Service Girl ^ 9332606886, WhatsApp Anytime Shimoga
Shimoga Escorts Service Girl ^ 9332606886, WhatsApp Anytime ShimogaShimoga Escorts Service Girl ^ 9332606886, WhatsApp Anytime Shimoga
Shimoga Escorts Service Girl ^ 9332606886, WhatsApp Anytime Shimoga
 
Hilti's Latest Battery - Hire Depot.pptx
Hilti's Latest Battery - Hire Depot.pptxHilti's Latest Battery - Hire Depot.pptx
Hilti's Latest Battery - Hire Depot.pptx
 
Genuine Call Girls in Buldhana { 9332606886 } VVIP NISHA Call Girls Near 5 St...
Genuine Call Girls in Buldhana { 9332606886 } VVIP NISHA Call Girls Near 5 St...Genuine Call Girls in Buldhana { 9332606886 } VVIP NISHA Call Girls Near 5 St...
Genuine Call Girls in Buldhana { 9332606886 } VVIP NISHA Call Girls Near 5 St...
 

Creating an open source load balancer for S3

  • 1. www.safespring.com Anders Bruvik Infrastructure engineer at Safespring Creating an open source load balancer for S3 @bruvik
  • 2. Infrastructure company based in Sweden/Norway Offers storage, compute and backup as a service from local data centres Built with Open Source – Openstack/CEHP
  • 3. What is SUNET
 object storage? Private cloud developed by Safespring A solution to data gravity
 On premises
 Data stay close to its users Available
 Expandable
 Distributed
  • 4. The task ● Create a reusable load balancer built from open source components ● Support a hybrid cloud service - we want to deploy in customer datacenter ● Focus on simplicity, reliability, speed We control They control
  • 5.
  • 6. The components ● Bird ● Træfik ● Etcd ● Letsencrypt ● Radosgw (Ceph) ● Prometheus
  • 7. BGP everywhere Internet as a design pattern for the datacenter cluster network ensure scalability and predictable performance. No surprises now, no surprises in the future. Technically, this means BGP is used everywhere, even for the last hop to each server node.
  • 8. ECMP ● We chose ECMP as routing strategy ● Ensures maximum capacity is used ● Achieve redundancy ● Per flow ECMP
  • 9.
  • 10.
  • 12. ● Open Source Load balancer/Reverse proxy written in GO ● Lightweight, fast, easy configurable ● Can dynamically load configuration changes
  • 14.
  • 15. Træfik configuration Multiple Træfik instances sharing same configuration Static configuration as files Dynamic configuration stored in etcd cluster
  • 16. ETCD ● Distributed key value store ● Used for keeping dynamic Træfik configuration synchronised
  • 17.
  • 18. Letsencrypt ● TLS is terminated at the load balancer ● Allows us to use letsencrypt certificates - free and easy ● Træfik supports ACME, data stored in KV- store
  • 19. Handling failure Each Træfik instance has multiple backends Using weighting to default to backend on same physical host Monitoring status using systemd service Remove route - restart services
  • 20. Monitoring Prometheus is used for monitoring Træfik has a built in metric exporter
  • 21.
  • 22.
  • 23. Configuration management We use Ansible for configuration management Heavily investing in Ansible roles to make configuration reusable Separating configuration data and configuration Building tooling to convert Ansible roles to images, docker images or deploy directly
  • 24. Safespring DevOps - Workflow What is needed? ● A mechanism to build 
 (Smie - forge). ● A place to store artefacts - could be image, container or binary 
 (Naust - boat house) ● Mechanism for deployment (Seter - settlement) that could describe different runtime environments
  • 25. Safespring DevOps - Smie What is Smie? ● Wrapper around Packer (Hashicorp) ● Produces artefacts ● All artefacts can be built separately ● Role: service, endpoint or component
  • 26. Safespring DevOps - Naust What is Naust? ● Both source and destination for Smie (cut dependencies to Internet repos) ● Full control over everything built for production ● Protocols: ○ HTTPS/file, S3, Docker Registry ● Protocols depend on target systems ● Everything built get an URI with metadata (type,version, date)
  • 27. Safespring DevOps - Seter What is Seter? ● Wrapper around Ansible and Terraform provisioning mechanism ● Describes a system which is a set of artefacts in order to get a component running ● e.g Ceph Object Storage backend needs a set of OSD and RadosGW role images ● Also describes target: physical node, virtual node or container System art 2 Physical art 1 Virtual Contain er art 1
  • 28. Safespring DevOps - Advantages ● Update systems faster ○ Lower barrier to changes 
 ● Reproduce systems as needed ○ Build everything with as few dependencies as possible
 ● Add or change easily ○ Target the affected nodes easily
 ● Verify that software works as intended
 ● Scales better with many operators
  • 30. Future work Actually deploy this :) Test failure scenarios - chaos engineering Metrics – getting useful Move components to docker images Test and profile different load balance strategies