Red Hat Consulting Discovery Session Series: Migrating Workloads to Containers Eric Sauer Architect Red Hat Consulting NA PaaS/DevOps Practice 1
First, Some Intros
What you should know about me... Eric Sauer (like Sauerkraut) ● 6 years at Red Hat (all in Consulting) ● My job is to improve how Red Hat delivers services engagements around Containers and OpenShift Container Platform
What I assume about you... ● You’ve heard of containers ● You believe (or are exploring the possibility) that containers could improve the speed and reliability with which you deploy and scale applications
What I want to know about you... What kinds of applications are you looking at migrating? ● Languages? ● Platforms? ● Architectures?
CONTAINER PLATFORM SOLUTIONS FROM RED HAT CONSULTING 6
MODERNIZE APPLICATION DELIVERY WITH CONTAINER PLATFORMS Infrastructure DevOps Applications Discovery Session Discover Program increment 0 Container Platform Smart Start Smart Start Design Container Platform Design Workshop Discover Operationalizing Program increment 1 Container adoption for Design Continuous delivery container platforms Groundwork application development Deploy Discover Program increment 2 Design Container- Microservice Automation Deploy Migrating driven development workloads to continuous for container containers Discover Program increment 3 delivery platforms Design Rollout Deploy 7
MIGRATING WORKLOADS TO CONTAINERS Environments: ● Existing pre-production environment Tasks: ● Migrate traditional applications into containers ● Analyze applications to determine fitness for containers and distributed architecture ● Containerize existing application platforms ● Analyze migration to determine level of effort ● Mentor on how to redesign (or not redesign) traditional applications to run in OpenShift ● Decompose and migrate existing applications to microservices architecture in a controlled, iterative manner ● Onboard migrated applications onto container platform
MIGRATING WORKLOADS TO CONTAINERS Build Migration Case Determine Fit and Priority Plan Migration Execute Migration We help prioritize migrations We help plan migration activity: We help execute migrations We help calculate and analyze based on: through an iterative process... ROI based on: Change code: Portability: ● Required: fix incompatibilities 1. Perform all required tasks Technical: ● Ease of switching servers ● Value add: architect for cloud ● Application scalability ● Ease of switching cloud 2. Perform all recommended ● Auto deployment providers Automate build: tasks ● Infrastructure agnostic ● Required: S2I/Docker script Scalability: ● Recommended: CI/CD 3. Assess and perform Business: ● Ability to run multiple “value add” tasks individually ● Consolidation instances Customize image: based on need ● Flexibility ● Required: support ● Speed to market Active Development: development languages and …and emphasize continuous ● Ability to make changes libraries improvement to drive down ● Value add: support incremental migration costs shared libraries and over time. standardized configuration
Let’s look at some migration scenarios 10
MIGRATING WORKLOADS TO CONTAINERS Scenario #1: Web Scale Enabled Application ● Is not tightly coupled to its current server environment ○ I customize my application for its environment through environment variables or properties files ● Doesn’t care how many instances are running ○ I can run 2, I can run 10. Capabilities and behavior are the same ● State is loosely coupled from my core runtime ○ I have no state, OR My state can be offloaded to an external cache, OR ○ ○ My state is written to disk ● Deployment process is automated, or close to
MIGRATING WORKLOADS TO CONTAINERS Scenario #2: Traditional Web App ● Can run on another server, but I need to make some changes and rebuild to do so ○ Would need to remove hard-coded references to things in my environment ● Can scale out in theory, but i’ve never tried Currently run on multiple instances (3 or more) ○ ● Manage state by some form of internal clustering ● Installed manually, but that work could be scripted
MIGRATING WORKLOADS TO CONTAINERS Scenario #3: Legacy and Monoliths ● My app depends on system libraries that may or may not exist in a new server environment ○ Runs CLI Commands ● Designed under the assumption of a static number of instances ● Requires me to add CPU/Memory in order to handle more traffic ○ Containers are better suited scale horizontally than vertically ● My app performs many functions and takes up a very large footprint
What’s next? 14
THANK YOU plus.google.com/+RedHat facebook.com/redhatinc linkedin.com/company/red-hat twitter.com/RedHatNews youtube.com/user/RedHatVideos 15
Recommend
More recommend