FROM SHORE TO SHIP: USING MESOSPHERE ENTERPRISE DC/OS TO DELIVER REAL TIME MICROSERVICES TO A GLOBAL FLEET OF SHIPS

Size: px
Start display at page:

Download "FROM SHORE TO SHIP: USING MESOSPHERE ENTERPRISE DC/OS TO DELIVER REAL TIME MICROSERVICES TO A GLOBAL FLEET OF SHIPS"

Transcription

1 FROM SHORE TO SHIP: USING MESOSPHERE ENTERPRISE DC/OS TO DELIVER REAL TIME MICROSERVICES TO A GLOBAL FLEET OF SHIPS &

2 WELCOME TO DIGITAL TRANSFORMATION Today we will be taking you through the moments that have consumed us in the last year to transform one of the most distributed business models, a multi-national cruiseline, to a company that is enabled by a distributed technology systems architecture to match. Page 1

3 MEET THE TEAM FROM SHORE TO SHIP ELI TSINOVOI LAURA MAO ROBERTO ALEMAN JR. Microservices & Data Streaming Practice Leader at Ernst & Young LLP Software Engineering Manager Sr. Software Engineer Page 2

4 AGENDA FROM SHIP TO SHORE SITUATION Why did we undertake this transformation? COMPLICATION Why did we undertake this transformation? ACTION What did we do? OUR TECHNOLOGY How did we use Mesos and other technologies? LESSONS LEARNED What did we learn in the process? QUESTIONS What can we answer for you? Page 3

5 SITUATION WHY DID WE UNDERTAKE THIS TRANSFORMATION? THE ASK: THE BUSINESS WAS LOOKING TO BUILD A NEW STATE-OF-THE-ART GUEST FACING MOBILE APPLICATION WHERE WE STOOD: Over time the technology required to support our business has evolved into a complex technology landscape Outdated core legacy systems for reservations and commerce No central source of truth for content management and authoring Limited scalability and modernization in integration technologies and service layer No standardized infrastructure and application stack for deploying on ship and shore resulting in multiple code bases Monolithic application architecture resulting in slow time to market and risk for functionality changes Limited resiliency and scalability with many single points of failure (SPOF) Lack of a mature DevOps culture and automated development and deployment discipline. Page 4

6 SITUATION WHY DID WE UNDERTAKE THIS TRANSFORMATION? OUR VISION Royal Caribbean Technology is looking to enable the innovative experiences, digital mediums and their supporting technologies by building a Digital Hub that will define a smart middleware layer that provides agility, resiliency, scalability as well as improved performance by leveraging microservice architecture and modern integration technology. In addition, we will modernize and lighten the Enterprise Integration Layer (EIL) to only contain core legacy integrations and lightweight communications with back-end systems and Commercial of The Shelf (COTS) platforms. Page 5

7 COMPLICATION WHAT WERE THE COMPLEX PROBLEMS THAT WE FACED? Current Technology Stack How do we deliver with what we have today? What else do we need? Standardize Ship/Shore Footprint How do we ensure we have one code base that can work on ship and shore? Ship ó Shore Sync How do we make sure that a guest can seamlessly get the same information and experience both ship and shore? Page 6

8 COMPLICATION CURRENT MIDDLEWARE LANDSCAPE Page 7 Middleware Capability Model Supporting Capabilities Software Defined Load Balancing Registry Dependency Management Configuration Testing Tools (Anti-fragile, RUM) Quality of Policy Centralization Dynamic Property Management Central Log Management Monitoring & Dashboards Security Data Lake Reliable Messaging Self-Healing Build Management Data Pipeline Middleware Capabilities Rules Centralization Intermediate Routing ESB Brokerage Logic Abstraction Communication Mechanisms RPC MSMQ ASMQ Event Stream Adapter Event-Driven Messages BPM Asynchronous Queuing Contract Decoupling/C entralization Orchestration / Coordination Communication Protocols SOAP /WS-* XML JSON RMI-IIOP FTP JDBC Microservice Capabilities User Interface API Gateways Endpoints Communication Protocols Business Capability Definitions Event Sourcing Storage Capabilities (In- Memory / Physical) HTTP Listener Private/Public Cloud (IaaS/PaaS) Cluster Control Message Listener Reference Architecture Available Today DevOps Team to Bus. Tools Capability Alignment Continuous Integration Testing Automation Dev Env Provisioning Audit Trail Rapid Provisioning Continuous Delivery Version Control Configuration Management Automated Documentation Infrastructure Capabilities Containers/ Application Distributed Virtual Lifecycle Machines Management Data Stores Auto-Scaling *Per Spring Microservices (Rajesh RV), Microservices Guide (Martin Fowler), Building Microservices (Sam Newman), Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Gregor Hohpe), Amazon (Werner Vogles), Netflix (Adrian Cockcroft), Domain Driven Design (Eric Evans), and EY experiences with microservice architectures through client work. Modernization Candidate Testing Unit Future Need Process & Governance Capabilities Repository Documentation Shared Libraries ETL Batch Load Integration Component Contract End to End Discovery Reference Architecture API Management Data Replication Bulk API

9 ACTION WHY MICROSERVICES? Fine grained functionality enablement and enhancement Quicker release times No downtime Graceful service degradation Real-time data replication and streaming Modern interfaces for mobile and digital enablement Reduced reliance on legacy technology Cloud-based infrastructure with reduced shipboard footprint Fully de-coupled functionality Optimized resource utilization Better, faster, cheaper service to the business Ability to be nimble with minor vendor lock-in Page 8

10 ACTION HOW DO WE STANDARDIZE OUR SHIP AND SHORE FOOTPRINTS? - Mobile Device - AWS Cloud - Cassandra -Device Cache - API Gateway - Shore Systems of Record - Kafka - Traditional ESB - API Traffic Flow Cloud Ship - Microservices - Ship Systems of Record - Mobile App Code - Data Flow - Data Persistence Page 9

11 ACTION HOW DO WE KEEP SHIP AND SHORE IN SYNC? - Mobile Device - AWS Cloud - Cassandra -Device Cache - API Gateway - Shore Systems of Record - Kafka - Traditional ESB - API Traffic Flow Cloud - Microservices - Ship Systems of Record - Mobile App Code - Data Flow - Data Persistence Ship Page 10

12 OUR TECHNOLOGY WHAT DID WE DECIDE TO USE? Mesosphere brought us proven functionality, best-of-breed integration across solutions in our middleware blueprint, ease-of-use, enterprise grade 24x7x365 support, and leading resource utilization. API Gateway Runtime CI Container OS Container Engine (Runtime) Container Orchestration Container Image Registry Discovery Dynamic Property Management Health/Circuit Breaker Built-In Minuteman, ZooKeeper + Marathon Configuration management Distributed Data store Data ingest Stream Processing Distributed Tracing Event store Pub/Hub - messaging Load Balancer Host OS Marathon-lb Bare Metal on Logging Monitoring Page 11

13 Royal Caribbean International Official App LESSONS LEARNED TO DIGITAL TRANSFORMATION Transformation is not only in the tools. It requires a holistic look at operating model, people, processes and culture in order to succeed. Cross-functional collaboration is at the core, silos need to be taken down, and knowledge needs to be shared. These technologies are complex and thus require executive sponsorship and investment to build capabilities in them. This journey does not end; you must adopt an agile culture and a continuous improvement mentality. The technology will change very quickly, so first build a good foundation and ensure that it can adapt to rapid technology change as well as business change. Page 12

14 THANK YOU! ANY QUESTIONS? Page 13

15 Microservices & Data Streaming GET IN TOUCH ELI TSINOVOI MICROSERVICES & DATA STREAMING PRACTICE LEADER AT ERNST & YOUNG LLP Page 14