SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Scrum Master, Software Engineer
Jireh Semiconductor
Jeanie M Schwenk
• 20+ years experience in software industry
• BS in Computer Science
• MS in Computer Science
• Masters Certificate in Software Engineering
• PMP (PMI.org)
• PSM (scrum.org)
• PSPO (scrum.org)
Professional Background
Personal
Jireh Semiconductor – AOS Family
Bringing
manufacturing
back to the US
profitably
Power IC, TVS
IGBT
High Voltage
Power MOSFET
(>400V)
Middle Voltage
Power MOSFET
(40V~ 400V)
Low Voltage
Power MOSFET
(< 40V)
History Timeline
Jireh
Former
company
ended capital
investment
AOS foundry
AOS
purchases
fab +
contents
Adapt designs
Purchase and
install tools
Joined the
team
Improve
software
systems and
increase
volume
2008 2011 2013-2016 2015 Fall 2017
The IT - Automation Team
Joining the Jireh Team
What’s your goal?
• Coach the team transform to Agile Scrum
• Modernize the ~230+ applications
• Become independent of the PA-RISC servers
• Ramp factory output to numbers never seen before
• No downtime
• No impact to manufacturing
Nobody Plans to be in This Position
© Disney/Lucasfilm
The Plan to Meet the Goal
• Transition from Waterfall to Agile Scrum
• Transition from Silos to Teams
• Modernize the Hardware
• Modernize the OS
• Modernize the applications
• No downtime/impact to manufacturing while doing it
Where to Start
1. Team assessment / Teach agile and scrum
2. System communication. How does this system work?
3. Build, run, and understand java applications
4. Look into options for virtualization of applications
Fit in our manufacturing environment
Maturity of the product
High availability
Support
Cost
5. Look into Legacy Operating System
People and Processes
People resist
We like what is familiar
We don’t like change
Agile mindset
“It's a competitive world out there. If you aren't looking to
improve how you do things, and you're not willing to
change, you'll become irrelevant.”
We have to
test the MES
manually.
We’re
too small
We can’t do
agile or scrum, it
just won’t fit here
The Team’s Response
We’re too
interrupt
driven.
We’re too
specialized.
We can’t add
unit testing –
it’s too big.
Our PA-RISC
servers can’t be
upgraded.
No forward
path
We can’t virtualize
it. It’s tied to the
hardware.
Legacy Servers
MES - WorkStream
COMETS
Remotes
Database
9.4
WorkStream +
DB
HP-UX Server
Equipment Controllers
and Drivers
HP-UX Server
DBS Applications
1 of each
HP-UX Server
DBS Applications
1 of each
HP-UX Server
DBS Applications
1 of each
HP-UX Server
Equipment Controllers
and Drivers
HP-UX Server
Equipment Controllers
and Drivers
HP-UX Server
Equipment Controllers
and Drivers
HP-UX Server
WSMsrv
HP-UX Server
Shared
memory
Getting Legacy Monolith to Containers
• Know your system
• Set a clear goal for short-term and long-term
- pull apart and isolate each component
- be able to migrate or replace any single piece
without impact to a running factory
• Create a transition plan
• Risk analysis (deal breakers)
• Proof of concept to obtain buy-in
Systems and Communication
WSMsrv (20)
Job ontroler
Job Setup
(3)
Fab View
(3)
GUI (n)
Job Controller
(3)
CMMSG
VFEI
VFEI
Equipment
Controller
Driver
Equipment
SECS II
VFEI
3 servers
9 applications
4 servers
~240 EQCs
~240 drivers
Shared memory
MES - WorkStream
COMETS
Remotes
Database
9.4
WorkStream +
DB
HP-UX Server
The Plan for Enterprise buy-in
1. Docker Engine (CE) on my PC
2. Obtain VM running Ubuntu
3. Get main three applications to run in the VM
4. Install Docker Engine (CE) on the VM
5. Get three main applications to run in a container (test VM)
Docker Engine (CE)
on PC
A
Docker Engine (CE)
on VM
B
Docker Enterprise
on 10 VMs
C
Eliminate deal breakers
• Message bus across versions and systems –
Get message bus to run on VM
Get message bus to run in container
• Send/receive messages via command line
• Start applications from command line
• Change operating system
• Migrate java version as far forward as possible
• Separate applications
• Accessible application logs
Transition to Docker Container
• Create Docker image in CE – identical to VM
• Run in container in Docker Engine (CE)
• Get buy in for Docker Enterprise
• Determine minimal set for container
Library dependencies
$PATH and environment vars
Start application from the command line
• Move to smaller footprint OS - Debian
• Run in Production swarm in Docker Enterprise***
Moments of Failure
• Running 1.4.2 under different OS
• Finding the right OS
• Finding the right jdk
• Can’t run from command line
• Non-existent runtime flags
• Library dependencies
Libraries not available
Incompatible library errors
Moments of Failure
• Environment variables
• Startup errors in the logfile
• Wrong files in repo
• Files in production not in repo
• Unmet dependencies/broken pkgs
• “Undefined” dependencies
• ELFCLASS32/64 architecture mismatch errors
Moments of Failure
• Test send/recv program not just command line
Big endian, little endian errors
• Unable to install msg bus in container as part of
Dockerfile - learn expect
• Disabled stack guard errors (execstack)
• File to big to get out of repo
• Core dumps (ipv6 issue)
Example Breadcrumb
# A fatal error has been detected by the Java Runtime Environment:
# Internal Error (os_linux_x86.cpp:291), pid=7026, tid=0xf66a1b40
# fatal error: An irrecoverable SI_KERNEL SIGSEGV has occurred due to unstable signal
handling in this distribution.
#
# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
# Java VM: Java HotSpot(TM) Server VM (25.181-b13 mixed mode linux-x86 )
#
# An error report file with more information is saved as: … hs_err_pid7026.log
#
# The crash happened outside the Java Virtual Machine in native code.
Aborted (core dumped)
…
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0xF768C3A1
Function=inet_pton+0x161
Library=/lib32/libc.so.6
Snippet of CE Dockerfile
Snippet of CE Dockerfile
Shared
memory
Legacy Servers
Where we started
MES - WorkStream
COMETS
Remotes
Equipment Controllers
and Drivers
HP-UX Server
DBS Applications
1 of each
HP-UX Server
DBS Applications
1 of each
HP-UX Server
DBS Applications
1 of each
HP-UX Server
Equipment Controllers
and Drivers
HP-UX Server
Equipment Controllers
and Drivers
HP-UX Server
Equipment Controllers
and Drivers
HP-UX Server
Database
9.4
WSMsrv
HP-UX Server
WorkStream +
DB
HP-UX Server
Virtualization: Where we’re going
HP-UX Server
WorkStream
COMETS
Remotes
Database 12.10
VM - RedHat
Equipment
Controllers
DBS
Applications
Equipment
Controllers
Equipment
Controllers
Drivers
WSMsrv
HP-UX Server
DBS
Applications
DBS
Applications
Equipment
Controllers
Equipment
Controllers
Drivers
Future - MES Server
3 options for future
• Refurbished rp**** servers
• Refurbished rx**** servers
• HP9000 PA-RISC emulation
We’ll be seeing a demo
from them in May
Architecture DOCKER ENTERPRISE
Management Plane
CE Node
Nginx
LB for UCP
CE Node
Nginx
LB for DTR
Registry
Node
Manager
Node
Manager
Node
Manager
Node
DTR
Node
DTR
Node
DTR
Node
Worker
Node
Worker
Node
Worker
Node
Worker
Is Containerization For You?
• Maybe a container isn’t your first stop
• What are your risks?
• What’s your goal?
• Does the legacy application have a future?
• Do you have a plan B?
• Time/resources to devote?
• Anyone know Docker
• Start new services?
• New development in containers and keep the legacy around until
replacement is ready?
• Do you know your application?
• How will you manage the moments of failures?
Thank you!
Rate & Share
Rate this session in the DockerCon App

Contenu connexe

Tendances

Implementing Secure Docker Environments At Scale by Ben Bernstein, Twistlock
Implementing Secure Docker Environments At Scale by Ben Bernstein, TwistlockImplementing Secure Docker Environments At Scale by Ben Bernstein, Twistlock
Implementing Secure Docker Environments At Scale by Ben Bernstein, Twistlock
Docker, Inc.
 

Tendances (20)

DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith  DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith
 
Java in a world of containers
Java in a world of containersJava in a world of containers
Java in a world of containers
 
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
 
DCSF19 Containers for Beginners
DCSF19 Containers for BeginnersDCSF19 Containers for Beginners
DCSF19 Containers for Beginners
 
DockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTR
 
Node.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and OpsNode.js Rocks in Docker for Dev and Ops
Node.js Rocks in Docker for Dev and Ops
 
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Practical Container Security by Mrunal Patel and Thomas Cameron, Red HatPractical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
 
Immutable Awesomeness by John Willis and Josh Corman
Immutable Awesomeness by John Willis and Josh CormanImmutable Awesomeness by John Willis and Josh Corman
Immutable Awesomeness by John Willis and Josh Corman
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
Implementing Secure Docker Environments At Scale by Ben Bernstein, Twistlock
Implementing Secure Docker Environments At Scale by Ben Bernstein, TwistlockImplementing Secure Docker Environments At Scale by Ben Bernstein, Twistlock
Implementing Secure Docker Environments At Scale by Ben Bernstein, Twistlock
 
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
 
Infrastructure as Code with Ansible
Infrastructure as Code with AnsibleInfrastructure as Code with Ansible
Infrastructure as Code with Ansible
 
DCSF 19 Microservices API: Routing Across Any Infrastructure
DCSF 19 Microservices API: Routing Across Any InfrastructureDCSF 19 Microservices API: Routing Across Any Infrastructure
DCSF 19 Microservices API: Routing Across Any Infrastructure
 
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
Docker for .NET Developers - Michele Leroux Bustamante, SollianceDocker for .NET Developers - Michele Leroux Bustamante, Solliance
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
 
DCSF 19 Kubernetes and Container Storage Interface Update
DCSF 19 Kubernetes and Container Storage Interface UpdateDCSF 19 Kubernetes and Container Storage Interface Update
DCSF 19 Kubernetes and Container Storage Interface Update
 
DCEU 18: Docker Container Security
DCEU 18: Docker Container SecurityDCEU 18: Docker Container Security
DCEU 18: Docker Container Security
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1
 
Modernizing Java Apps with Docker
Modernizing Java Apps with DockerModernizing Java Apps with Docker
Modernizing Java Apps with Docker
 

Similaire à DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment

Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
Code Mastery
 
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
LarryZaman
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
QAware GmbH
 

Similaire à DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment (20)

Infrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & ToolsInfrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & Tools
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & Ansible
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
 
StackiFest 16: Stacki Overview- Anoop Rajendra
StackiFest 16: Stacki Overview- Anoop Rajendra StackiFest 16: Stacki Overview- Anoop Rajendra
StackiFest 16: Stacki Overview- Anoop Rajendra
 
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
 
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
 
Evolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deploymentsEvolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deployments
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
 
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything Chef
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
Tech trends 2018 2019
Tech trends 2018 2019Tech trends 2018 2019
Tech trends 2018 2019
 
What is coming for VMware vSphere?
What is coming for VMware vSphere?What is coming for VMware vSphere?
What is coming for VMware vSphere?
 

Plus de Docker, Inc.

Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 

Plus de Docker, Inc. (20)

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker Build
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and Compose
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at Salesforce
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker Hub
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices World
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with Docker
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment

  • 1. Scrum Master, Software Engineer Jireh Semiconductor Jeanie M Schwenk
  • 2. • 20+ years experience in software industry • BS in Computer Science • MS in Computer Science • Masters Certificate in Software Engineering • PMP (PMI.org) • PSM (scrum.org) • PSPO (scrum.org) Professional Background
  • 4.
  • 5. Jireh Semiconductor – AOS Family Bringing manufacturing back to the US profitably
  • 6. Power IC, TVS IGBT High Voltage Power MOSFET (>400V) Middle Voltage Power MOSFET (40V~ 400V) Low Voltage Power MOSFET (< 40V)
  • 7. History Timeline Jireh Former company ended capital investment AOS foundry AOS purchases fab + contents Adapt designs Purchase and install tools Joined the team Improve software systems and increase volume 2008 2011 2013-2016 2015 Fall 2017
  • 8. The IT - Automation Team
  • 9. Joining the Jireh Team What’s your goal? • Coach the team transform to Agile Scrum • Modernize the ~230+ applications • Become independent of the PA-RISC servers • Ramp factory output to numbers never seen before • No downtime • No impact to manufacturing
  • 10. Nobody Plans to be in This Position © Disney/Lucasfilm
  • 11. The Plan to Meet the Goal • Transition from Waterfall to Agile Scrum • Transition from Silos to Teams • Modernize the Hardware • Modernize the OS • Modernize the applications • No downtime/impact to manufacturing while doing it
  • 12. Where to Start 1. Team assessment / Teach agile and scrum 2. System communication. How does this system work? 3. Build, run, and understand java applications 4. Look into options for virtualization of applications Fit in our manufacturing environment Maturity of the product High availability Support Cost 5. Look into Legacy Operating System
  • 13. People and Processes People resist We like what is familiar We don’t like change Agile mindset “It's a competitive world out there. If you aren't looking to improve how you do things, and you're not willing to change, you'll become irrelevant.”
  • 14. We have to test the MES manually. We’re too small We can’t do agile or scrum, it just won’t fit here The Team’s Response We’re too interrupt driven. We’re too specialized. We can’t add unit testing – it’s too big. Our PA-RISC servers can’t be upgraded. No forward path We can’t virtualize it. It’s tied to the hardware.
  • 15. Legacy Servers MES - WorkStream COMETS Remotes Database 9.4 WorkStream + DB HP-UX Server Equipment Controllers and Drivers HP-UX Server DBS Applications 1 of each HP-UX Server DBS Applications 1 of each HP-UX Server DBS Applications 1 of each HP-UX Server Equipment Controllers and Drivers HP-UX Server Equipment Controllers and Drivers HP-UX Server Equipment Controllers and Drivers HP-UX Server WSMsrv HP-UX Server Shared memory
  • 16. Getting Legacy Monolith to Containers • Know your system • Set a clear goal for short-term and long-term - pull apart and isolate each component - be able to migrate or replace any single piece without impact to a running factory • Create a transition plan • Risk analysis (deal breakers) • Proof of concept to obtain buy-in
  • 17. Systems and Communication WSMsrv (20) Job ontroler Job Setup (3) Fab View (3) GUI (n) Job Controller (3) CMMSG VFEI VFEI Equipment Controller Driver Equipment SECS II VFEI 3 servers 9 applications 4 servers ~240 EQCs ~240 drivers Shared memory MES - WorkStream COMETS Remotes Database 9.4 WorkStream + DB HP-UX Server
  • 18. The Plan for Enterprise buy-in 1. Docker Engine (CE) on my PC 2. Obtain VM running Ubuntu 3. Get main three applications to run in the VM 4. Install Docker Engine (CE) on the VM 5. Get three main applications to run in a container (test VM) Docker Engine (CE) on PC A Docker Engine (CE) on VM B Docker Enterprise on 10 VMs C
  • 19. Eliminate deal breakers • Message bus across versions and systems – Get message bus to run on VM Get message bus to run in container • Send/receive messages via command line • Start applications from command line • Change operating system • Migrate java version as far forward as possible • Separate applications • Accessible application logs
  • 20. Transition to Docker Container • Create Docker image in CE – identical to VM • Run in container in Docker Engine (CE) • Get buy in for Docker Enterprise • Determine minimal set for container Library dependencies $PATH and environment vars Start application from the command line • Move to smaller footprint OS - Debian • Run in Production swarm in Docker Enterprise***
  • 21. Moments of Failure • Running 1.4.2 under different OS • Finding the right OS • Finding the right jdk • Can’t run from command line • Non-existent runtime flags • Library dependencies Libraries not available Incompatible library errors
  • 22. Moments of Failure • Environment variables • Startup errors in the logfile • Wrong files in repo • Files in production not in repo • Unmet dependencies/broken pkgs • “Undefined” dependencies • ELFCLASS32/64 architecture mismatch errors
  • 23. Moments of Failure • Test send/recv program not just command line Big endian, little endian errors • Unable to install msg bus in container as part of Dockerfile - learn expect • Disabled stack guard errors (execstack) • File to big to get out of repo • Core dumps (ipv6 issue)
  • 24. Example Breadcrumb # A fatal error has been detected by the Java Runtime Environment: # Internal Error (os_linux_x86.cpp:291), pid=7026, tid=0xf66a1b40 # fatal error: An irrecoverable SI_KERNEL SIGSEGV has occurred due to unstable signal handling in this distribution. # # JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13) # Java VM: Java HotSpot(TM) Server VM (25.181-b13 mixed mode linux-x86 ) # # An error report file with more information is saved as: … hs_err_pid7026.log # # The crash happened outside the Java Virtual Machine in native code. Aborted (core dumped) … An unexpected exception has been detected in native code outside the VM. Unexpected Signal : 11 occurred at PC=0xF768C3A1 Function=inet_pton+0x161 Library=/lib32/libc.so.6
  • 25. Snippet of CE Dockerfile
  • 26. Snippet of CE Dockerfile
  • 27. Shared memory Legacy Servers Where we started MES - WorkStream COMETS Remotes Equipment Controllers and Drivers HP-UX Server DBS Applications 1 of each HP-UX Server DBS Applications 1 of each HP-UX Server DBS Applications 1 of each HP-UX Server Equipment Controllers and Drivers HP-UX Server Equipment Controllers and Drivers HP-UX Server Equipment Controllers and Drivers HP-UX Server Database 9.4 WSMsrv HP-UX Server WorkStream + DB HP-UX Server
  • 28. Virtualization: Where we’re going HP-UX Server WorkStream COMETS Remotes Database 12.10 VM - RedHat Equipment Controllers DBS Applications Equipment Controllers Equipment Controllers Drivers WSMsrv HP-UX Server DBS Applications DBS Applications Equipment Controllers Equipment Controllers Drivers
  • 29. Future - MES Server 3 options for future • Refurbished rp**** servers • Refurbished rx**** servers • HP9000 PA-RISC emulation We’ll be seeing a demo from them in May
  • 30. Architecture DOCKER ENTERPRISE Management Plane CE Node Nginx LB for UCP CE Node Nginx LB for DTR Registry Node Manager Node Manager Node Manager Node DTR Node DTR Node DTR Node Worker Node Worker Node Worker Node Worker
  • 31. Is Containerization For You? • Maybe a container isn’t your first stop • What are your risks? • What’s your goal? • Does the legacy application have a future? • Do you have a plan B? • Time/resources to devote? • Anyone know Docker • Start new services? • New development in containers and keep the legacy around until replacement is ready? • Do you know your application? • How will you manage the moments of failures?
  • 32. Thank you! Rate & Share Rate this session in the DockerCon App