Upload
code-by-dell-emc
View
23
Download
0
Embed Size (px)
Citation preview
{code} and containers
Kendrick ColemanDeveloper Advocate@kendrickcoleman
WHY IS OSS IMPORTANT?
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
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
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
“{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
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.”
codedellemc.com
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
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
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
Applications are Changing
Loosely Coupled Services
Many Servers
~2000 Today
Monolithic
Big Servers
Slow Changing
Rapidly updated
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
}
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
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
Deployment and Compute
RackHD
github.com/rackhd
github.com/codedellemc/docker-
machine-rackhd
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
THERE IS NO SUCH THING AS A
”STATELESS” ARCHITECTURE
IT’S JUST SOMEONE ELSE’S PROBLEM
- Jonas Boner, CEO of Lightbend
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
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
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
Introducing REX-Ray
REX-Ray
The leading container storage orchestration engine enabling persistence for cloud native workloads
rexray.codedellemc.com
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.
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.
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
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
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
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
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
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
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
Scale Out Storage for Scale Out Apps
#CodeOpen
Demo
#CodeOpen
Demo
Take our projects for a spin at the {code} Labs
http://github.com/codedellemc/labs
Learn More• REX-Ray’s Home
• http://rexray.codedellemc.com
• Docs• http://rexray.readthedocs.io
codedellemc.comcommunity.codedellemc.com@codeDellEMCblog.codedellemc.com