1
Aplicaciones Nativas En La Nube The four forces of Cloud Native Iñaki Borrero- Advisory vspecialist MEDI, Dell EMC @DellEMCForum 2
Containers Devops Confluence of 4 forces Agile 3 3 Microservices
4 4
Is DevOps docker configuration service hypervisor services discovery mgmt? No. 5 5
DevOps is a collaborative culture & philosophy between technical teams, often derived from modern software development methods 6 6
7 The Challenges of DevOps Dev wants to push quickly into production DEVELOPMENT DevOps Test UAT Operations wants stability Stage Load test Production Agile software development with continuous integration Frequent release of small sets of changes 7 7 Manual process and inconsistent configurations result in lengthy delivery and poor quality
The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan It s really different 8 8
INFO OUT Positive feedback (Amplifying) Complex adaptive behavior INFO IN Negative feedback EMERGENCE (Dampening) Simple self-organized local relationships IN INFO 9 9 INFO Changing external environment OUT
NO ONE UNDERSTOOD THE FULL STACK 10 10
NO ONE UNDERSTOOD THE DEPENDENCIES 11 11
MELVYN CONWAY 1967 12 12 Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure
Application design is changing Properties of a microservice Monolithic/Layered Small code base Easy to scale, deploy and throw away Autonomous Resilient Benefits of a microservices architecture Microservices 13 13 A highly resilient, scalable and resource efficient application Enables smaller development teams Teams free to use the right languages and tools for the job Rapid application development
Microservices are great, but require: 14 14 Rapid provisioning Solid monitoring Rapid deployment Devops culture
Standardization? 15 15
Containers! 16 16
Containers 17 17
Thank you to the giants We know we re riding on your shoulders 18 18 Namespaces (IBM) Cgroups (Google) LXC tools The Linux Kernel Git SELinux (Red Hat) Solaris Zones BSD Jails +++
Why are containers lightweight? VMs App A Bins/ Libs Guest OS 19 19 Guest OS App A App A Bins/ Libs Bins/ Libs Guest OS Original app App A App A App A CONTAINERS Copy of app Modified app
Enter the container Package of software binaries and dependencies in an isolated environment Easily portable across environments (on-prem and cloud) Allows ecosystem to develop around its standard Ephemeral nature 20 20 Use-case applications tended to be stateless in the beginning (web server, message queue, event trigger, application controller) Base O/S Code and requirements Container
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, $ docker run -v redisdata:/data redis memcached, solr, celery 21 21 /etc /var /bin /opt /data redisdata
What's the problem? Lose a container Lose a server Lose the data Lose the data Local data storage 22 22 Failed hard drives or failed RAID Can not scale beyond the physical limit of the server /etc /var /bin /opt /data
hub.docker.com 7 of the top 12 apps require persistence 23 23
REX-Ray github.com/emccode/rexray Provides storage for persistent applications in containers: Integrations: Databases, Search, Analytics, Messaging, Content Management, Service Discovery, Continuous Integration and Delivery, Custom Applications Docker, Mesos, Marathon, Kubernetes Support for multiple storage platforms 24 24 On-Prem: EMC ScaleIO, XtremIO, Isilon, VMAX
Solving the problem Docker created a volume plugin framework, allowing volume plugins to receive API requests from the Docker daemon to perform storage operations Create/Mount/Unmount/Delete/ Snapshot $ docker run --volume-driver=rexray -v redisdata:/data redis 25 25 /etc /var /bin /opt /data /redisdata
Solving the problem Lose the container or lose the server 26 26 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 27 27 Application data can scale to the maximum supported by the storage platform /etc /var /bin /opt /data /redisdata
How it works /etc /var /bin /opt /data $ docker run redisdata Persistent Volume --volume-driver=rexray -v redisdata:/data redis 28 28 Storage Platform
Dell EMC application transformation framework Increase agility and reduce cost BUILD NEW NEW APPS Increase Agility MODERN APP FACTORY DEV DEV OPS Application Alignment Assessment REWRITE Architecture, Standards Dev, Execution MIGRATION FACTORY REPLATFORM Architecture, Standards EXISTING APPS Reduce Costs RETIRE Migration Execution RETIREMENT FACTORY REPLATFORM RETAIN Architecture, Standards Retirement Execution Infrastructure Transformation 29 29
5 step decision support factory - approach EMC Migration Services * Supports all other steps with fact based forensic discovery data, but is NOT mandated. Can run in parallel. 30 30 30
Containers Devops Confluence of 4 forces Agile 31 31 31 Microservices
32 32