Cloud Anti-Patterns – Casey West
- The 5 stages of Cloud Native
- Deploying my apps to the cloud is painful – why?
- Denial
- “Containers are like tiny VMs”
- Anti-Pattern 1 – do not assume what you have now is what you want to put into the cloud or a container
- “We don’t need to automate continuous delivery”
- We shouldn’t automate what we have until it is perfect. Automate to make things consistent (not always perfect at least at the start)
- Anger
- “works on my machine”
- Dev is just push straight from dev boxes to production
- Not about making worse code go to production faster
- Aim to repeatable testable builds, just faster
- Bargaining
- “We crammed the monolith into a container and called it a microservice”
- Anti-Pattern: Critically think on what you need to re-factor (or “re-platforming” )
- ” Bi-modal IT “
- Some stuff on fast lane, some stuff on old-way slow lane
- Anti-pattern: leagacy products put into slow lane, these are often the ones that really need to be fixed.
- “Micros-services” talking to same data-source, not APIs
- Depression
- “200 microservices but forgot to setup Jenkins”
- “We have an automated build pipeline but online release twice per year”
- Acceptance
- All software sucks, even the stuff we write
- Respect CAP theorem
- Respect Conway’s Law
- Small batch sizes works for replatforming too
- Microservices architecture, Devops culture, Continuous delivery – Pick all three
Cloud Crafting – Public / Private / Hybrid – Steven Ellis
- What does Hybrid mean to you?
- What is private Cloud (IAAS)
- Hybrid – communicate to public cloud and manage local stuff
- ManageIQ – single pain of glass for hardware, vms, clounds, containers
- What does it do?
- Brownfields as well as Greenfields, gathers current setup
- Discovery, API presentations, control and detect when env non-complient (eg not fully patched)
- Premise or public cloud
- Supplied as a virtual appliance, HA, scale out
- Platform – Centos 7, rails, postgress, gui, some dashboards our of the box.
- Get involved
- Online, roadmap is public
- Various contributors
- DEMO
- Just put in credentials to allow access and then it can gather the data straiht away
Live Migration of Linux Containers by Tycho Andersen
- LXC / LXD
- LXD is a REST API that you use to control the container system
- tool -> RST -> Daemon -> lxc -> Kernel
- “lxc move host1:c1 host2: ” – Live migrations
- Needs a bit of work since lots moving, lots of ways it could fail
- 3 channels created, control, filesystem, container processes state
- CRIU
- 5 years of check-pointing
- Lots based off open-VZ initial work
- All sorts of things need to support check-pointing and moving (eg selinux)
- Iterative migration added
- Lots of hooks needed for very privileged kernel features
- Filesystems
- btrfs, lvm, zfs, (swift, nfs), have special support for migration that it hooks into
- rsync between incompatable hosts
- Memory State
- Stop the world and move it all
- Iterative incremental transfer (via p.haul) being worked on.
- LXC + LXD 2.0 should be in Ubuntu 16.04 LTS
- Need to use latest versions and latest kernels for best results.