from shore to ship · architecture to match. page 2 meet the team from shore to ship eli tsinovoi...
TRANSCRIPT
FROM SHORE TO SHIP:USING MESOSPHERE ENTERPRISE DC/OS TO DELIVER REAL
TIME MICROSERVICES TO A GLOBAL FLEET OF SHIPS
&
Page1
WELCOMETO 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.
Page2
MEET THE TEAMFROM SHORE TO SHIP
ELI TSINOVOIMicroservices & Data Streaming Practice Leader at Ernst & Young LLP
LAURA MAO ROBERTO ALEMAN JR.Software Engineering Manager
Sr. Software Engineer
Page3
AGENDAFROM SHIP TO SHORE
SITUATIONWhy did we undertake this transformation?
COMPLICATION ACTIONWhy did we undertake this transformation?
What did we do?
OUR TECHNOLOGYHow did we use Mesos and other technologies?
LESSONS LEARNED QUESTIONSWhat did we learn in the process?
What can we answer for you?
1 2 3
4 5 6
Page4
SITUATIONWHY DID WE UNDERTAKE THIS TRANSFORMATION?
• 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.
THE ASK: THE BUSINESS WAS LOOKING TO BUILD A NEW STATE-OF-THE-ART GUEST FACING MOBILE APPLICATION
WHERE WE STOOD:
Page5
SITUATIONWHY DID WE UNDERTAKE THIS TRANSFORMATION?
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.
OUR VISION
Page6
COMPLICATIONWHAT WERE THE COMPLEX PROBLEMS THAT WE FACED?
How do we deliver with what we have today? What else do we need?
Current Technology Stack
How do we ensure we have one code base that can work on ship and shore?
Standardize Ship/Shore Footprint
How do we make sure that a guest can seamlessly get the same information and experience both ship and shore?
Ship ó Shore Sync
Page7
COMPLICATIONCURRENT MIDDLEWARE LANDSCAPE
Available Today
Future Need
Modernization Candidate
Middleware Capability Model
Infrastructure Capabilities
Middleware CapabilitiesSupporting Capabilities
Testing
Process & Governance
Capabilities
DevOps
Tools
Continuous Integration
Continuous Delivery
Testing Automation
Version Control
Dev EnvProvisioning
Team to Bus. Capability Alignment
Configuration Management
Audit Trail Automated Documentation
Service Repository
Service Discovery
Service Documentation
Reference Architecture
Shared Libraries
Microservice Capabilities
API Gateways
User Interface
Service Endpoints
Business Capability Definitions
Event Sourcing API
Management
Communication Protocols
Storage Capabilities (In-Memory / Physical)
HTTP Listener
Message Listener
Private/Public Cloud
(IaaS/PaaS)
Containers/ Virtual
Machines
Cluster Control
Reference Architecture
Rapid Provisioning
Application Lifecycle
Management
Distributed Data Stores
Auto-Scaling
Communication Mechanisms
Communication Protocols
RPC
MSMQ
SOAP /WS-*
XML
RMI-IIOP
JDBCAdapter
Software Defined Load
Balancing
Service Registry
Monitoring & Dashboards
Dependency Management
Security Service
Configuration Service
Central Log Management
Data Lake
Testing Tools (Anti-fragile,
RUM)
Reliable Messaging
Rules Centralization
Intermediate Routing BPM
ESB Asynchronous Queuing
Service Brokerage
Event-Driven Messages
Contract Decoupling/Centralization
Logic Abstraction
Orchestration /
Coordination
Integration
Unit
Component
Contract
End to End
Self-HealingQuality of Service
ASMQ
FTP
Data
ETL Replication
Batch Load Bulk API
Policy Centralization
Build Management
Dynamic Property
ManagementData Pipeline
Event
Stream
JSON
*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.
Page8
ACTIONWHY MICROSERVICES?
Fine grained functionality enablement and enhancementQuicker release timesNo downtimeGraceful service degradationReal-time data replication and streamingModern interfaces for mobile and digital enablementReduced reliance on legacy technologyCloud-based infrastructure with reduced shipboard footprintFully de-coupled functionalityOptimized resource utilizationBetter, faster, cheaper service to the businessAbility to be nimble with minor vendor lock-in
Page9
ACTIONHOW DO WE STANDARDIZE OUR SHIP AND SHORE FOOTPRINTS?
- Mobile Device
- API Gateway
- Microservices
- AWS Cloud
- Shore Systems of Record
- Ship Systems of Record
- Cassandra
- Kafka
- Mobile App Code
-Device Cache
Cloud Ship- Traditional ESB
- API Traffic Flow
- Data Flow
- Data Persistence
Page10
ACTIONHOW DO WE KEEP SHIP AND SHORE IN SYNC?
- Mobile Device
- API Gateway
- Microservices
- AWS Cloud
- Shore Systems of Record
- Ship Systems of Record
- Cassandra
- Kafka
- Mobile App Code
-Device Cache
Cloud Ship- Traditional ESB
- API Traffic Flow
- Data Flow
- Data Persistence
Page11
OUR TECHNOLOGYWHAT DID WE DECIDE TO USE?
Service Runtime
Container OS
Container Engine (Runtime)
Container Orchestration
Container Image Registry Built-In
Service Discovery Minuteman,ZooKeeper +Marathon
Dynamic Property Management
Health/Circuit Breaker
Load Balancer Marathon-lb
HostOSBare Metal on
API Gateway
CI
Configuration management
Distributed Data store
Data ingest
Stream Processing
Distributed Tracing
Event store Pub/Hub -messaging
Logging
Monitoring
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.
Page12
LESSONS LEARNEDTO 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.
Royal Caribbean International – Official App
Page13
THANK YOU!ANY QUEST IONS?
Page14
MICROSERVICES & DATA STREAMING PRACTICE LEADER AT ERNST & YOUNG LLP
GET IN TOUCH
+1 617 939 3204
1
Microservices& Data Streaming
ELI TSINOVOI