37
{code} and containers Kendrick Coleman Developer Advocate @kendrickcoleman

{code} and containers

Embed Size (px)

Citation preview

Page 1: {code} and containers

{code} and containers

Kendrick ColemanDeveloper Advocate@kendrickcoleman

Page 2: {code} and containers

WHY IS OSS IMPORTANT?

Page 3: {code} and containers

Intangible Benefits of Open Source

Not reinventing the wheel

Customization with benefits

Motivated workforce Attracting top talent

Standardized practices

Business acceleration

Cleaner software

Cheaper

Customer goodwill

Community support

Freedom

Innovation

Flexibility

Integration

Page 4: {code} and containers

True Benefits of Open Source

Not reinventing the wheel

Customization with benefits

Motivated workforce Attracting top talent

Standardized practices

Business acceleration

Cleaner software

Cheaper

Customer goodwill

Community support

Freedom

Innovation

Flexibility

Integration

Page 5: {code} and containers

FIFI and Integration

• Freedom – to run software for any purpose and to redistribute it

• Innovation – the ability to leverage a collaborative community of developers

• Flexibility – to deploy the software in a manner that best meets the organization’s requirements

• Integration – Ability to easily integrate open source software with existing infrastructure

It’s not about cost, it’s about integration

Page 6: {code} and containers

“{code} by Dell EMC is a group of passionate open source engineers and advocates working to build a community around software-based infrastructure. Enabling Dell EMC to be relevant in DevOps and open source communities through contribution, engagement and technical solution leadership.”

codedellemc.com

Page 7: {code} and containers

Open source at Dell EMC

– Contribute to meaningful OSS projects– Create new thought leading OSS applications– Drive awareness of OSS opportunities with

product teams– Participate in relevant community

engagement projects– Acting in the interest of building a community

“{code} by Dell EMC is a group of passionate open source engineers and advocates working to build a community around software-based infrastructure. They enable Dell EMC to be relevant in DevOps and open source communities through contribution, engagement and technical solution leadership.”

Page 8: {code} and containers

codedellemc.com

Page 9: {code} and containers

Digital Business is Driving Software Innovation

Microservices

APIs

Open source

Containers

Cloud Native

Frameworks

AnalyticsInsights Drive New Functionality,

Which Drives New Data

Applications/IoTTransforms Business

DataGenerated By

New Applications

Page 10: {code} and containers

Open source

Containers

Digital Business is Driving Software Innovation

Microservices

APIs

Cloud Native

Frameworks

AnalyticsInsights Drive New Functionality,

Which Drives New Data

Applications/IoTTransforms Business

DataGenerated By

New Applications

Page 11: {code} and containers

Keys to Freedom and Flexibility

• Embrace DevOps and open source

• Remove unnecessary complexity

• Run all applications from containers

• Operate everything as software, including storage

• Run applications as services

• Use platform that orchestrates and consumes all infrastructure natively for applications

Page 12: {code} and containers

Applications are Changing

Loosely Coupled Services

Many Servers

~2000 Today

Monolithic

Big Servers

Slow Changing

Rapidly updated

Page 13: {code} and containers

Operating 3rd Platform Infrastructure

• Maturity improves as you move upward

• Skipping levels causes limitations

• Composable layers require integration and automation

• Requires developer oriented approaches to operating infrastructure

}• Applications get abstracted from infrastructure

• Identity and state no longer encapsulated with infrastructure

• Resiliency moves into application

}

Page 14: {code} and containers

Containers are Key

• Lightweight

• Becoming defacto application packaging standard

• Package of software binaries and dependencies

• Easily portable across environments (on-prem and cloud)

• Allows ecosystem to develop around its standard

• Docker, Mesos, and Kubernetes are currently the most popular container technologies

• A persistent container stores data in an external volume

• Additionally an opportunity to run old applications in new ways

Code andDependencies

Container

Page 15: {code} and containers

Optimizing and Enabling Rapid Innovation

Virtual machines

Server Public Cloud

Disaster Recovery

Developer Laptop

Server Cluster

Data Center

Generic Persistence

Web Front EndBackground Workers

SQL Database

NoSQLScale-Out Database

Queue API Endpoint

Development Test & QA Production Scale Out

Page 16: {code} and containers

Deployment and Compute

RackHD

github.com/rackhd

github.com/codedellemc/docker-

machine-rackhd

Page 17: {code} and containers

Challenges of deploying container platforms

Visibility & Ease of Use

Elasticity

Data Storage & Protection

Platform Sprawl & Siloed Organizations

Financial Viability & Existing Investments

Many Applications, Different Needs

BusinessChallenges

InfrastructureChallenges

Page 18: {code} and containers

THERE IS NO SUCH THING AS A

”STATELESS” ARCHITECTURE

IT’S JUST SOMEONE ELSE’S PROBLEM

- Jonas Boner, CEO of Lightbend

Page 19: {code} and containers

Do you have any of these in your data center?

• Databases– Postgres, MongoDB, MySQL, MariaDB, Redis, Cassandra

• Search, Analytics, Messaging– ElasticSearch, LogStash, Kafka, RabbitMQ

• Content Management– Wordpress, Joomla, Drupal, SugarCRM

• Service Discovery– Consul, Zookeeper, etcd

• Continuous Integration and Delivery– Jenkins, GitLab, SonarQube, Selenium, Nexus

• Custom Applications– That Java app your company built

Stateful andpersistent applications

Page 20: {code} and containers

What's the problem?

• When I run a persistent application in a container, where does my data get stored?– The container holds the data

directory and structure of the entire application

– Optionally use local volumes

• Stateless applications work well – nginx, httpd, kibana, haproxy,

memcached, solr, celery

$ docker run -v redisData:/data redis

redisData

/etc /var/bin /opt/data

Page 21: {code} and containers

What's the problem?

• Lose a container– Lose the data

• Lose a server– Lose the data

• Local data storage– Failed hard drives or failed RAID– Can not scale beyond the

physical limit of the server

/etc /var/bin /opt/data

Page 22: {code} and containers

Introducing REX-Ray

REX-Ray

The leading container storage orchestration engine enabling persistence for cloud native workloads

rexray.codedellemc.com

Page 23: {code} and containers

Cloud Native Interoperabilityrexray.codedellemc.com

DOCKER APACHE MESOS KUBERNETES AND OPENSHIFT

CLOUD FOUNDRY

Use the stand alone Docker Engine to run a stateful application or

combine it with Docker Swarm Mode to turn your application into a robust

service.

Use any framework that orchestrates containers

such as Marathon or Aurora to provide

persistent storage for stateful services.

Run stateful applications in pods and stateful sets through FlexREX, and

benefit from a broader set of storage platforms and

CLI management capabilities.

Introduce a storage broker to move beyond

just 12-factor applications to support

persistence requirements in your

PaaS.

Page 24: {code} and containers

REX-Ray Featuresrexray.codedellemc.com

PERSISTENT STORAGE ORCHESTRATION FOR

CONTAINERS

ENTERPRISE READY OPEN SOURCE TRUSTED INTEROPERABILITY

• Run any application using multiple storage platforms.

• Resume state and save data beyond the lifecycle of a container.

• Containers aren’t just for stateless applications anymore.

• High-availability features for container restarts across host

• CLI intuitiveness• Contributions from the

cloud native community and the leading storage vendor in the world.

• A completely open and community driven project

• Constantly innovating and providing new integration points.

• Community contributed drivers, features, and additional functionality

• Built using an interface library called libStorage.

• Includes reusable orchestration and lifecycle operations that satisfy the integration of cloud native and storage platforms today and tomorrow.

Page 25: {code} and containers

REX-Ray Featuresrexray.codedellemc.com

• A single interface to all of your storage platforms.

• A common orchestration and volume lifecycle operations no matter what type of platform you choose.

• Includes support for storage platforms types that cover block, file, and object.

• Run any application that has any type of storage requirement

• Installed as a single binary or deployed as a container.

• Can be configured to include one or multiple storage platforms from a single stateless service.

• Multiple architectural choices allow flexibility for deployments.

• Configure as standalone to serve in a decentralized architecture.

• Leverage the client/agent and controller for a centralized architecture

MULTIPLE STORAGE PLATFORM SUPPORT

STORAGE AGNOSTIC EFFORTLESS DEPLOYMENT

STANDALONE OR CENTRALIZED

Page 26: {code} and containers

Storage Platform Integrationrexray.codedellemc.com

• Elastic Block Storage (EBS)

• Elastic File Storage (EFS)

• Simple Storage Service (S3)

• Use thin-provisioned EBS volumes as an alternative to reduce costs in AWS.

• ScaleIO (block)• Isilon (NFS)• ECS (object)

• Persistent Disks (PD)

• Cloud Storage Buckets (CSB)

• Digital Ocean Block Storage attaches persistent disks your droplets.

• Blob Storage Unmanaged Disks (block)

• S3 compatible object storage

• Local Disk

• RADOS Block Devices (RBD)

• RADOS Gateway (RGW)

• Mount a S3 bucket as a directory using Fuse

Page 27: {code} and containers

Solving the problem

• REX-Ray is installed and configured on all hosts in the cluster as a stateless service

• REX-Ray acts as storage plug-in and container engines re-direct storage operations to REX-Ray– Create/Mount/Unmount/Delete/

Snapshot

$ docker run --volume-driver=rexray -v redisData:/data redis

/redisData

/etc /var/bin /opt/data

Page 28: {code} and containers

Solving the problem

• Lose the container or lose the server– Data persists and remains in tact

on the remote storage platform

/etc /var/bin /opt

/redisData

Page 29: {code} and containers

Solving the problem

• Attach the volume to a new container on a different host– Equivalent of a hard reset.

Application starts and resumes from the last write to disk

– Container schedulers can perform automated failover

• Scalability– Application data can scale to the

maximum supported by the storage platform

/etc /var/bin /opt/data /redisData

Page 30: {code} and containers

Development to Production Lifecycle

Deploying containers using REX-Ray stays consistent from local development, testing in the cloud, to production in on-premise datacenters

ScaleIOIsilonXtremIOVMAX

Page 31: {code} and containers

Dell EMC ScaleIO

Software that creates an enterprise class virtual SAN on top of commodity server hardware

OS, Hypervisor, and Media Agnostic

• Utilizes commodity hardware• “Pay as you grow”— linear predictable costs• No dedicated storage components (FC network, HBAs)• Add servers of any type or configuration to the pool• Retire servers on your own schedule• Eliminate migration• Scale performance linearly

Page 32: {code} and containers

Scale Out Storage for Scale Out Apps

Page 33: {code} and containers

#CodeOpen

Demo

#CodeOpen

Demo

Page 34: {code} and containers

Take our projects for a spin at the {code} Labs

http://github.com/codedellemc/labs

Page 35: {code} and containers

Learn More• REX-Ray’s Home

• http://rexray.codedellemc.com

• Docs• http://rexray.readthedocs.io

codedellemc.comcommunity.codedellemc.com@codeDellEMCblog.codedellemc.com

Page 36: {code} and containers
Page 37: {code} and containers