Beyond Technical Fulfillment

Similar documents
Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

Etanova Enterprise Solutions

Open World Forum 2013

Use Case: Scalable applications

JetBrains TeamCity Comparison

Jenkins User Conference Israel. #jenkinsconf. CI / Liveperson. Gidi Samuels. July 16, #jenkinsconf

LAB EXERCISE: RedHat OpenShift with Contrail 5.0

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

Launching StarlingX. The Journey to Drive Compute to the Edge Pilot Project Supported by the OpenStack

Cloud platforms T Mobile Systems Programming

Agile CI/CD with Jenkins and/at ZeroStack. Kiran Bondalapati CTO, Co-Founder & Jenkins Admin ZeroStack, Inc. (

Hybrid WAN Operations: Extend Network Monitoring Across SD-WAN and Legacy WAN Infrastructure

Gunnery Documentation

Building a government cloud Concepts and Solutions

Cloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0

Building a Modular and Scalable Virtual Network Architecture with Amazon VPC

Ruby in the Sky with Diamonds. August, 2014 Sao Paulo, Brazil

SUSE s vision for agile software development and deployment in the Software Defined Datacenter

F5 Reference Architecture for Cisco ACI

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Open Hybrid Cloud & Red Hat Products Announcements

Continuous Delivery at Liferay A fast lane for your software updates. Rubén Eduardo

DevOps and Continuous Delivery USE CASE

May 2018 OpenStack Manila

Application Centric Microservices Ken Owens, CTO Cisco Intercloud Services. Redhat Summit 2015

Architectural challenges for building a low latency, scalable multi-tenant data warehouse

DEVOPSIFYING NETWORK SECURITY. An AlgoSec Technical Whitepaper

Observations on Modelling Configuration and State in YANG. {robjs,

Airship A New Open Infrastructure Project for OpenStack

LGTM Enterprise System Requirements. Release , August 2018

Part2: Let s pick one cloud IaaS middleware: OpenStack. Sergio Maffioletti

Baremetal with Apache CloudStack

Continuous Integration and Deployment (CI/CD)

dj-libcloud Documentation

Building/Running Distributed Systems with Apache Mesos

Continuous Integration & Code Quality MINDS-ON NUNO 11 APRIL 2017

Fidor Solutions Software Defined Everything and Breaking up the Monolith. marc grimme

Pulp Python Support Documentation

ReFrame: A Regression Testing Framework Enabling Continuous Integration of Large HPC Systems

Delivering Windows-based Client-Server Applications Anywhere, On Demand with Presentation Server 4.5

Gerald Carter Samba Team/HP

Mega-scale Postgres How to run 1,000,000 Postgres Databases

CS-580K/480K Advanced Topics in Cloud Computing. Container III

Important DevOps Technologies (3+2+3days) for Deployment

Using DC/OS for Continuous Delivery

Orchestrator ver

Analytics in the Cloud Mandate or Option?

DevOps Technologies. for Deployment

JIRA Software and JIRA Service Desk Data Center on the AWS Cloud

Puppet on the AWS Cloud

SOLUTION BRIEF NETWORK OPERATIONS AND ANALYTICS. How Can I Predict Network Behavior to Provide for an Exceptional Customer Experience?

AT&T Flow Designer. Current Environment

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

Executive Briefing ServerView Resource Orchestrator

OpenStack Mitaka Release Overview

Development and Operations: Continuous Delivery in Practice

Be smart. Think open source.

Upgrade Your MuleESB with Solace s Messaging Infrastructure

Oracle Application Container Cloud

FUJITSU Software ServerView Cloud Monitoring Manager V1.0. Overview

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

Europeana Core Service Platform

CLOUD WORKLOAD SECURITY

AWS Reference Design Document

Cloud platforms. T Mobile Systems Programming

Docker Networking In OpenStack What you need to know now. Fawad Khaliq

Citrix Connector Citrix Systems, Inc. All rights reserved. p.1. About this release. System requirements. Technical overview.

Building Microservices with the 12 Factor App Pattern

Datasheet FUJITSU Software ServerView Cloud Monitoring Manager V1.1

Getting Started with Contributing to OpenStack An Introductory Crash Course on OpenStack Development

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI /

[Docker] Containerization

IBM Compose Managed Platform for Multiple Open Source Databases

Multi-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr)

Containers OpenStack. Murano brings Docker & Kubernetes to OpenStack. Serg Melikyan. software.mirantis.com. January 27, 2015

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Continuous Integration and Delivery with Spinnaker

Plorma Documentation. Release 0.4. Torsten Irländer

DevOps Online Training

Managing Openstack in a cloud-native way

Linux Administration

Percona Server for MySQL 8.0 Walkthrough

INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari

SBB. Java User Group 27.9 & Tobias Denzler, Philipp Oser

TM DevOps Use Case TechMinfy All Rights Reserved

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017

About Intellipaat. About the Course. Why Take This Course?

Xcode Release Notes. Apple offers a number of resources where you can get Xcode development support:

9 Reasons To Use a Binary Repository for Front-End Development with Bower

ThinkPalm s BreakThrough DevOps Capabilities ThinkPalm

Release Notes for Dovecot Pro Minor release

Continuous Delivery for Cloud Native Applications

Next Weeks Schedule. Week 1 (Oct 17 Oct 21) Introduction lectures. Week 3 (Oct 31 Nov 4) POs: Customer meeting Work on exercise

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

WHITEPAPER. Database DevOps with the Redgate Deployment Suite for Oracle

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot

Development Using Samba 4

How Can Testing Teams Play a Key Role in DevOps Adoption?

Automated Testing of Tableau Dashboards

Transcription:

Beyond Technical Fulfillment SambaXP 2014 May 15th, 2014 Julien Kerihuel j.kerihuel@openchange.org

Contents About me Introduction Yesterday: since SambaXP 2013 Today Tomorrow 2 of 42

Julien Kerihuel - Zentyal CTO @jkerihuel OpenChange Project Founder > 10 years of my life Free Software foundations: wireshark, samba December 2003 February 2005: OpenChange - End of Study Project 3 of 42

Introduction 4 of 42 15/07/2013

What is OpenChange? Started in 2004 Free Software released under GPLv3 or later Portable Implementation of Microsoft Exchange Server and Exchange protocols Complete solution to interoperate with Microsoft Outlook clients and Microsoft Exchange Servers Plugin for Samba4 NO OUTLOOK PLUGIN REQUIRED 5 of 42

Interoperability and coverage OpenChange server works with: MICROSOFT OUTLOOK 2003 MICROSOFT OUTLOOK 2007 MICROSOFT OUTLOOK 2010 MICROSOFT OUTLOOK 2013 OpenChange client stack works with: EXCHANGE 5.5 EXCHANGE 2000 EXCHANGE 2003 EXCHANGE 2007 SBS 2003 SBS 2007 SBS 2010 EXCHANGE 2010 EXCHANGE 2013 6 of 42

Server Architecture Overview 7 of 42

Yesterday Since SambaXP 2013 8 of 42 15/07/2013

The nightmare Full OpenChange deployment required: Dovecot Courier-IMAP Postfix Exim4 MySQL or PostgreSQL SOGo Samba4 (sometimes specific build/version) Samba dependencies (bundled libraries) DNS SOGo MAPIStore backend Apache mod_wsgi ocsmanager rpcproxy MINIMUM OF 3 HOURS TO COMPLETE 9 of 42

The nightmare continues Extremely complex to setup rare MANY TRIED FEW SUCCEEDED 10 of 42 source: www.reddit.com

The nightmare ends? WINNERS WERE ACCLAIMED EVERYWHERE 11 of 42 source: www.reddit.com

Workarounds ZEG (Zero Effort Groupware) Virtualization image (vmdk, vdi) Pre-defined environment Lacks flexibility and customization OpenChange cookbook Step by Step deployment guide 3 hours required not suitable for mass adoption 12 of 42

The promise 6 months after SambaXP 2013 OpenChange integration into Zentyal Server Leverage existing infrastructure and community 400K bootstrap users potential target FROM 3 HOURS TO 3 MINUTES DEPLOYMENT 13 of 42

The truth PEOPLE DID NOT KNOW OPENCHANGE EXISTED 14 of 42

Moreover... PEOPLE DID NOT BELIEVE IT WAS WORKING... 15 of 42 source: www.reddit.com

Welcome to the real world Began to be tested like never before Began to get bug reports like never before Classical bug reporting not enough: Tracker tickets Forum posts describing the issues Emails NEEDED TO ADDRESS THE SITUATION GLOBALLY 16 of 42

Chaining paradox OpenChange is a Samba DSO SOGo is an OpenChange DSO If SOGo backend abort(), OpenChange dies If SOGo backend SIGSEGV, Samba dies 17 of 42

Addressing bugfixing plan FINAL USER DEVELOPER QA APPORT SYSTEM INTEGRATED TO DASHBOARD DEBUGGING SCRIPT MANUAL TESTING AUTOMATIC TESTING CRASH REPORT SUBMISSION PLATFORM CONTINUOUS INTEGRATION 18 of 42

Final User: Apport system Samba4 added to apport list Submission button available from Zentyal dashboard Crash report platform on Zentyal Servers Foire aux crash report apport-retrace -g <crash_file> Extremely powerful but: Simple repository No management of duplicate Not anonymous enough Not personalized enough 19 of 42

Developer bugfixing Post-process vs live-process analysis single mode not working SOGo backend is doing reentrant LDAP calls event loop issue not addressed in OpenChange multi-forked model debugging attach to the correct process BEFORE it crashes 20 of 42

Developer bugfixing DEBUGOC.PY SCRIPT Go through samba processes Read maps file Locate OpenChange libraries mapped in process address space Launch gdb instance 21 of 42

Quality Assurance Early bug detection Prevent regression Anticipate problems Two methodologies: Automated testing Sikuli, OpenStack, ANSTE Manual testing Find what you are not looking for Very valuable because of the entropy 22 of 42

Quality Assurance Wintest - Framework for testing Zentyal against Windows virtual machines 23 of 42

Today 24 of 42 15/07/2013

In a nutshell WE KNOW WHAT IS WORKING WE KNOW WHAT IS NOT WORKING WE DO ANTICIPATE GROWING DEVELOPMENT TEAM 25 of 42

In a nutshell WE HAVE NEW FEATURES WE HAVE NEW DESIGN & ARCHITECTURE POSSIBILITIES WE HAVE NEW PROCESSES & INFRASTRUCTURE 26 of 42

New Features RPC OVER HTTP/HTTPS FOR SAMBA DCERPC CLIENT LIBRARIES Extends OpenChange client stack coverage: Microsoft Exchange 2013 Office 365 Hosted Provider with Outlook anywhere support Work available on github branch 27 of 42

New Features PROVISION AS ADDITIONAL EXCHANGE SERVER OpenChange can use existing Microsoft Exchange schema Mailboxes can be migrated from Exchange to OpenChange 28 of 42

New Features-Architecture NEWMAIL NOTIFICATION AND RABBITMQ OpenChange a synchronous process No way to notify Outlook a new mail has arrived Situation addressed with: Dovecot plugin to trigger notification RabbitMQ to transport notifications Python worker to process notifications Make use of Outlook idle loop to update client 29 of 42

30 of 42

New Design and Architecture OPENCHANGE IN DOCKER OpenChange deployed in containers: openchange/mysql: indexing, mailbox structure and everything but mail data openchange/mta: postfix/dovecot openchange/sogo: sogo server Launcher script available $ git clone https://github.com/openchange/docker 31 of 42

New Design and Architecture OPENCHANGE IN THE CLOUD Decomposable, ideal for orchestration: rpcproxy: Handle MAPI over HTTP/HTTPS flow Turn it into regular MAPI samba4: Dummy DC MAPI processing mysql: Data storage (but email) samba4 real AD 32 of 42

New Design and Architecture OPENCHANGE IN THE CLOUD multi-tenancy (multi-company support) provisioned AD different from samba workers containers unified storage in MySQL but email Load-Balancing and scalability 33 of 42

New Infrastructure INTEGRATION WITH TRAVIS-CI Every OpenChange commits triggers travis-ci build We bridge the gap with unit testing's lack of coverage 34 of 42

Tomorrow 35 of 42 15/07/2013

Work in Progress APPORT DATA MINING TOOL Improve apport usefulness Handle duplicates (detection, database) Order crash reports based on code path 36 of 42

Work in Progress MAPISTORE PYTHON BACKENDS Developing OpenChange backend takes time C developers are rare Objective: Be able to write a backend in 2-3 days C to Python gateway Slower than C backend but acceptable compromise Exchange is not realtime, therefore speed is not the issue 37 of 42

Possibility MAPISTORE WEB SERVICE BACKENDS Dissociate OpenChange/MAPIStore from backends JSON communication between OpenChange and backends Make Samba/OpenChange more robust and fault tolerant to backend implementors code Suits modern object store models 38 of 42

Possibility PUBLIC FOLDERS CIFS backend Immediate access Storage unified Advanced ACLs Zentyal Cloud backend Revision history Point in time recovery 39 of 42

Possibility INCREASE SUPPORT OF EXCHANGE WEB SERVICES We currently support: autodiscovery free/busy out of office 40 of 42

Possibility MAPIROPS COMPILER MAPI is not NDR encoded NDR generated code is too low-level in some cases MAPIROPS compiler pack/unpack MAPI as a buffer Add more Exchange processing logic at compiler level Auto-generate unit tests 41 of 42

Questions? Julien Kerihuel, OpenChange Founder j.kerihuel@openchange.org www.openchange.org @OpenChangeProj @jkerihuel 42 of 42