BBC's GraphDB (formerly Owlim) AWS Cloud Migration

33
Moving OWLIM to Amazon Web Services

description

BBC's presentation for the GraphDB user group

Transcript of BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Page 1: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Moving OWLIMto Amazon Web Services

Page 2: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Moving OWLIMto Amazon Web Services

GraphDB

Page 3: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Introduction to LDP

● Stands for Linked Data Platform● Building APIs and Tools for semantic

publishing at the BBC● Team of 8-12 people (5-8 developers) ● Based in London (moving to Salford)

Page 4: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Introduction to LDP

● Tagging and surfacing content

Page 5: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Why move to AWS?

● Started with taking ownership of Owlim● BBC shift to move to AWS● Loss of key people● Freedom with responsibility

Page 6: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Current Architecture

Page 7: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Cloud Architecture

Page 8: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Keeping in sync

Page 9: BBC's GraphDB (formerly Owlim) AWS Cloud Migration
Page 10: BBC's GraphDB (formerly Owlim) AWS Cloud Migration
Page 11: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

OpsWorks

● Part of AWS● Easily deploy things to EC2

Page 12: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

OpsWorks

● Define infrastructure in a stack● The stack is comprised of layers● Each layer has a role (eg. master, slave)● Layers contain a number of instances

Page 13: BBC's GraphDB (formerly Owlim) AWS Cloud Migration
Page 14: BBC's GraphDB (formerly Owlim) AWS Cloud Migration
Page 15: BBC's GraphDB (formerly Owlim) AWS Cloud Migration
Page 16: BBC's GraphDB (formerly Owlim) AWS Cloud Migration
Page 17: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

OpsWorks – Advantages

● Conceptually, fairly simple.● Entire stack defined as JSON.

○ Can be (and is) version controlled.

● Very easy to clone an entire stack.○ We use this to spin up ‘experimental’ environments.○ Next step: blue/green deployments?

Page 18: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

OpsWorks – Disadvantages

● It can be a little slow.● Chef support can be tricky to debug.

Page 19: BBC's GraphDB (formerly Owlim) AWS Cloud Migration
Page 20: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

● “Infrastructure as code”● Cookbook, made up of recipes.

○ Each recipe installs/configures a specific thing.

● Each layer has a set of recipes that define it.

Chef

Page 21: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

include_recipe 'tomcat::default'

cookbook_file 'owlim-production.license' do path File.join(node[:owlim][:basedir], 'owlim.license') mode 0644 owner 'tomcat' group 'tomcat'end

execute 'create_default_cluster_repository' do command SystemRepository.create_repo 'default-cluster' not_if SystemRepository.repo_exists? 'default-cluster' action :nothingend

Page 22: BBC's GraphDB (formerly Owlim) AWS Cloud Migration
Page 23: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Lifecycleevents

Page 24: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Recipes for each event type

Page 25: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

● A common and well-documented tool.○ And it’s Ruby, a skill we possess.

● Can re-use existing cookbooks.○ eg. Tomcat, Yum.

● Should be platform-agnostic.○ Can theoretically use the same Chef recipes against

any OS, if written well.

Chef – Advantages

Page 26: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

● OpsWorks support is a little lacking.○ Using Berkshelf for dependencies is tricky.○ Many of the error messages are a bit cryptic.

Chef – Disadvantages

Page 27: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

What next?

Page 28: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

What next?

● Autoscaling○ Not supported by OpsWorks.○ For now: predict spikes, use time-based instances.

Page 29: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

What next?

● Autoscaling○ Not supported by OpsWorks.○ For now: predict spikes, use time-based instances.

● Backups○ We still do these from our DCs.

Page 30: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

What next?

● Autoscaling○ Not supported by OpsWorks.○ For now: predict spikes, use time-based instances.

● Backups○ We still do these from our DCs.

● Chef improvements○ The recipes do too much at the moment.

Page 31: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

What next?

● Improve Chef recipes○ The recipes do too much at the moment.○ Example: cluster management.

Page 32: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Questions?

Page 33: BBC's GraphDB (formerly Owlim) AWS Cloud Migration

Thank you!

Sam [email protected]

Johan [email protected]