Dockerize OpenEdge Srinivasa Rao Nalla.

Slides:



Advertisements
Similar presentations
PlanetLab Operating System support* *a work in progress.
Advertisements

11.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Module 10 Configuring and Managing Storage Technologies.
Module 13: Configuring Availability of Network Resources and Content.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
1 Week #9 File Services DFS Overview Configuring DFS Namespaces Configuring DFS Replication Windows Server 2008 Storage Management Overview Managing Storage.
Introduction to Cloud Computing
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Magellan: Experiences from a Science Cloud Lavanya Ramakrishnan.
1 Week #10Business Continuity Backing Up Data Configuring Shadow Copies Providing Server and Service Availability.
Chapter 10 Chapter 10: Managing the Distributed File System, Disk Quotas, and Software Installation.
Windows Azure Virtual Machines Anton Boyko. A Continuous Offering From Private to Public Cloud.
Cognos 8 BI Configuration, Administration, and Upgrade Cognos 8 BI.
© 2015 MetricStream, Inc. All Rights Reserved. AWS server provisioning © 2015 MetricStream, Inc. All Rights Reserved. By, Srikanth K & Rohit.
vSphere 6 Foundations Exam Training
SQL Database Management
Containers as a Service with Docker to Extend an Open Platform
Fundamentals Sunny Sharma Microsoft
Essentials of UrbanCode Deploy v6.1 QQ147
Platform as a Service (PaaS)
Current Generation Hypervisor Type 1 Type 2.
Introduction to Distributed Platforms
Integrating HA Legacy Products into OpenSAF based system
Containers: The new network endpoint
The Development Process of Web Applications
Docker Birthday #3.
Escalator: Refreshing Your OPNFV Environment With Less Troubles
Web Hosting with OpenShift
Consulting Services JobScheduler Architecture Decision Template
In-Depth Introduction to Docker
Securing the Network Perimeter with ISA 2004
StoRM Architecture and Daemons
Chapter 2: System Structures
Maximum Availability Architecture Enterprise Technology Centre.
Introduction to Operating System (OS)
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Introduction to Networks
Oracle Solaris Zones Study Purpose Only
Introduction to Cloud Computing
GGF15 – Grids and Network Virtualization
Auditing in SQL Server 2008 DBA-364-M
Kubernetes Container Orchestration
Introduction to Docker
Oracle DB and Docker Get Your Dockerized Oracle Sandbox Running in the Cloud or On- Premises Martin Knazovicky Dbvisit Software.
Kubernetes intro.
Haiyan Meng and Douglas Thain
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Oracle Architecture Overview
QNX Technology Overview
Chapter 2: System Structures
Developing for the cloud with Visual Studio
Chapter 2: The Linux System Part 1
Intro about Contanier and Docker Technology
Cloud computing mechanisms
SAP R/3 Installation on WIN NT-ORACLE
Container cluster management solutions
An Introduction to Software Architecture
DEVOPS & THE FUTURE OF TESTING
Kubernetes.
Instructor Materials Chapter 5: Windows Installation
David Cleverly – Development Lead
Harrison Howell CSCE 824 Dr. Farkas
Containers and DevOps.
Setting up PostgreSQL for Production in AWS
ONAP Architecture Principle Review
Containers on Azure Peter Lasne Sr. Software Development Engineer
Presentation transcript:

Dockerize OpenEdge Srinivasa Rao Nalla

Agenda Introduction to Docker Docker Essentials for OpenEdge deployment Leveraging Docker for OpenEdge deployment Demo

Introduction to Docker Docker – is an open source software for deploying applications using containers Container – self sufficient software is packaged together to work in isolation Independent of each other Contains all required libraries Shares the same operating system

Introduction to Docker (Contd….) Autonomy of Docker Engine Network Container Image Data Volumes Docker CLI Provides command line interface to communicate with Docker Daemon Uses REST API for communication Docker daemon Manages Docker containers

Docker Essentials for OpenEdge Deployment - Docker Volumes Container writable layer Changes are written into this layer by using copy-on-write process By default this layer is not persistent Persistence can be achieved either by using Docker Volumes Container level Host level Shared Storage Data Containers Writable layer Centos image Kernel

Docker Networking modes Host Networking namespace is shared with the container Host mode Forwards packets between any of the network interfaces attached to it Bridge mode One container makes use of network namespace of another container Container mode Container in it’s own network stack No Networking

Docker Essentials for OpenEdge Deployment – Docker Swarm(Clustering) Swarm Manager Swarm Node Native clustering solution for forming cluster of Docker hosts running the containers Provides high availability and failover Continuously checks the health of the Docker daemon hosts Automatically rebalances by moving and re-starting Docker containers from failed hosts to new ones Enterprises of different sizes can leverage scalability by using Docker Swarm Provides flexible container scheduling

Docker Essentials for OpenEdge Deployment – Docker Control Groups Cgroups provide a way to allocate resources at a more granular level Example to set CPU shares docker run -d --name='test' --cpu-shares=30 busybox Cgroup Explanation Memory Enforce memory limits maximum memory for a container swap space and kernel memory CPU Set certain constraints on the usage limits of Host’s CPU cycles CPU quota CPU shares BLK IO Measuring and limiting Block I/O Net_cls and net_prio Tagging and traffic control

Advantages of Using Docker for OpenEdge

Leveraging Docker for OpenEdge

Potential Use cases from OE Perspective Customers with multi-site deployment can leverage Docker solution to deploy OpenEdge Time to deploy OpenEdge gets reduced drastically Simplified Upgrade Does not have to move the entire thing to latest – few components can be on older version and then they can slowly migrate to latest Working with multiple versions of OE Scale up and down the containers based on requirements using appropriate Docker Orchestration tools Scalability

OpenEdge Image Creation Couple of ways(options) to organize OE components while creating images Create image on per component basis Create image(s) by grouping relevant components together Image Creation Broadly classified into two stages Pre-image creation Identify default options Allow a way to specify the values to these options Post-image creation Publish the image to Docker Repository

Factors to be considered while creating images for OE Deployment Underlying file system Explore the compatibility of supported file systems when using Docker containers Networking Choose appropriate mode for Docker networking Security User management (root and non-root users) for OE interactions (such as Database, AppServer) at Docker container level needs to be exercised and addressed Multiple instance creation Configuration and sharing of resources needs to be addressed while running multiple instances

Factors to be considered while creating images for OE Deployment Persistent considerations WRK directory, Property files, and Database must be persisted Health of the Containers A mechanism must be in place to handle the container failure and/or error conditions. Possible solution(s) is to use Docker Swarm or develop custom scripts to check the health of the container and handle it accordingly

Known Limitations Some of the components will not be able to provide container level information Features such as OEM which are designed for host level deployment will not provide granular information at the container level Add components is invalid in container environment Docker images are fixed in nature, Add components is not valid in container environment and hence they would not be available IP networking requires customization to make OE components work with Docker. Docker is still evolving Not supported on all OE platforms

Error Logging and Monitoring Error logging differs from traditional host/machine level error logging Exhibits different view levels such as host, container, application and cluster. As the existing implementation is not aware of these view levels, the corresponding logging information is not available. Instance monitoring differs from traditional host/machine level monitoring and exhibits the same view level as Error logging. The existing implementation does not has the support for these view levels

Migration Paths Migrating from standalone deployment to Docker deployment for the OE same release Update configuration/properties files (may use import/export feature) OpenEdge Application files Choose Data Volume/Containers Progress.cfg Migrating from standalone deployment to Docker deployment for a different OE release Convert the DB to the target version and appropriately place the DB in the target volume/container New deployment of OpenEdge with Docker OpenEdge containers

Typical OE deployment using Docker Pull a Docker Image Specify the required configuration parameters Identify the required volumes Starts a new Docker instance by pointing to appropriate progress.cfg file Start consuming the services of new Docker instance

Demo

What’s new in Docker New versioning Multi-Stage Builds Specify target on build Swarm mode improvements Runtime Docker system subcommands added Rollback action in fail over mode

Popular Orchestration Tools Mesosphere Provides multiple features such as self healing, scheduling and fault tolerance. It can also be used to launch long running applications Swarm Provides native clustering solution of clustering. It provides features such as High Availability, fail over and scalability Kubernetes Handles scheduling and manages workloads based on user-defined parameters CoreOS Fleet Cluster management tool which extends the Systemd to work with cluster. It provides fault-tolerance, scheduling hints and constraints