Best Practices for Alfresco Replication, Backup and Disaster Recovery Richard McKnight Principal Consultant Brian Long Principal Consultant.

Slides:



Advertisements
Similar presentations
Business Development Suit Presented by Thomas Mathews.
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Case Study - Amazon. Amazon r Amazon has many Data Centers r Hundreds of services r Thousands of commodity machines r Millions of customers at peak times.
Business Continuity Section 3(chapter 8) BC:ISMDR:BEIT:VIII:chap8:Madhu N PIIT1.
Mecanismos de alta disponibilidad con Microsoft SQL Server 2008 Por: ISC Lenin López Fernández de Lara.
Backup and Disaster Recovery (BDR) A LOGICAL Alternative to costly Hosted BDR ELLEGENT SYSTEMS, Inc.
Distributed Databases John Ortiz. Lecture 24Distributed Databases2  Distributed Database (DDB) is a collection of interrelated databases interconnected.
© 2009 EMC Corporation. All rights reserved. Introduction to Business Continuity Module 3.1.
1 Disk Based Disaster Recovery & Data Replication Solutions Gavin Cole Storage Consultant SEE.
Oracle Data Guard Ensuring Disaster Recovery for Enterprise Data
Active Directory Disaster Recovery Paul Simmons Support Engineer Directory Services Microsoft Corporation.
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
Keith Burns Microsoft UK Mission Critical Database.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
Definition of terms Definition of terms Explain business conditions driving distributed databases Explain business conditions driving distributed databases.
Accelerated Computer Technologies Company Overview.
Module 14: Scalability and High Availability. Overview Key high availability features available in Oracle and SQL Server Key scalability features available.
National Manager Database Services
John Graham – STRATEGIC Information Group Steve Lamb - QAD Disaster Recovery Planning MMUG Spring 2013 March 19, 2013 Cleveland, OH 03/19/2013MMUG Cleveland.
Academic Year 2014 Spring. MODULE CC3005NI: Advanced Database Systems “DATABASE RECOVERY” (PART – 1) Academic Year 2014 Spring.
Building Highly Available Systems with SQL Server™ 2005 Vineet Gupta Evangelist – Data and Integration Microsoft Corp.
Transactions and Reliability. File system components Disk management Naming Reliability  What are the reliability issues in file systems? Security.
Disaster Recovery as a Cloud Service Chao Liu SUNY Buffalo Computer Science.
Designing a Presentation
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
Christopher Jeffers August 2012
Implementing Multi-Site Clusters April Trần Văn Huệ Nhất Nghệ CPLS.
Business Continuity and Disaster Recovery Chapter 8 Part 2 Pages 914 to 945.
Fault Tolerance via the State Machine Replication Approach Favian Contreras.
Sofia, Bulgaria | 9-10 October SQL Server 2005 High Availability for developers Vladimir Tchalkov Crossroad Ltd. Vladimir Tchalkov Crossroad Ltd.
Creating a PowerPoint Presentation
©2006 Merge eMed. All Rights Reserved. Energize Your Workflow 2006 User Group Meeting May 7-9, 2006 Disaster Recovery Michael Leonard.
Module 9 Planning a Disaster Recovery Solution. Module Overview Planning for Disaster Mitigation Planning Exchange Server Backup Planning Exchange Server.
…using Git/Tortoise Git
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 12 Distributed Database Management Systems.
CREATING A POWERPOINT PRESENTATION. Planning a presentation Create a presentation Rearrange and delete text and slides Add animations Add transitions.
Overview – Chapter 11 SQL 710 Overview of Replication
Systems Management Server 2.0: Backup and Recovery Overview SMS Recovery Web Site location: Updated.
Dudok de Wit David.  Documents management in a deskless company  SharePoint Online as a solution  Redesigning the documentary organization  Interoperability.
1 Distributed Databases BUAD/American University Distributed Databases.
The concept of RAID in Databases By Junaid Ali Siddiqui.
High Availability in DB2 Nishant Sinha
3 Copyright © 2007, Oracle. All rights reserved. Using the RMAN Recovery Catalog.
Log Shipping, Mirroring, Replication and Clustering Which should I use? That depends on a few questions we must ask the user. We will go over these questions.
DISASTER RECOVERY PLAN By: Matthew Morrow. WHAT HAPPENS WHEN A DISASTER OCCURS  What happens to a business during a disaster?  What steps does a business.
Best Practices for Alfresco Replication, Backup and Disaster Recovery Richard McKnight Principal Consultant Brian Long Principal Consultant.
Armedia Case Management for Investigative Case Management David Miller Director of Technology, Armedia James Bailey President, Armedia.
OSIsoft High Availability PI Replication Colin Breck, PI Server Team Dave Oda, PI SDK Team.
Database Applications (15-415) DBMS Internals- Part III Lecture 13, March 06, 2016 Mohammad Hammoud.
Armedia Case Management for Investigative Case Management David Miller Director of Technology, Armedia James Bailey President, Armedia.
Activiti in an Event- driven architecture Robin Bramley Chief Scientific Officer, Ixxus.
Google Glass Developing for Glass & Alfresco.
Remote Backup Systems.
Server Upgrade HA/DR Integration
The Future and Content Management
Transactions and Reliability
Planning a Disaster Recovery System
Considerations for operating MS SQL in the cloud, in production, DR, or hybrid scenarios. By Nick Rubtsov.
Glasgow, SQL Server Meetup
Best Practices for Alfresco Replication, Backup and Disaster Recovery
Maximum Availability Architecture Enterprise Technology Centre.
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
Database Applications (15-415) DBMS Internals- Part III Lecture 15, March 11, 2018 Mohammad Hammoud.
Microsoft Azure P wer Lunch
Cloud Data Replication with SQL Data Sync
Lesson 6: Working with Layout and Graphics
Distributed Databases
Remote Backup Systems.
Presentation transcript:

Best Practices for Alfresco Replication, Backup and Disaster Recovery Richard McKnight Principal Consultant Brian Long Principal Consultant

Agenda  Intro and a bit of history  BC/DR, Replication Primer  Our BC/DR Choices  About our Implementation  Demo At the end of this presentation you should have enough information to make an informed decision about BC/DR and Global Replication

A Bit of History Sub Caption

It’s Been a Long Time Coming!  First proposed in 2009 for Replication Good feedback but seen as being a lot of work.  Socialized with Customers from 2011 through 2013 The general push back was rooted in the reluctance to pay for this as a bespoke engagement.  Socialized Internally circa 2012 There was not enough demand to justify prioritizing this over other priorities.  First Prototype Commissioned in 2013 We verified that Transfer Services was not designed with this use case in mind.

So What Changed?  A wave of deals requiring global replication and BC/DR  A couple of POC projects willing to try Active/Active replication.  A couple of projects willing to use code built leveraging the POC projects.  A framework to allow consulting to build and price reusable IP.

Why is Global Replication so Hard? Global Replication ≠ WAN level HA Clustering  You cannot guarantee that the system will run without failures all the time  During outages trade-offs must be made between consistency and availability.  Detecting and recovering from outages add complexity to global implementations  Under normal operations, latency between data centers must be considered

BC/DR and Replication Primer This section goes into some of the basics of Business Continuity, Disaster Recovery and Replication.

Disasters MUST Be Planned For  Outages Happen  Interruptions in operations can be costly.  Disaster Recovery costs money too!  What BC/DR Method you chose is a balancing act!

BC/DR Requirements  Recovery Point Objective The time period for which missing data could be tolerated  Recovery Time Objective The length of time that the organization could tolerate a service interruption.

Systems Have Become Global  Companies want to collaborate across the globe.  Global systems must operate properly even in the face of outages.  The mechanisms that support global systems can also support BC/DR

Backing Up Alfresco An Alfresco repository consists of content, metadata and a search index. The various pieces of the repository must be backed up in a specific order. Some BC/DR strategies are simply a remote backup.

BC/DR Approaches We will use these definitions to distinguish between the methods discussed. Hot standby and active/active use the same replication method.  Warm Standby The infrastructure is up and running with periodic backups. Alfresco not running. The backup site is a replica of the main site.  Hot Standby The far system is running in read only mode. Replication happens at the Application level.  Active/Active Replication at the application level. All sites in read/write mode.

Compare and Contrast CharacteristicWarmHot Identical InstancesYesNo Replication MethodInfrastructure components Application level Area of ComplexitySynchronizing the snapshots Application code to support replication RTO ConsiderationsDR site must be started DR site already running RPO ConsiderationsSupports only fully replicated transactions Supports partially replicated transactions

The Problem with Warm Standby The biggest challenge to supporting really tight RPO criteria with warm standby is getting rid of integrity errors. Currently the only way to remove all integrity errors from a continuous back is to roll back the DB transactions until no content integrity errors exist.

Warm Standby at its Worst #TransactionDBFile 1Add 10 filesCompletely Transferred10 files Transferred 2Add 100 more FilesCompletely Transferred99 Files transferred 3Update 20 ObjectsCompletely TransferredAll updates complete 4Delete 20 FilesCompletely TransferredN/A 5Add 10 more filesPartially Transferred7 Files transferred In the current warm standby we would only be able to include transaction #1. Transaction #5 would always be thrown out because the database would not commit a partial transaction. Because transaction #2 would be incomplete (due to missing files), it and all subsequent transactions would need to be discarded.

Warm Standby #FAIL Using current methods, updates to 140 objects are sacrificed because of one missing file. In the absence of any coordination between the database and file system replication, this scenario is not far fetched The inability to synchronize the replication of content and metadata makes warm standby unattractive. What if…. We only had to throw out the bad object(s)?

Warm Standby Alternative The following has been discussed as a way to handle a less than perfect backup (which is exactly what could happen after an incident).  Accepting objects with “hanging content URLs”  Adding a “Lost Content” aspect to identify the object as being “broken” and to record the original content URL.  Updating the content URL to point to a “missing content” file. This sort of recovery process would allow the 139 objects that were updated to be included in the recovered repository. This would support very aggressive RTO and RPO criteria, but it has not been developed

Our BC/DR Choices All choices are trade offs

And the Nominees are  Warm Standby Usually the first choice, but lack of synchronization between the database and file replication makes it unattractive  Hot Standby and Active/Active Attractive because of the ability to support BC/DR and Global repositories. Early clients wanted this but as a supported part of the product.  Modified Warm Standby This could potentially provide the best RTO/RPO for BC/DR only. Risky because it could potentially require changes to core Alfresco code.

And the Winner is Hot Standby – Active/Active  Support for both Global Repositories and BC/DR  Progressive replication to allow for soft failures.  Met requirements for multiple customers and prospects with business critical use cases

The Runner Up & Supporting Cast Modified Warm Standby  Could work in concert with Active/Active  Warm standby could provide preferred BC/DR  Active/Active could be BC/DR if warm standby is unavailable Active/Active paired with Modified Warm Standby is a killer combination

About our Implementation This sections just has slides built from the Infosys Engagement report

Business Continuity

High Availability + BC

Disaster Recovery + HA/BC

Flexibility / Configurability Wide Range of Business Requirements Wide Range of Technical Requirements Segmented Multi-Stage Replication

Node Segments & Events Stub Property/Properties (non-content) Association(s) Access Control(s) Content(s) Etc… DeleteNode MoveNode DeleteAssociation InvalidateProperties InvalidateContents Etc…

Scheduling Options Synchronous Asynchronous Batch Including Previously Failed Actions On-Demand Typically for Content Never Typically for Invalidate Events

What is Distributable? Folders declared as Distribution Roots Configured by an Administrator All Children of Distribution Roots Ignored Aspects Renditions Thumbnails Etc…

Journal

Transport

Conflict Resolution Simple/Smart Merging by Default Supports Custom Implementations Spring Pluggable

Demonstration

White: Section Head

White: Title and Content Level 1 Level 2 Level 3 – DO NOT USE

White: Two Column Level 1 Level 2 Level 3 – DO NOT USE

White: Comparison Heading Left Level 1 Level 2 Level 3 – DO NOT USE Heading Right

White: Title

White: Title (no brand)

Sample Code { // extract avm store id and path var fullpath = url.extension.split("/"); if (fullpath.length == 0) { status.code = 400; status.message = "Store id has not been provided."; status.redirect = true; break script; } var storeid = fullpath[0]; var path = (fullpath.length == 1 ? "/" : "/" + fullpath.slice(1).join("/")); }

White: Blank

White: Blank (no brand)

White: Picture and Caption

Image Library

LemonTangerineSkyBlueberryLeaf Chalkboar d SoilClaySand Color Palette

Iconography

Logo and Tagline

Other Graphics

A Sample Slide This is a bullet This is a level 2 bullet This is a level 3 bullet Header without bullet This is a level 2 bullet This is level 3, avoid going below this level. 60% Hybrid 20% Cloud 20% On-Prem Example Graphic

Fonts & Styling Helvetica Neue Medium Helvetica Neue Medium (Bold) Helvetica Neue Light Helvetica Neue Light (Bold) Helvetica Neue Thin Helvetica Neue Thin (Bold)

Color Palette & Sample Shapes LemonTangerineSkyBlueberryLeaf Chalkboar d SoilClaySand

Alfresco in information intensive industries Government & Intelligence Banking & Insurance ManufacturingMedia & Publishing High Tech