Docker Hub Incident Reviews – April 3rd and 15th 2021

In line with our promise last year to continue publishing incident reviews for Docker Hub, we have two to discuss from April. While many users were unaffected, it is important for us to be transparent with our community, and we hope it is both informative and instructive.

April 3rd 2021

Starting at about 07:30 UTC, a small proportion of registry requests (under 3%) against Docker Hub began failing. Initial investigation pointed towards several causes, including overloaded internal DNS services and significant and unusual load from several users and IPs. Changes were made to address all of these (scaling, blocking, etc), and while the issue seemed to resolve for several hours at a time, it continued coming back.

The issue re-occurred intermittently into the next day, at which point the actual root cause was determined to be under-scaled load balancers doing service discovery and routing for our applications. 

In the past, the bottleneck for the load balancing system was network bandwidth on the nodes, and auto scaling rules were thus tied to bandwidth metrics. Over time and across some significant changes to this system, the load balancing application had become more CPU intensive, and thus the current auto scaling setup was poorly equipped to handle certain scenarios. Due to the low traffic on the weekend, the system was allowed to scale too low, to the point where CPU became overloaded even though bandwidth was fine. In fact the high CPU load also lead to gaps in metrics reporting from those nodes, which further confirmed the theory:

Upon recognizing this, the deployment was manually scaled and the incident resolved at about 20:50 UTC on April 4th.

April 15th 2021

At 17:46 UTC, a change to the registry service was made that scaled up a new version and scaled down an old version. The configuration for our service discovery system needed to be updated to recognize this new version, but the changes were deployed in the wrong order. As such, our load balancers were unaware of any valid backends to serve Docker Hub registry traffic, and registry requests were met with a 503 error response.

The error in deployment was immediately recognized, and the configuration change for service discovery was quickly pushed. The error was resolved by 18:06 UTC.

Learnings and Improvements

With both incidents, we learned that we need more detailed and responsive monitoring for the registry pull request flow. We have already bolstered our internal monitoring to more quickly pick up these scenarios. In addition, while Hub endpoints are monitored externally, they are largely monitored in isolation – for example, checking that the registry API returns a valid response. Work is in progress to more exhaustively test the whole “docker pull” flow involving multiple API calls to multiple services, and from multiple external vantages, which would more quickly pick up on these types of issues.

For the earlier incident, we also made large changes to our load balancing deployment. Autoscaling rules were changed to reflect current bottlenecks (CPU), instance types were changed, and minimum instance counts were set higher. Metrics and alerting were updated to more quickly detect the issue, including looking for gaps in metrics. In the future, load testing for large changes will look at all metrics to determine whether the “bottleneck” attribute has changed.

As always, we take the availability of Docker Hub very seriously. We know millions of developers rely on Hub to get work done and to provide images for production workloads, and as such have made large investments in the reliability of Hub over the past several years. For example, the latter incident was resolved so easily and quickly in part due to better deployment automation built in the last year. We apologize for these incidents, and have taken action to ensure they don’t happen again.
The post Docker Hub Incident Reviews – April 3rd and 15th 2021 appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

DockerCon LIVE 2021 Keynotes

Join us for DockerCon LIVE 2021 on Thursday, May 27. DockerCon LIVE is a free, one day virtual event that is a unique experience for developers and development teams who are building the next generation of modern applications. If you want to learn about how to go from code to cloud fast and how to solve your development challenges, DockerCon LIVE 2021 offers engaging live content to help you build, share and run your applications. Register today at https://dockr.ly/2PSJ7vn

With DockerCon just around the corner, we’re pleased to announce our outstanding keynote speaker line-up.

Among the Docker luminaries taking the virtual stage May 27 will be CEO Scott Johnston, CTO Justin Cormack and VP of Products Donnie Berkholz. Look for keynotes, too, from special guests Dana Lawson, GitHub VP of Engineering, and Matt Falk, VP of Engineering, Data Science and Computer Vision at Orbital Insight.

Picking up hosting duties will be Docker’s Peter McKee and William Quiviger, along with DevOps consultant and Docker Captain Bret Fisher.

They’re just part of the one-day event packed with demonstrations, product announcements, company updates and more — all of it focused on modern application delivery in a cloud-native world.

Last year 78,000 registrants from nearly 200 countries signed up for DockerCon. We’re betting DockerCon 2021 will go even bigger. After all, what you’ll learn here has real and immediate real-world value. The speakers, technical demos, tools and learnings will zero in on practical problems developers like you face every day — such as how to get the most value out of your development lifecycle, acquire new skills and develop your applications faster.

One thing’s for sure: DockerCon 2021 will be an experience unlike any other, full of engaging live content and all of it FREE! And if your schedule prevents you from participating live, you can watch recordings at your own pace.

So be sure to attend DockerCon 2021 to see how Docker helps make it easy for you to focus more of your time on actually coding the next great application: from code to cloud.

The post DockerCon LIVE 2021 Keynotes appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Video: How to Dockerize a Python App with FastAPI

Join host Peter McKee and Python wizard Michael Kennedy for a warts-and-all demo of how to Dockerize a Python app using FastAPI, a popular Python framework. Kennedy is a developer and entrepreneur, and the founder and host of two successful Python podcasts — Talk Python To Me and Python Bytes. He’s also a Python Software Foundation Fellow.

With some skillful back-seat driving by McKee, Kennedy shows how to build a bare-bones web API — in this case one that allows you to ask questions and get answers about movies (director, release date, etc.) — by mashing together a movie service and FastAPI. Next, he shows how to put it into a Docker container, create an app and run it, finally sharing the image on GitHub.

If you’re looking for a scripted, flawless, pre-recorded demo, this is not the one for you! McKee and Kennedy iterate and troubleshoot their way through the process — which makes this a great place to start if you’re new to Dockerizing Python apps. Install scripts, libraries, automation, security, best practices, and a pinch of Python zen — it’s all here. (Duration 1 hour, 10 mins.)

Join Us for DockerCon LIVE 2021  

Join us for DockerCon LIVE 2021 on Thursday, May 27. DockerCon LIVE is a free, one day virtual event that is a unique experience for developers and development teams who are building the next generation of modern applications. If you want to learn about how to go from code to cloud fast and how to solve your development challenges, DockerCon LIVE 2021 offers engaging live content to help you build, share and run your applications. Register today at https://dockr.ly/2PSJ7vn
The post Video: How to Dockerize a Python App with FastAPI appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Community Rooms at DockerCon LIVE 2021

The Docker community spans the four corners of the world. To celebrate the global nature of our community at DockerCon this year, we’ve created something new: Community Rooms.

Building on the learnings of our “regional rooms experiment” during our last Community All-Hands, Community Rooms are virtual spaces that DockerCon attendees will be able to join to discuss, share and learn about Docker in their own language and/or around a specific topic area. 

100% LIVE

The main focus of these Community Rooms is to bring people together and encourage interaction so we have set them up to be 100% live. Yep, that’s right, all the content you’ll find in these rooms, whether they’re talks, demos, workshops, panel discussions etc. will be in real-time, all broadcast over a live Zoom link. 

Hosted by the Community for the Community

Each Community Room will be overseen by Docker Captains and Community Leaders. They will be responsible for every aspect of the room, from the curation of content, to the management of the schedule, to the recruitment of the speakers, to the moderation of their room’s live chat. 

There will be seven community rooms to choose from, each with one or several hosts: 

Japan Room (language: Japanese / hosted by Akihiro Suda) Brazil Room (language: Portuguese / hosted by Lucas Santos and Rafael Gomes)Spanish Room (language: Spanish / Manuel Morejon, Javier Ramirez and Marcos Lilljedahl)French Room (language: French / hosted by Rachid Zarouali, Luc Juggery and Kevin Alvarez)German Room (language: German / hosted by Nicholas Dille and Nana Janashia)WSL2 Room (language: English / hosted by Nuno do Carmo)Docker for Super Beginners Room (language / hosted by Julie Lerman and Rachid Zarouali) 

Managing time-zones

We’re mindful that for a good portion of the world, the sun will have already set by the time DockerCon begins at 9am Pacific Time. To accommodate for this Community Rooms will be accessible for 24 hours from the event kick-off, ensuring all time zones are covered. For example, to factor in the 14 hour time difference with Japan, sessions in the Japan Room will take place *after* DockerCon is effectively over.  

Interested in speaking in a Community Room?

If you’re interested in participating in one of these rooms, whether it’s giving a talk about a cool project you’re working, or running a workshop or doing a mind-blowing demo, don’t hesitate to fill out this submission form. If you have any questions or if you want to know more about a specific Community Room, please feel free to contact one of the hosts mentioned above. 

Stay tuned!

In about two weeks we’ll publish the final schedule for each room. We’re really excited about DockerCon LIVE 2021 and we hope these community rooms will bring together as many people from the community from as many parts of the world as possible.

And May the 4th be with you. 

Join Us for DockerCon LIVE 2021  

Join us for DockerCon LIVE 2021 on Thursday, May 27. DockerCon LIVE is a free, one day virtual event that is a unique experience for developers and development teams who are building the next generation of modern applications. If you want to learn about how to go from code to cloud fast and how to solve your development challenges, DockerCon LIVE 2021 offers engaging live content to help you build, share and run your applications. Register today at https://dockr.ly/2PSJ7vn
The post Community Rooms at DockerCon LIVE 2021 appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

10 Reasons to Attend DockerCon LIVE 2021

DockerCon Live 2021 is almost here and it’s going to be one to remember. Our one-day, all-digital event on May 27 will be jam-packed with the application development technology, skills, tools and people you need to help solve the problems you face day to day — all for free.

Designed for developers by developers, this year’s event is all about modern application delivery in a cloud-native world. At DockerCon, you’ll learn how Docker helps you grow your development capacity and community connections so you can accelerate how you build, share and run your applications, and spend more of your time actually coding the next great application.

Ten Reasons to Attend

Get the scoop. Be the first to see the latest Docker innovations, features and technology updates.Hear from industry leaders. In addition to Docker’s executive team, the speaker lineup includes AWS, Cockroach Labs, Instana, Mirantis, Accurics, Snyk and other companies that will share how Docker is an integral part of their software supply chain.Get up close. See live, on-demand technical demos.Connect. Network with peers and a vibrant community of developers, and connect with Docker Captains and Community Leaders.Learn. Attend tutorials on how to get started with containers and how to use multiple languages.Be in the know. Check out the latest partner solutions and integrations, including what’s new with tools and partner integration.Share. Trade experiences with developers like you about creating leading-edge cloud-native applications for any cloud environment.Interact. Talk to a panel of experts and industry leaders who have solved the same problems you’re facing.Get up to speed. Learn about Docker’s built-in security for images and more.Absorb. Get tips and insights about best practices from innovative organizations that are building next-generation applications with Docker.

If you’re a developer or part of a development team that’s building the next generation of modern applications, DockerCon is for you. Software developers, application developers, engineering directors, dev managers, chief architects, cloud architects — all are welcome.

Content is targeted for all levels, whether you’re new to Docker or advanced. Can’t attend live? No problem — you can watch recordings after the event at your own pace to fit your schedule.

But first you have to register. 

Join Us for DockerCon LIVE 2021  Join us for DockerCon LIVE 2021 on Thursday, May 27. DockerCon LIVE is a free, one day virtual event that is a unique experience for developers and development teams who are building the next generation of modern applications. If you want to learn about how to go from code to cloud fast and how to solve your development challenges, DockerCon LIVE 2021 offers engaging live content to help you build, share and run your applications. Register today at https://dockr.ly/2PSJ7vn
The post 10 Reasons to Attend DockerCon LIVE 2021 appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

DockerCon LIVE 2021: One Month Before Lift Off

WIth exactly one month before lift off, here’s a quick update on all the goodness that awaits you at this year’s DockerCon LIVE 2021. Like last year, we’ll have one full day of keynotes, breakout sessions across several tracks and live panels and interviews. The current agenda and full list of speakers is available on our website.  

Engaging in real-time

A big focus is live content and interaction between speakers and attendees. Our partners at The Cube have worked hard on improving their conference platform and expanding on functionality, so get ready for more real-time content and awesome new features to help speakers and attendees connect, meet, greet, share and learn from each other. 

Keynotes

To help set the stage, that day kick’s with must-see keynotes from Docker leadership and compelling guest speakers. We’ll have a special post about our keynote line-up on our blog soon.

Breakout sessions

We’re still building out the schedule (yes, that’s what happens when you have so much awesome content to work with!) but we anticipate that we’ll have at least 40 breakout sessions with an absolutely stellar line-up of speakers. You can find the current list of speakers here and the agenda here.

Live Panels

This year we want to put more emphasis on the word “live” in “DockerCon LIVE”. We’ll be hosting several live panels (yep, in real time!) hosted by Docker’s Head of Developer Relations, Peter McKee and Docker Captain Extraordinaire, Bret Fisher. These panels will cover a range of topics in depth, from security, to the future of container development, to running containers without infrastructure. 

Community Rooms

Building on last year’s awesome Captains on Deck track, we’re expanding on the idea and broadening the scope even further by introducing “Community Rooms”. These rooms will be virtual spaces for attendees to come together to present, demo, discuss content about Docker in their own language and/or around a specific thematic area, and in real time. For example, we’ll have a “Brazil Room” for the Portuguese-speaking community to present and talk about all things Docker in Portuguese, while the “WSL2 room” will provide a space for the attendees to present and discuss anything related to WSL2. Each room will be chaired by one or several Docker Captains and will offer 100% live content and interaction. (Stay tuned for more on this in an upcoming blog post).  

The Cube Channel

Like last year, we’ll have a dedicated track for theCUBE’s John Furrier to go behind the scenes to give exclusive interviews with keynote speakers, community leaders and ecosystem partners throughout the day.

Join Us for DockerCon LIVE 2021  Join us for DockerCon LIVE 2021 on Thursday, May 27. DockerCon LIVE is a free, one day virtual event that is a unique experience for developers and development teams who are building the next generation of modern applications. If you want to learn about how to go from code to cloud fast and how to solve your development challenges, DockerCon LIVE 2021 offers engaging live content to help you build, share and run your applications. Register today at https://dockr.ly/2PSJ7vn
The post DockerCon LIVE 2021: One Month Before Lift Off appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

LinuxKit as a Commodity for Building Linux Distributions

Guest post by Docker Captain Gianluca Arbezzano

Recently Corey Quinn from LastWeekInAWS wrote an article that made me think “Nobody Cares About the Operating System Anymore”. Please have a look at it! I like the idea that nobody cares about where their application runs. Developers only want them running.

A bit of context about Tinkerbell

I am one of the maintainers for the Tinkerbell project. A bare metal workflows engine that heavily relies on containers and Docker to get its work done. It tries to find an answer for a reasonable question: how do we manage rooms of pieces of hardware? More in practice, how can we bring an API on top of everybody’s data centers?

Containers are the abstraction we decided to use when running reusable code (that we call actions) in somebody else’s hardware. Mainly because distribution, packaging, and runtime are solved issues. Everyone knows how to build, push and run a container.

I think this scenario compares well with the story Corey highlighted. Operating systems are an established, well-known abstraction for the majority of the use cases.

The special operating system for bare metal provisioning

The lifecycle of a bare metal server can be summarised as follows:

You mount SSDs, RAMs and you rack your server, cabling it with power and dataIf you have a BMC, you can remotely start the server. Otherwise, you have to push the power button manuallyThe BIOS looks for bootable devices, USBs, disks, but it can’t find anything to boot because the disk driver is not something that server has nowadays, and there are not operators running with USB sticks in modern datacentersUsually, the last chance a server has to boot when nothing works is via netbooting. A popular technology for that is called PXE (the new one iPXE).PXE makes a DHCP request; you can imagine it as the last SOS: “PLEASE tell me what to do.”If there is a DHCP listening, it can replay with a rescue message to simplify things with a script that PXE can execute.

Usually, the script contains boot information for an operating system, a Linux operating system that can run on RAM. For example, this is how you can Netboot Alpine.

Now the hardware has an ephemeral (on RAM) fully operational operating system. Tinkerbell distributes two of them, one called OSIE and the second one called Hook:

OSIE is the one ran by Equinix Metal internally to provision their entire cloud offerHook is a more recent one the Tinkerbell community develop using LinuxKit

OSIE or Hooks are essential for bare metal provisioning because they are the source of power for what you can do on the hardware itself. Tinkerbell starts a docker daemon, and it downloads and executes a set of actions (as you read Docker containers).

The actions all together build workflows that looks like:

Provisioning: flash and install the end is the operating system on the disk, so next boot, you can access Ubuntu, CentOS, CoreOS, or what you needDeprovision: you can wipe disks and make the server available for a next brand new use

This article is about why we choose LinuxKit, and I hope it will give you more information about when you should think about using it as well!

Nobody cares about the operating system, but you can not avoid one

As you can imagine reading briefly about Tinkerbell when it comes to bare metal provisioning, every bit counts because the hardware lifecycle is cold and not that fast. Stay in control of every step is crucial, from when the server power to when it makes the DHCP request when the hardware boots the in-memory operating system until you finally get what you want executed!

When it comes to operating systems and Linux maintaining a distribution is a lot of work! Even if it dedicated to a specific use case like the one we have to Tinkerbell (it is just a temporary execution environment that relays on Docker) we still have to take care of:

Compatibilities: there are many hardware devices, drivers, kernel modules, architecturesSize: the operating system runs on RAM, yeah it is not that expensive nowadays, but still, we have to be carefulNeeds: We can not assume that all the environments where Tinkerbell runs are the same. For example somebody will make like the idea to run an SSH server as part of the in memory environment because their server do not have a serial console and SSH is a good option for troubleshooting. Or they want to run agents for service discovery like Consul, or for monitoring like Telegraf to improve observability and monitoring. Or some scanner for security purposes.

We can’t make one that works for everything and everybody. That’s why with Hook we decided to adopt LinuxKit.

LinuxKit is now part of the Linux Foundation, initially developed by Docker specifically to release Docker for Mac. You can think about it as a Linux builder focused on containers.

You can add a program on boot as init, or as long-running services. The cool part is that everything runs as a container giving us the ability to package building blocks as Docker containers, leaving a clear path from end-user to build their environment, based on their needs reusing LinuxKit itself (if they want) and the building blocks we developed.

One of the building blocks I am referring to is a Docker container who overrides the logic used by LinuxKit to start the docker daemon. Along that it also starts what we call tink-worker. An agent who reaches out to the tink server obtaining the next workflow to run. You can think about them as api-server and kubelet for Kubernetes but instead of running pods tink-worker reaches out to the Docker daemon running actions such as:

streaming a new operating system to a particular diskformatting or partitioning a diskExecuting commands with a different chrootBut it can be every container, you can even run an action that notifies you on slack when your workflows reaches a certain point

LinuxKit provides facilities for multi-architecture and output format as well. We are working for ARM support, for example.

Being part of something bigger than ourselves

LinuxKit has a supportive community with docs, examples and even a Slack channel. End users of Tinkebell can make use of hundreds of people and maintainers dedicated to only building distros with LinuxKit. This makes the effort of maintaining Tinkerbell scoped to a reasonable size. Allowing us to stay strict to what matters most. Provisioning bare metal quickly.
The post LinuxKit as a Commodity for Building Linux Distributions appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

The Stars Are Aligning: Announcing our first round of speakers at DockerCon LIVE 2021

With just over a month to go before DockerCon LIVE 2021, we’re thrilled to announce our first round of speakers. We have returning favorites and compelling new first time speakers to round out your DockerCon experience. 

We received hundreds of amazing speaker proposals which made it difficult to select just a few. We set up a small team this year composed of seven Docker staff members and three Docker Captains to diligently review each proposal and deliberate once a week. We have more speakers and sessions to announce so stay tuned. 

Remember, if you haven’t registered for DockerCon, please make sure to do so now to get an early peak at the conference website.

Melissa McKay – Developer Advocate @ JFrogThe Docker and Container Ecosystem 101

Lukonde Mwila – Senior Software Engineer @ EntelectDocker Swarm: A Journey to the AWS Cloud

Peter Mckee – Head of Developer Relations @ DockerEvent Emcee and Panel Moderator

Bret Fisher – DevOps Consultant and Docker CaptainPanel Moderator

Julie Lerman – Software Coach and Docker CaptainPanel Member

Nick Janetakis – Full-Stack Developer and Docker CaptainBest Practices around Creating a Production Ready Web App with Docker and Docker Compose

Anuj Sharma – Software developer Engineer @ AWSMigrate and Modernize applications with a consistent developer experience

Matt Jarvis – Senior Developer Advocate @ SnykMy container image has 500 vulnerabilities, now what?

Alex Iankoulski – Principal Solutions Architect @ AWS and Docker CaptainDeploy and Scale your ML Workloads with Docker on AWS

Jacob Howard – Founder @ Mutagen and Docker CaptainA Pragmatic Tour of Docker Filesystems

Michael Irwin – Application Architect @ Virginia Tech and Docker CaptainWrite Once, Configure to Deploy Anywhere

Benjamin De St Paer-Gotch – Principal Product Manager @ DockerDev Environments – Ben De St Paer-Gotch

Join Us for DockerCon LIVE 2021

Join us for DockerCon LIVE 2021 on Thursday, May 27. DockerCon LIVE is a free, one day virtual event that is a unique experience for developers and development teams who are building the next generation of modern applications. If you want to learn about how to go from code to cloud fast and how to solve your development challenges, DockerCon LIVE 2021 offers engaging live content to help you build, share and run your applications. Register today at https://dockr.ly/2PSJ7vn

The post The Stars Are Aligning: Announcing our first round of speakers at DockerCon LIVE 2021 appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/