Tag Archives: containers

Thoughts on the Docker Datacenter training course (beta)

Summary: A good training course that succeeded in teaching me how to deploy and manage a simple Docker Datacenter environment, as well as giving me some insight into the product itself.

Earlier this month I was lucky enough to take the beta training for Docker’s recently released Datacenter product. Being a beta it was offered for free (thankyou Docker!) although spaces were limited due to the courses being instructor led. There were only nine students on my course so it was quite personal, and despite being marketed for those in the US the attendees were from multiple timezones – one guy was doing it at 3am local time – so there’s obviously demand for training.

The attendees were from mixed backgrounds – interestingly most identified themselves as DevOps engineers or operations whereas I expected more developers. Levels of experience with Docker also varied from beginner to expert but all were able to complete the training successfully. I should state that while I’m not a complete beginner I’m certainly no expert either when it comes to Docker and containers.

The training consisted of three sessions, each four hours long, set over consecutive weeks. The course was offered online which is what made it possible for those like me working in remote places. It was about 80% hands on and 20% lecture time and the prerequisites are pretty simple – know what Docker is, how to pull and run container images, know Linux fundamentals (ssh, scp, navigating folders) etc. The training itself was similar to the training available at DockerConEU which is to say it uses AWS instances and content publicly available on Github. This is nice as it lets you have a look at some of the content in advance (in case you want to prepare or read up on some topics as I did) or after the course as a recap. It might be self explanatory enough to work through on your own, but be aware some sections have prerequisites which you’d need to setup yourself (rather than being provided them via AWS instances as we were). I received an email a few hours in advance of the course with a link to the online conference along with details of my AWS instances.

The presentations were simple overviews of the Docker products along with some background concepts, such as microservices. There were done in Reveal.js (which is pretty slick and worth learning, tutorial here) and had been containerised, meaning you can quickly and easily download it and run it locally (which could be useful for those that want to explore further at a later date);

docker pull training/docker-present
docker run --ti --rm -v /var/run/docker.sock:/var/run/docker.sock training/docker-present -p 8080

The three sessions covered the following topics;

  1. Deploying UCP. This involved the following tasks;
    • deploy the UCP controller to the first node
    • add two further nodes as compute nodes
    • integrate UCP with DTR and test by pulling/pushing an image using both CLI and the UCP GUI (including certificate setup)
  2. Managing container workloads in UCP. This involved the following tasks;
    • add two nodes to an existing UCP controller
    • deploy several nginx containers and a tomcat instance using UCP (varying port mappings)
    • deploy a simple application using Docker Compose (still done via CLI, though integration is on roadmap). Used projects on GitHub. Cloned to local directory and then ran using Compose.
  3. User management and troubleshooting UCP. This involved the following tasks;
    • create multiple users and groups via UCP
    • assign rights to those users and groups in UCP
    • create containers and assign and test permissions (using labels) in UCP
    • create containers via Docker Compose & using labels (CLI)
    • configure UCP to authenticate via an LDAP directory
    • reset the ‘admin’ account password

Each course begins and ends with a candidate assessment using Trueability.com, the idea being that you can measure your learning via the course. I like the idea but either due to product issues or Trueability idiosyncrasies the assessments didn’t really seem to work too well. I’m sure those issues will be ironed out by the time the courses are finalised.

Thoughts on the training and the product

The training content was good, as was the instructor, but the product felt quite basic and raw, which I guess is to be expected for a beta course on a new product. UCP seems to be a thin UI built on top of the Docker Engine/Swarm/Compose trio, and its integration could be more comprehensive. For instance;

  • docker-compose commands must still be run from the CLI (either locally or via an authenticated remote client), although the running containers are shown in the UI.
  • I and others got ‘Internal Server error 500’ when deploying a two container app via docker-compose. Rerunning the command a second time worked. The instructor had seen this behaviour previously and had fed info back to the developers as a bug but it’s not very reassuring given the simplicity of the task on a newly built infrastructure.
  • browser support seemed finicky – Chrome didn’t work with UCP week 1 whereas Safari did, but I got the opposite in week two
  • setting up overlay networking was also finicky and failed for several people. Creating networks in UCP is not refined – you have to type ‘overlay’ for network type instead of just a dropdown of available choices for instance
  • the public docs were outright wrong in a few places
  • deleting a network silently failed, simply because an app was defined as using it. There were no warnings, although the instructor was good at picking up these things.
  • when a user with insufficient permissions tries to pull a container image in UCP it simply hangs, rather than giving ‘permission denied’ or an error message
  • the version of the underlying Docker components was also  quite picky – several spurious errors were finally tracked down to running with a slightly old version of Docker Engine (1.9.1 rather than 1.10) and likewise with Docker Compose.

There’s a useful multi-container app in the Docker Github repository which was used as our trial app when using Docker Compose, but there’s nothing stopping you using it anytime you like. I really liked the cool SF FoodTruck app which we deployed during the course and it’s freely available on Github and was a good demonstration of how effective this method of deployment can be.

SFFoodTrucks
The SF FoodTruck app – great demo!

The post course assessment wasn’t really working but promises to be a nice feature – at least until formal certification becomes available. In general post course assessments aren’t worth having – either you can do the job or you can’t. Seriously though, how long can it be before you can be Docker Certified, maybe a Stevedor? 😉

In reality 12 hours of training, including lab work, isn’t going to cover much and there’s tons of complexity which we didn’t touch. I’m hoping to spend some more time with the product and experiment with some additional features, which I’ll write up here if I find the time.

As always I’d love to hear from anyone else with experience of Docker Datacenter. What do you think of it? Let me know in the comments or on Twitter.

My DockerCon Europe agenda

I’ve spent quite a bit of time recently familiarising myself with the ‘cloud native’ landscape (blog posts are in draft format and will hopefully get finished one day soon) and to that end I’m attending DockerCon Europe next week to immerse myself even further.  I’m going to be a fish out of water!  I’m used to attending VMworld where I know the technology and a large number of people whereas I only know a couple of people attending and only have a passing familiar with many of the technologies and vendors. Given the energy around the container space I’m envisaging an overwhelming experience like my first VMworld six years ago. You can view my full agenda online but there are a couple of sessions I’m particularly keen to attend.

The first is ‘cgroups, namespaces, and beyond: what are containers made from?‘ which promises a deep dive into container structure along with a comparison of different container runtimes. I’ve read about alternatives LXC, rkt, & systemd-nspawn a bit  and it’s particularly relevant to me as VMware’s container initiative, vSphere Integrated Containers, goes about creating the container using hypervisor mechanisms rather than Linux kernel primitives. Being able to articulate the rationale and benefits of this to VMware customers will be key. Incidentally for those who attended VMworld this year there was a great session all about it – INF5229 – Docker and Fargo: Exploding the Linux Container Host.

Another session which should have some lively debate is live migrating a container: pros, cons, and gotchas (a concept I tweeted about back in April). The obvious question is always ‘why would you want to do that? containers are stateless and immutable – deploy and destroy!’ but the naysayers would claim that containers will also be used to deploy stateful applications in which case this is a must have feature (just as vMotion is nowadays). The presenter is the maintainer of the CRIU project and also works for Odin whose product manages both VMs and containers (so they have both expertise and a desire for it to work!).

Hopefully I’ll follow up with a blogpost detailing my thoughts after the event. If you’re attending get in touch – it’d be nice to see a friendly face!

InTechWeTrust episode 32 – Netapp, containers, AWS and more

I recently attended the tech.unplugged event in London (my thoughts on it are here) and the London VMUG the following day, and was in the right place at the right time to take part in the InTechWeTrust podcast, episode 32. For those not familiar with this podcast it’s run by a prominent team of bloggers who have a background in enterprise infrastructure and has been going since last September. You can listen to the podcast directly via the player below or your usual choice of subscription (iTunes etc) – just head on over to the InTechWeTrust website for all the links.

Make sure you listen to the last 15 mins with EMEA CTO Joe Baguley – very interesting.

InTechWeTrust Episode 32 – Containers, Project Photon/Lightwave, AWS, Netapp, CoHo Data + more!

I’d like to use this blogpost to follow up on some of the topics discussed and my contributions.

...on ‘containers’. Sometimes I find myself speaking on a topic of which I’m by no means an expert – I try to avoid it as I’m all about facts, impartiality (as far as that’s possible) and I’m a believer that your reputation is sacrosanct (not just in the bloggersphere) but you can’t learn without getting out of your comfort zone. I’m not a developer. I have limited knowledge and minimal hands-on experience of containers. I have an understanding on where they fit into an overall architecture, who’s getting value from them, and at least an inkling of their potential but I’m clearly no expert. My comments about Docker building a platform (with an implied degree of vendor lock-in) vs Rocket’s ‘more open’ ambitions largely came from reading this blogpost from Rocket, this great Reddit thread discussing what it means, plus a good summary from GigaOm. Clearly this still needs to play out – the stakes are high and it’s going to be an interesting ride!
If anyone can point me to other resources with more information I’d be very grateful!

…on Photon/Lightwave/Photon. This was discussed with Joe Baguley after I’d left the podcast but the interesting soundbites for me were ‘a new direction for VMware’, the fact that containers are seen to be the boundary between VMware and Pivotal (hence why Photon/Lightwave are VMware yet Lattice is Pivotal), and the idea that containers may become embedded in vSphere itself. Interesting times!

…on Netapp. There’s been a recurring discussion about Netapp on the last few episodes and a good Linked-In discussion. I was a Netapp user for over five years (and I’ve written quite a few Netapp blogposts) and while I’ve not kept an eye on their latest releases I’ve always felt they weren’t vocal enough in the social media space, especially since Vaughn Stewart jumped ship to Pure Storage. This has improved with Nick Howell’s useful DatacentreDude blog and podcast but I still don’t see enough innovation. Flash, tiering, and scale out have all been addressed but never in a convincing way – the gravity of the core ONTAP OS seems all consuming. This would seem to be borne out in their upcoming layoffsAgain, happy to be educated otherwise!

…AWS finances. They’re now available – plenty of articles to digest. As predicted it made the mainstream BBC news, Simon Wardly waded in, and there’s a good Business Insider article with a great quote;

Amazon? The online bookstore that turned into a kind of Best Buy/Wal-Mart online? A giant of enterprise computing? No way.

 

The tech.unplugged conference – containers, containers, containers

On 22nd April I attended the first tech.unplugged event in London (organised by Enrico Signoretti) which was a one day conference about enterprise IT infrastructure. The theme was “The Future of Enterprise IT: Technology and Strategies”. The agenda promised containers, upcoming storage technologies, the state of cloud, and hyperconvergence – all topics disrupting the status quo. The sessions will be made available online at the tech.unplugged site a few days after the event.

The stated goal was “not to replace traditional information channels and analysts, but to deliver insight and information in a unique way….to assist IT decision makers by bringing them together with independent bloggers, industry vendors, and end users, and engaging in debates and open discussions on topics such as IT infrastructure, virtualization, cloud computing and storage”

Did it achieve it’s aims? Yes, I think so. It was more akin to a VMUG or TechFieldDay event with a 50/50 representation between independent bloggers and vendors whereas most conferences are very vendor led. My overall feel from the day was positive and enjoyable. The size of the audience (around 60 people) fostered an informal, interactive feel, largely helped by the two round tables. I worry slightly that it’s an echo chamber as half of the audience were the usual suspects/bloggers but maybe I’ve just been around too long. 🙂

docker
Containers continue to disrupt

The first session summed up the day for me as ‘containers’ are the ‘tech du jour’ both for developers and infrastructure admins. The speaker, Nigel Poulton, is the author of the deep dive Pluralsight course on Docker (which he reminded us of, plentifully) although it was pretty much ‘containers 101’. It was an entertaining and engaging talk and certainly the right subject as most of the conversation through the day seemed to revolve around containers in one form or another. If you haven’t already ‘grokked’ containers (as Nigel would say) start learning! Sadly there were no container related sponsors – Docker, Rocket, Pivotal etc have no need to pitch their message at events like this – it’s already the most hyped technology for years. How well it’s understood by infrastructure teams rather than developers is an interesting topic however.

The enterprise container conversation does remind me of the early days in ‘cloud’ – everyone is trying to work out how disruptive they’ll be, whether they’ll have a job in a few years, or whether’s it’s all hype. While focused on ‘cloud’ rather than containers this was also mentioned in Stephen Foskett‘s talk, another enjoyable session – ‘Is Cloud your next IT silo?’ (with a good writeup from Tim Hynes). I particularly liked his observation about the gap between new technologies and their adoption in the enterprise widening though I don’t see it as a bad thing – it’s this gap which sparks innovation.

cloud silo
Is ‘cloud’ your next silo?

Stephen’s talk was the starting point for the first round table discussion of the day from which my takeway was that cloud is indeed your next silo based on the discussions which were around legal implications of various cloud solutions, data sovereignty concerns, and technical barriers to migrations/portability (though Zerto’s Cloud Matrix is a step in the right direction). Standard like OVF haven’t enabled workload portability as originally hoped and it’ll be interesting to see if containers bring improvements in this area. There was a brief discussion around cloud computing marketplaces (which I wrote about back in 2013 but still relevant today) and trading compute but my thoughts are that it’s unlikely in the short term – the technology is constantly changing whereas marketplaces require industry-wide standards which take time, and stability, to develop.

Probably reflecting Enrico’s background in storage there was quite a bit of storage discussion both from sponsors and speakers. Chris Evans covered current architectures and trends in storage along with some practical things to consider when you’re next in the market for storage (covered briefly in this blogpost).Martin Glassborrow (better known as @storagebod) gave probably my favourite talk of the day for sheer entertainment titled ‘stop worrying about storage growth and manage it’. To sum it up – everyone lies! Just watch it when the presentations are available. I also learnt about a few sponsor’s solutions which I wasn’t familiar with previously;

  • Load Dynamix, who launched in EMEA just weeks before the event, tried to convince us that we need to profile our storage but they’re aiming at large enterprises spending millions on storage and I can’t help but feel they have a limited audience, albeit one who may well pay handsomely for the technology they offer.
  • Zadara Storage offer ‘cloud storage’ that you co-locate in your cloud providers datacentre (much like Netapp did back in 2012. The two have now partnered). This gives you increased control, isolation, and potentially performance – in my mind it bridges the gap between traditional on-premise storage and moving to a ‘service’ based cloud offering. Read Chris Evan’s thoughts on Zadara.
  • Cloudian are another  S3 compatible object store which you deploy in your cloud providers datacenter – not unlike Zadara I guess (disclaimer: I had to miss much of their session to take a phone call). Read Ray Lucchese’s thoughts on Cloudian.

Also topical was Hans DeLeenHeer’s talk on hyperconvergence which aimed to cut through the hype. Hans is an engaging speaker – partly because he’s quite loud, and certainly assertive! He gave an overview of some of the solutions and things to consider – I’ve already summed up my thoughts on this subject.

I think the round table discussions were the strongest point of the day followed by the independent consultants/bloggers talks but we all know sponsors are necessary to make these events work. Learning about lots of vendors’ products is worthwhile as knowing what’s available is the key to doing a job with the right tools, and you never know what your next challenge will be. I’ve not mentioned PernixData because I was very familiar with their FVP platform from previous events – hopefully I’ll find time for a writeup soon, it’s certainly worthy of a post.

Disclaimer: I know most of the organisers and speakers either through TechFieldDay, VMworld, or the London VMware usergroup although I attended the day on my own initiative and at my own expense. Thoughts are my own!