Red Hat automation glossary

Automation is an increasingly strategic necessity as organizations of all sizes strive to deliver value faster while solving IT and business workflow challenges.  Here we offer a quick glossary of automation terms, including links where you can dive in deeper to learn more.
Quelle: CloudForms

A Successful Blogger on Making the Switch

After Kyla Marie Charles grew a successful blog on Blogger for 10 years and made her mark as an influencer, she realized her website was no longer able to support her needs. She began the search for her next platform and discovered WordPress.com. 

“I started to become limited by the features that Blogger offered since starting my own podcast and my growing community with #MomChatMonday,” she writes. When she started out, she needed a platform that was quick and simple to navigate: her own corner of the web for her sporadic recipes. As her site and audience grew, she needed a better solution for her blossoming online community, as well as ecommerce options to help her expand even more. “After all that time and hard work, I didn’t want to keep stifling the ideas that I finally felt capable of taking on professionally.”

Leaving her old platform, Kyla transitioned to WordPress.com — on the WordPress.com Business plan — and discovered she now has infinite possibilities. She has a home for an official #MomChatMonday community, her podcast, and a variety of blog content from recipes, DIY projects, and posts on motherhood. As she ponders her future, she isn’t certain what her next steps are, but she’s excited to do it on WordPress.com. “My new blog,” she writes, “is up for the challenge.”

Photo Credit: Kyla Marie Charles

How Kyla switched to WordPress.com

Building and launching your website can be an incredibly exciting time, whether you’re a blogger sharing your ideas and establishing your brand or a business owner selling your products and services worldwide. But what happens when you’ve outgrown your current platform? Here’s how you can make the switch to WordPress.com, and a few features to consider as you build your new online home.

Import your content: People come to WordPress.com from different places on the web, and we have various importers that do much of the heavy lifting for you. Coming from Blogger like Kyla? Here’s the Blogger importer guide.Set up essential pages: Have some fun drafting a new About page like Kyla. Find inspiration from pre-designed page layouts built with blocks to build other evergreen pages like a Services or FAQs page, or a simple Contact page to connect with your audience or start generating leads immediately. Take advantage of our ecommerce features: Collecting monthly payments? Offering writing workshops? Thinking of setting up a premium service? Kyla, for example, has pondered the idea of launching a book club, offering exclusive access to members. Once your site is migrated and you’re ready to earn money, you can use the Payments block on a site with a paid WordPress.com plan.

Is it time for you to make the switch? Let’s get down to business.
Quelle: RedHat Stack

Windows Server container users: Mirantis is here to support you

In coordination with Microsoft, today we are announcing that in September 2022, access and support for the Mirantis Container Runtime (formerly Docker Engine – Enterprise) will transition fully to Mirantis. If you’re currently using Windows Server containers, rest assured that they will continue to function the same as before. The main difference is that support, … Continued
Quelle: Mirantis

Manage Capacity with Pub/Sub Lite Reservations. It’s easier and cheaper.

If you need inexpensive managed messaging for streaming analytics, Pub/Sub Lite was made for you.  Lite can be as much as 10 times cheaper than Pub/Sub.  But, until now, the low price came with a lot more work. You had to manage the read and write throughput capacity of each partition of every topic.  Have 10 single-partition topics? Make sure you watch 10 write and another 10 read capacity utilization metrics or you might run out of capacity.Hello, ReservationsWe did not like this either. So we launched Pub/Sub Lite Reservations to manage throughput capacity for many topics with a single number.  A reservation is a regional pool of throughput capacity.  The capacity can be used interchangeably for read or write operations by any topic within the same project and region as the reservation. You can think of this as provisioning a cluster of machines and letting it handle the traffic.  Except instead of a cluster, there is just a single number. Less work is great, of course. It is even better when it saves you money.  Without reservations, you must provision each topic partition for the highest peaks in throughput.  Depending on how variable your traffic is this can mean that half or more of the provisioned capacity is unused most of the time. Unused, but not free. Reservations allow you to handle the same traffic spikes with less spare capacity.  Usually, the peaks in throughput are not perfectly correlated among topics. If so, the peaks in the aggregate throughput of a reservation are smaller, relative to the time average, than the peaks in individual topics.  This makes for less variable throughput and reduces the need for spare capacity. As a cost-saving bonus, reservations do away with the explicit minimum capacity per partition. There is still a limit on the number of partitions per reservation. With this limit, you pay for at least 1 MiB/s per topic partition.  This is not quite “scale to zero” of Pub/Sub, but beats the 4 MiB/s required for any partition without reservations.An IllustrationSuppose you have three topics with traffic patterns that combine a diurnal rhythm with random surges.  The minimum capacity needed to accommodate this traffic is illustrated below.“Before” you provision for the spikes in each topic independently. “After,” you aggregate the traffic, dampening most peaks.  In practice, you will provision more than shown here to anticipate the peaks you haven’t seen.  You will also likely have more topics. Both considerations increase the difference in favor of reservations. Are Reservations Always Best?For all the benefits of shared capacity, it has the “noisy neighbor” problem.  A traffic peak on some topics can leave others without capacity.  This is a concern if your application critically depends on consistent latency and high availability.  In this case, you can isolate noisy topics in a separate reservation. In addition, you can limit the noise by setting throughput caps on individual topics. All in all, if you need to stream tens of megabytes per second at a low cost, Lite is now an even better option. Reservations are generally available to all Pub/Sub Lite users.  You can use reservations with existing topics. Start saving money and time by creating a Pub/Sub Lite reservation in the Cloud Console and let us know how it goes at pubsub-lite-helpline@google.com.
Quelle: Google Cloud Platform

Google Cloud Vertex AI + Battlesnake: Using practical reinforcement learning to defeat your friends

How do you like to learn a new skill? Read books? Take a course? Try to build something? We are a small group of Customer Engineers who, with no formal background in machine learning, who decided to learn about reinforcement learning by entering Battlesnake, an online survival game where our trained agent would cut its teeth against competitors around the world. Our project was fueled by Vertex AI, Google Cloud’s machine learning platform, and we share our process and lessons learned here in the hope it may inspire you to also learn by doing.Let’s consider a different approach utilizing the construct of a game to evaluate new technology and learn new skills.  Enter the arenaBattlesnake isn’t your indestructible Nokia candy bar CDMA phone snake game. This isn’t even an updated Google Snake spin off (but do try and get the secret rainbow snake), this is something very different and much more useful.On the surface, Battlesnake seems like a simple game with a small number of basic rules:Don’t run into walls or other snakesDon’t starveDon’t get eaten by another snakeOnce you break through the basic premise, you’ll soon realize it is a lot more complicated than that.There are many ways to build and place your own battlesnake into a competition. Depending on your team’s experience level you may want to try out one of the starter projects that Battlesnake makes available.  Alternatively, you may want to start wading into the deeper end of the competitive pool and enhance your snake with health-based heuristics models or cannonball into the pool using a reinforcement learning approach.The approach we took to our first competition was to hedge our bets a little – get something into competition quickly and gather some data to iterate on, then explore improvements on the initial snake performance through a series of ML model tweaks; ultimately building a reinforcement learning model that we were sure was going to win (in the most virtuous and collaborative sporting way of course).  More on results later but here is walkthrough of how our architecture and development progressed:Introduction to reinforcement learningReinforcement learning (often referred to as RL) has had a long history as a way to build AI models. From games like chess, Go and Starcraft II to more industry specific problems like manufacturing and supply chain optimization, reinforcement learning is being used to build best in class AI to tackle increasingly difficult challenges. For those unfamiliar with RL, here is a quick primer:Traditionally, machine learning models learn to make predictions based on massive amounts of labeled example data. In RL, agents learn through experimentation..Each iteration is scored based on a reward function. As an example for Battlesnake, a basic set of rewards might be a 1 for winning and a -1 for losing. The rewards are fed into the model so that it “learns” which moves earn the highest reward in any given scenario. Similar to humans learning to not touch a hot stove, the model learns that running a snake head first into a wall will produce a negative reward and the model will remember not to do that (most of the time). For complex systems this reward structure might consist of dozens of different inputs that help to shape the reward based on the current state of the overall system.Our team did not have a classically trained machine learning expert but we did have enough expertise to take some concepts that we learned from others who had attempted this approach and apply them using Google Cloud’s Vertex AI platform.How wecharmedtrained our snakeOne of the key starting areas for building a RL model is to set up an environment that knows how to play the game. OpenAI’s gym toolkit provides an easy way for developers to get started building RL models with a simple interface and many examples to start training  your model quickly. This allows you to focus purely on the parts of the model that matter, like….For our Battlesnake competition, we had one week to build, train and test a snake before throwing it into the arena against our peers in a winner takes all tournament. Though traditional ML loops can take weeks or months to build, with the power and simplicity of Vertex AI, we made an end-to-end ML pipeline in a few hours. This velocity freed up several days to run training experiments and tune our model. Training on Vertex AI, in this case, started with a custom training job. Vertex AI allows you to specify your own training container (in our case we used Pytorch) to run any arbitrary training tasks on the Vertex AI managed infrastructure. Initial experimentation started in a basic Jupyter notebook hosted on Vertex AI but we quickly transitioned to a custom Docker container that was produced by Cloud Build on a push to our main source repository. We attempted to source our container image from multiple prebuilt images, but ultimately found that we were spending too much time working through conflicting dependencies which was slowing down our progress so we switched to a cleaner base image containing just the NVIDIA CUDA drivers.As we started to scale our training we converted our notebook into an ML pipeline using Vertex AI’s managed pipeline service. The workflow took advantage of the built in hyperparameter tuning service to automatically tune our model to perform as well as possible with minimal supervision from our team. Each training job ran for 2-4 hours before going into the evaluation phase. During evaluation we selected previous versions of the model to run simulated games against to see if the newly trained model performed better than previous versions. The winner of the evaluation battles was promoted to the top model and the new baseline for the next iteration of training. Our pipeline was triggered on demand to do additional training. This was usually after we loaded the new model into the snake in the global arena and observed its behavior. If we were taking this fully to production we would have used the data we captured about game win rates to intelligently trigger additional training if the model was starting to underperform.Deployment architectureWe deployed our top model to production using Vertex AI’s model serving infrastructure. The data sent from Battlesnake is a JSON document of all the current positions of the snakes, the food and any hazards that are on the board.Responses from our server were required to be completed in 500ms. Any snake that “timed out” responding to requests from the game would continue moving in the same direction that it was already traveling. Given the time constraint we took a two pronged approach to control our snake. Requests from Battlesnake first came to a web service deployed on Google App Engine. The App Engine server forwarded the request to the model server with a hard timeout of 300ms. Responses from the model were validated in the App Engine server as a last fail safe, in case the model responded with a move that was clearly invalid (move outside of the board, etc.). If the model service timed out, the App Engine server fell back on its own logic to produce a reasonable move.Data analysisOur snake played thousands of games within the Battlesnake ecosystem both in the public arena and our private tournament. Each game consisted of tens to hundreds of moves and produced a finite result. As part of our experimentation we captured all the messages sent from the Battlesnake platform and fed them via Pub/Sub to BigQuery to be used later for statistical analysis of our performance. As mentioned in the previous sections, the data received from Pub/Sub was not in the standard tabular format but in an array of JSON objects. To perform analysis we first needed to convert the data into a standard table format. We leveraged the UNNEST function in BigQuery to flatten the record into the table. The data points in the messages from the battles consisted of the health, length, food location, head and body coordinates, turns and latency for all the snakes on the board including board size etc. For exploratory analysis of our ML model we attempted to answer questions like which snake did we battle the most and how did we perform in each of those battles? Is there a particular snake that keeps beating us? What are the frequent food locations? After gathering these insights, we can further refine how we tune our model parameters to what works best for our snake.ConclusionOur snake performed very well in open competition in the public arena but had a string of bad luck in actual tournament play. During the group stages we competed against two of the snakes that made it into the finals. The primary snake in our group was a hungry monster that quickly gobbled up food and boxed our snake out very effectively. This led to our untimely death by wall collision and a fast exit from tournament play. We accomplished a reasonable amount of success in the global arena for a very short amount of training time thanks to the power of Vertex AI. To learn moreBattlesnakehttps://play.battlesnake.comVertex AI – ML Training, Managed Pipelines, Hyperparameter Tuning, Model Servinghttps://cloud.google.com/blog/products/ai-machine-learning/google-cloud-launches-vertex-ai-unified-platform-for-mlopshttps://cloud.google.com/vertex-ai/docs/pipelineshttps://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overviewhttps://cloud.google.com/vertex-ai/docs/predictions/deploy-model-consoleMachine Learninghttps://learndigital.withgoogle.com/digitalgarage/course/machine-learning-basicshttps://ai.googleblog.com/2021/04/evolving-reinforcement-learning.htmlhttps://gym.openai.com/
Quelle: Google Cloud Platform