Docker Captain Take 5 — James Spurin

Docker Captains are select members of the community that are both experts in their field and are passionate about sharing their Docker knowledge with others. “Docker Captains Take 5” is a regular blog series where we get a closer look at our Captains and ask them the same broad set of questions ranging from what their best Docker tip is to whether they prefer cats or dogs (personally, we like whales and turtles over here). Today, we’re interviewing James Spurin who recently joined the Captain’s Program. He is a DevOps Consultant and Course/Content Creator at DiveInto and is based in Hertfordshire, United Kingdom. Check out James’ socials on LinkedIn and Twitter!

How/when did you first discover Docker?

I’m part of the earlier ISP generation, so my early career involved working at Demon Internet, one of the first internet providers in the UK back in 1998-2000.

Back then, it was cool to host and serve your personal ISP services on your own managed system (generally hidden in a cupboard at home and served via a cable modem to the world) for the likes of Web/DNS/Email and other services.

Whilst times have changed, and I’ve moved to more appropriate cloud-based solutions for essential services and hosting, I’ve always been passionate about cosplaying with systems administration. A friend with the same passion recommended linuxserver.io to me. It’s a great resource that manages and maintains a fleet of common Docker images.

I transitioned many of the services I was manually running to Docker, either using their images or their Dockerfiles as a reference for learning how to create my own Docker images.

If you’re looking for a great way of starting with Docker, I highly recommend looking at the resources available on linuxserver.io.

The advice we would share with new starters back in my early ISP career days was to create and self-host an ISP in a box.

In essence, we’d combine a Web Server (using Apache at the time), Email (using Exim), and a DNS server (using Bind), alongside a custom domain name, to make it available on the internet. It provided a great learning opportunity for understanding how these protocols work.

Today my advice would be to try this out, but also with Docker in the mix!

What is your favorite Docker command?

My favorite Docker command would be docker buildx. With the growth of arm architecture, docker buildx is an excellent resource that I rely on tremendously. Being a content creator I leverage Docker extensively for creating lab environments that anyone can utilize with their own resources. See my “Dive Into Ansible” repository for an example that utilizes docker-compose and has had over 250k pulls.

Just a few years ago, building images for arm alongside AMD64 could have been considered a niche in my area. Only a tiny percentage of my students were using a Raspberry Pi for personal computing.

These days, however, especially with the growth of Apple Silicon, cross-built images are much more of a necessity when providing community container images. As a result, Buildx is one of my favorite CLI Plugins and is a step I consider essential as a milestone in a successful Docker project.

What is your top tip for working with Docker that others may not know?

Consider Dockerfiles (or automated image builds) and guided instructions as a standard part of your projects from Day 1. Your users will thank you and your likelihood of open source contributors will grow.

Take, for example, the Python programming language. When browsing GitHub/Gitlab for Python projects, it’s common to see a requirements.txt file with dependencies related to the project.

The expectation is then for the consumer to install dependencies via pip. An experienced developer may utilize virtual environments, whereas a less experienced developer may install this straight into their running system (thus, potential cross-contamination).

Whilst Python 3+ is the standard for most common Python projects, there may be nuances between a version of Python locally installed and that used within a codebase. We should also consider that some dependencies require compilation, which presents another obstacle for general usage, especially if the likes of Developer Compilation Tools aren’t available.

By providing a Dockerfile that utilizes a trusted Python image and offering automated prebuilt images using the likes of DockerHub in conjunction with GitHub/Gitlab (to trigger automated builds), individuals can get involved and run projects as a single command in a matter of minutes. Such efforts also provide great reuse opportunities with Kubernetes, CI/CD pipelines, and automated testing.

What’s the coolest Docker demo you have done/seen?

The Flappy Moby efforts that took place at KubeCon Valencia. I liked this so much that I captured this at the time and created a video!

The project was novel; after all, who doesn’t love these types of games? It was a fantastic showpiece at the event. As a content creator and someone who has worked on creating games to demonstrate and teach technical concepts, I was also very appreciative of the efforts involved around the graphical elements to bring this to life.

Seeing Docker Desktop extensions in action inspired my own Docker Desktop extension journey and follow-ups. When I returned from Kubecon, I created a Docker Desktop extension that instantly provides an Ansible-based lab with six nodes and web terminals. Check out the related video of how this extension was made!

What have you worked on in the past six months that you’re particularly proud of?

I created a free Kubernetes Introduction course available on YouTube and Udemy which is receiving an incredible amount of views and positive feedback. This was a very personal project for me that focused on community giveback.

When I first started learning Kubernetes there were areas that I found frustrating. Learning resources in this space often show theoretical overviews of core Kubernetes architecture but lack hands-on demonstrations. I made this course to ensure that anyone could get a good understanding of Kubernetes alongside hands-on use of the essential components in just one hour.

The course also provided me with a unique opportunity to share perspectives on overlooked areas relating to Docker Inc. For example, I cover the positive efforts made by Docker to Cloud Native with their contributions of containerd and runC to the Cloud Native Computing Foundation and the Open Container Initiative, respectively.

It was a pleasure to work on a project that covered many of my favorite passions in one go, including, Kubernetes, Docker, Cloud Native, content, and community.

What do you anticipate will be Docker’s biggest announcement this year?

I’ve already mentioned this above, but it’s Docker Desktop extensions for me. When considered alongside Docker Desktop (now native for Windows, Mac, and Linux), we have a consistent Docker Desktop environment and Extension platform that can provide a consistent development resource on all major OS platforms.

What are some personal goals for the next year with respect to the Docker community?

My aims are focused on community, and I’m already working on content that will heavily emphasize Docker in conjunction with Kubernetes (there’s so much opportunity to do more with the Docker Desktop Kubernetes installation.) As the tagline in the Docker Slack announcement channel says… Docker, Docker, Docker!!!

What was your favorite thing about DockerCon 2022?

Community. While watching the various talks and discussions, I was active in the chat rooms.

The participants were highly engaged, and I made some great connections with individuals who were mutually chatting at the time.

There were also some very unexpected moments. For example, Justin Cormack and Ajeet Singh Raina were using some interesting vintage microphones that kicked off some good chat room and post-event discussions.

Looking to the distant future, what is the technology that you’re most excited about and that you think holds a lot of promise?

A technology that has blown my mind is Dall-E 2, an AI solution that can automatically create images based on textual information. If you haven’t heard of this, you must check this video out.

It’s possible at the moment to try out Dall-E Mini. Whilst this isn’t as powerful as Dall-E 2, it can be fun to use.

For example, this is a unique image created by AI using the input of “Docker”. Considering that this technology is not re-using existing images and has learnt the concept of “Docker” to make this, it is truly remarkable.

Rapid fire questions…

What new skill have you mastered during the pandemic?

Coffee is a personal passion and a fuel that I both depend upon and enjoy! The Aeropress is a cheap, simple, and effective device with many opportunities. I’ve explored how to make a fantastic Aeropress coffee, and I think I’ve nailed it! For those interested, check out some feeds from the Aeropress Barista Championships.

Cats or Dogs?

Cats. I have two, one named Whisper Benedict and the other named Florence Rhosyn. Whisper is a British Blue, and Flo is a British Blue and White. At the time, we only intended to get one cat, but the lady at the cattery offered us Flo at a discount, and we couldn’t resist.

The lady at the cattery was a breeder of British Blues and British Whites, and the Dad from the Blues had snuck in with the Mum of the Whites; alas, you can guess what happened. This gives Flo her very unique mottled colors.

The two of them are extraordinary characters. Although Whisper is the brawn of the two and would be assumed to be the Alpha cat, he’s an absolute softie and doesn’t mind anybody picking him up.

On the other hand, what Flo lacks in physique, she makes up with brains and agility.

Both my children Lily (11) and Anwen (4) can hold Flo, and nothing will happen. They’ve all grown up together, and it’s as if she knows that they are children. However, should you try to pick her up as an adult, you’re not getting away unscathed. Flo also seems to have this uncanny ability to know when we’re intending on taking her to the vets, even without a carry basket in sight!

Despite their characteristics, we wouldn’t have our furry family members any other way.

Salty, sour, or sweet?

Sweet!

Beach or mountains?

Beaches (with some favouritism towards Skiathos) please!

Your most often used emoji?

🚀
Quelle: https://blog.docker.com/feed/

Die mobile App der AWS-Konsole unterstützt Cost-Explorer-Service

Benutzer der mobilen App der AWS-Konsole können jetzt AWS Cost Explorer sowohl für die iOS- als auch für die Android-Anwendung verwenden. Die mobile App der Konsole bietet eine sichere Lösung für unterwegs, um AWS-Kosten und -Nutzung im Zeitverlauf zu visualisieren, zu verstehen und zu verwalten. Die Kunden können die Gesamtkosten und die Nutzung in allen Regionen und Services für die letzten acht Wochen analysieren, Trends erkennen, Kostentreiber ausfindig machen und Anomalien aufdecken.
Quelle: aws.amazon.com

AWS IoT Greengrass v2 aktualisiert Stream Manager, um neue Telemetriemetriken und mehr anzuzeigen

AWS IoT Greengrass ist ein Edge-Laufzeit- und Cloud-Service für das Internet of Things (IoT), der Kunden beim Erstellen, Bereitstellen und Verwalten von Gerätesoftware unterstützt. Wir freuen uns, die Version 2.7 mit den folgenden Funktionen ankündigen zu können:

Verbesserungen bei der Systemtelemetrie – Die Stream -Manager-Komponente für Kundendienstmitarbeiter kann nun (standardmäßig aktiviert) Systemtelemetriemetriken an Amazon EventBridge senden. Systemtelemetriedaten sind Diagnosedaten, mit denen du die Leistung kritischer Vorgänge auf deinen zentralen AWS-IoT-Greengrass-Geräten überwachen kannst. Du kannst Projekte und Anwendungen erstellen, um Telemetriedaten von deinen Edge-Geräten abzurufen, zu analysieren, umzuwandeln und zu melden. Fachexperten, wie z. B. Process Engineers, können mit diesen Anwendungen auf der Grundlage von Gerätedaten, die über Stream Manager zu AWS-Services wie Amazon Kinesis, Amazon Simple Storage Service (Amazon S3), AWS IoT Analytics, AWS IoT SiteWise und anderen hochgeladen werden, Einblicke in den Status ihrer Flotte gewinnen. Weitere Informationen findest du im Abschnitt Erfassen der Systemtelemetrie im Entwicklerhandbuch.
Verbesserungen bei der lokalen Bereitstellung – Mit den neuen Verbesserungen kann der AWS-IoT-Greengrass-Kern jetzt nahezu in Echtzeit Aktualisierungen des Bereitstellungsstatus an den AWS-IoT-Greengrass-Cloud-Service senden. Mit der ListInstalledComponents-API können Kunden zum Beispiel den Status der lokal installierten Komponenten für ein verbundenes Gerät einsehen.
Zusätzliche Unterstützung für Client-Zertifikate – Jetzt werden auch Zertifikate unterstützt, die von einer benutzerdefinierten Zertifizierungsstelle (CA) signiert wurden, die nicht bei AWS IoT registriert ist. So kann der Kunde flexibel eine benutzerdefinierte Zertifizierungsstelle verwenden, die nicht bei AWS IoT registriert ist. Um diese Funktion zu nutzen, kannst du die neue greengrassDataPlaneEndpoint-Konfigurationsoption auf „iotdata“ festlegen. Weitere Informationen findest du unter Ein von einer privaten Zertifizierungsstelle signiertes Gerätezertifikat verwenden.

Quelle: aws.amazon.com

Amazon SageMaker Pipelines unterstützt jetzt die kontoübergreifende Freigabe von Pipeline-Einheiten

Sie können jetzt Amazon SageMaker Model Building Pipelines mit AWS Resource Access Manager (AWS RAM) verwenden, um Pipeline-Einheiten über mehrere AWS-Konten hinweg sicher freizugeben und über direkte API-Aufrufe auf gemeinsame Pipelines zuzugreifen. Bei einer Multi-Account-Strategie kann eine Daten-, Projekt- und Teamisolation erreicht werden, während gleichzeitig die Schritte des Softwareentwicklungslebenszyklus unterstützt werden. Die kontoübergreifende Pipeline-Freigabe kann eine Multi-Account-Strategie unterstützen, bei der Benutzer sich nicht umständlich in mehreren Konten an- und abmelden müssen. Die kontoübergreifende Pipeline-Freigabe kann das Machine-Learning-Testen und Bereitstellungs-Workflows verbessern, indem Ressourcen über mehrere Staging- und Produktionskonten hinweg freigegeben werden.
Quelle: aws.amazon.com