Open-source News

Deploy applications using Foreman ACD

opensource.com - Wed, 10/12/2022 - 15:00
Deploy applications using Foreman ACD Maximilian Kolb Wed, 10/12/2022 - 03:00

When you manage your IT infrastructure using Foreman and Katello, the smallest unit to operate on is generally a host. You can provision hosts, deliver versioned content, and set configurations. Using Foreman ACD, you can use your Foreman instance to deploy applications consisting of multiple services spanning multiple hosts. This blog post briefly introduces the Foreman ACD plugin and explains how it can help you deploy a Prometheus and Grafana stack. If you want to know more about deploying an ELK stack consisting of an Elasticsearch cluster and Kibana, look at Deploying an ELK Cluster with Application Centric Deployment.

Introduction to Foreman and Katello

You can use Foreman and Katello to manage your IT infrastructure. Using Foreman generally starts with managing content. You can import content from upstream repositories, version and filter packages, mix repositories, and make it consumable for hosts. Next, you can provision hosts based on synchronized content. Using plugins, you can deploy to the cloud and on-premises solutions. The third step is to use configuration management tools, such as Ansible, to configure hosts. Configuration includes installing packages, creating users, specifying network settings, and more.

More on Ansible 5 reasons to migrate to Red Hat Ansible Automation Platform 2 A quickstart guide to Ansible Ansible cheat sheet Free online course: Ansible essentials Download and install Ansible eBook: The automated enterprise eBook: Ansible for DevOps Free Ansible eBooks Latest Ansible articles

Altogether, the traditional way focuses on single hosts or groups of similar hosts. Most frequently, host details are shared using so-called host groups in Foreman. They contain provisioning and configuration information such as compute resources, Ansible roles, operating system, provisioning templates, parameters, and more. You can think of them as "blueprints" for new hosts. Deploying an additional host based on a host that you have already deployed using a host group is as easy as entering a valid hostname.

But what if you want to provide a more user-friendly way to deploy applications? What if your application relies on several services requiring one or more hosts? Enter Foreman ACD.

Foreman ACD to the rescue

Traditional deployments focus on individual hosts, which are provisioned and configured based on host groups. Foreman ACD, short for Application Centric Deployment, is a Foreman plugin to deploy applications. It's developed and maintained by ATIX AG and is completely open source.

Image by:

(Maximilian Kolb, CC BY-SA 4.0)

The screenshot above shows how to deploy a Prometheus and Grafana cluster based on an Ansible playbook and a previously created application definition. For end users, deploying their application is as easy as entering host names and selecting the number of services as part of their application. For more information on the Prometheus and Grafana example, look at Deploying a Prometheus and Grafana Cluster Using Application Centric Deployment in the orcharhino blog.

What are the differences between host and application-centric approaches?

Both the traditional host-centric and the application-centric way share some procedures. They both start by preparing Foreman with your infrastructure, importing content, and creating necessary entities such as operating systems. After everything is ready, deployment and configuration information are bundled in host groups.

Here are two different approaches.

Host-centric approach
  1. Integrate Foreman into your infrastructure
  2. Import content
  3. Set up host groups
  4. Create hosts based on host groups
  5. Configure hosts using your automation software of choice (such as Ansible)
  6. Use configuration management to install software packages and configure services such as firewalls
Application-centric approach
  1. Integrate Foreman into your infrastructure
  2. Import content
  3. Set up host groups
  4. Fetch an ACD template consisting of an Ansible playbook and an application definition
  5. Create and deploy application instances.

Foreman ACD automates application deployments consisting of multiple services using an Ansible playbook and an application definition, which connects services to host groups and optionally defines host parameters. It requires the foreman_acd and smart_proxy_acd plugins, which are open source software. Packages are available at yum.theforeman.org.

Advantages of using Foreman ACD

Foreman ACD helps you to deploy complete applications with the click of a button. Foreman provisions hosts and automatically configures them after deployment. Each service is started on the defined group of hosts.

In terms of self-service, ACD helps you split users' responsibilities: You can assign the Application Centric Deployment Manager role to users that import the Ansible playbook and define the application definitions. End users with the Application Centric Deployment User role only have permission to deploy predefined application definitions. Note that end users can still, if allowed, set variables such as user accounts, ports, or the number of hosts per service in a predefined range.

Foreman ACD ensures a seamless deployment experience by handling inter-host connectivity. You can deploy multiple hosts simultaneously, all within a self-service-capable interface. This feature allows users with less technical knowledge or access rights to scale their applications vertically and/or horizontally.

Wrap up

If you have already configured Foreman and Katello to provision hosts and already have host groups bundling deployment and configuration information, using the Foreman ACD plugin is the next step to leverage your existing setup. You can conveniently deploy complete applications without connecting hosts manually.

Foreman ACD and Smart Proxy ACD are open source plugins for Foreman developed and maintained by ATIX AG. You can find the documentation at docs.theforeman.org > Application Centric Deployment. There are also several open source ACD playbooks, such as the ACD playbook for Elasticsearch cluster and Kibana and ACD playbook for Prometheus and Grafana. If you have questions, feedback, or suggestions, please open a thread on community.theforeman.org.

Our next ACD playbook helps you deploy Kubernetes. Follow the blog to read the upcoming announcement at orcharhino.com/news.

This demo explains how Foreman ACD can be used to deploy a Prometheus and Grafana stack.

Image by:

Opensource.com

Sysadmin Ansible What to read next How to get started with the Foreman sysadmin tool Managing deb content in Foreman This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

What Is Ubuntu? - ITPro Today

Google News - Wed, 10/12/2022 - 13:54
What Is Ubuntu?  ITPro Today

Rustdesk [Remote Desktop] – A TeamViewer and AnyDesk Alternative for Linux

Tecmint - Wed, 10/12/2022 - 12:40
The post Rustdesk [Remote Desktop] – A TeamViewer and AnyDesk Alternative for Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides .

Brief: In this guide, we take a look at the Rustdesk remote desktop software that is an alternative to TeamViewer and AnyDesk. In the highly digital and technologically advanced world that we live in,

The post Rustdesk [Remote Desktop] – A TeamViewer and AnyDesk Alternative for Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides.

LLVM Clang 15 Delivers Some Small x86_64 Performance Improvements But Mostly Flat

Phoronix - Wed, 10/12/2022 - 03:00
Released last month was LLVM/Clang 15 and since then a number of Phoronix readers have been inquiring about Clang 15 compiler benchmarks or there the lack of on Phoronix. I've been testing various Intel and AMD systems with Clang 15, but it hasn't been particularly exciting -- but that's not a bad thing, just that it doesn't make for particularly compelling benchmark articles...

Zink Lands Async Pipeline Precompiles For Better Performance, Less Game Stuttering

Phoronix - Wed, 10/12/2022 - 02:14
Mesa's Zink driver implementing the OpenGL API atop Vulkan continues advancing at a rapid pace and today the latest major addition landed: async pipeline precompiles...

Linux 6.1 Lands Code To Warn About W+X Mappings By Default

Phoronix - Wed, 10/12/2022 - 00:00
In addition to MGLRU and Maple Tree having been merged overnight, Linus Torvalds also picked up the x86/mm changes for Linux 6.1 that will now by default warn about W+X mappings...

Happy Ada Lovelace Day! Here are our favorite tech books for kids

opensource.com - Tue, 10/11/2022 - 23:00
Happy Ada Lovelace Day! Here are our favorite tech books for kids Lauren Pritchett Tue, 10/11/2022 - 11:00

Tech is everywhere! And it's important to remember, everyone is a beginner once. The industry is continually growing, looking for new folks to add valuable perspectives. How do we inspire our next batch of tech contributors?

In honor of Ada Lovelace Day, we asked our community of writers if they had any resources or books they recommend for young programmers or enthusiasts. Here's what they had to share.

Start from Scratch

I recommend Coding Games in Scratch: A Step-by-Step Visual Guide to Building Your Own Computer Games by Jon Woodcock and Code Your Own Games!: 20 Games to Create with Scratch by Max Wainewright. Being a LEGO family, all of my kids have spent time with the LEGO BOOST set. It involves a minimal amount of coding but is really focused on some of the foundational skills involved in code like logical, sequential thinking and creative problem solving.

Katie Richards

My 4-year-old loves ScratchJR. They have an official book, The Official ScratchJr Book: Help Your Kids Learn to Code by Marina Umaschi Bers + Mitchel Resnick. These fun board books about science are perfect for babies.

—Sanchita Narula

Probably the most important thing is that kids love to think—and to think critically. There are two books that help to achieve this in a fun way and also inspire kids to love math and to question everything: The Hitchhiker's Guide to the Galaxy by Douglas Adams and Humble Pi by Matt Parker. Scratch is ideal for a student's initial exposure to coding because understanding basic concepts is usually easier visually.

Peter Czanik

Programming and development Red Hat Developers Blog Programming cheat sheets Try for free: Red Hat Learning Subscription eBook: An introduction to programming with Bash Bash shell scripting cheat sheet eBook: Modernizing Enterprise Java Programming for the whole family

My favorite books for young programmers come from the publisher, No Starch Press:

  • Electronics for Kids: Play with Simple Circuits and Experiment with Electricity! by Oyvind Nydal Dahl
  • Teach Your Kids to Code: A Parent-Friendly Guide to Python Programming by Bryson Payne
  • Raspberry Pi Projects for Kids: Create an MP3 Player, Mod Minecraft, Hack Radio Waves, and More! by Dan Aldred
  • Python for Kids: A Playful Introduction To Programming by Jason R. Briggs

—Michelle Colon

Learn to code by coding

I don't know if I was inspired by fiction books. But the Apple II computer was very popular when I was growing up. Our parents bought an Apple II computer for my brother and me to use, and we taught ourselves how to write programs in Applesoft BASIC. We also had several "teach yourself programming" books that we read cover to cover. I learned a lot by reading, then trying it out on my own, then figuring out how to make it better.
 
I encourage other developers to do the same. Pick up a book about programming, and just try it out. Make programs that you find interesting; don't worry about what others think. Write a number guessing game, or a turn-based text adventure game, or a puzzle game. Or experiment by writing command line tools that you find useful. A good place to start is to write your own versions of some of the Linux command line tools like cat or more. What matters most is that you try something, and then you make it better. That's a great way to teach yourself about programming.

Jim Hall

^^ In response to Jim

That's an excellent point! Now that I think back, my earliest formative exposure to programming was more or less the same. My parents couldn't easily afford to buy me and my brother tapes of popular games (yes, tapes... for those not old enough to have experienced it first hand, games were usually sold in a clear plastic bag or bubble package containing a paper manual and a cassette tape). Instead, we had subscriptions to home computing magazines which included articles interspersed with printed source code for programs, often games. There were also paperback compilations of these we sometimes received as gifts. If we wanted to play a game on the computer, we had to type it all in first (and inevitably debug it too), so we'd take turns and check each other's work.
 

I doubt that approach would have worked for later generations, but it was certainly an incentive to fast-track our exposure to software development. It naturally followed that as soon as we got bored with a game, we didn't just pop in something else. We were familiar enough with the code, from hours of painstakingly typing it in and fixing all our errors (sometimes even finding and correcting mistakes in the printed version!), that the obvious solution was to change the game in order to make it more fun. A war strategy game based in ancient Rome could be trivially turned into a space battle setting just by altering some names and terminology. A particular game mechanic which made things less enjoyable could be adjusted or removed to improve the experience and suit our personal tastes.

Little did I know back then I'd still be doing pretty much the same thing 40 years later, collaboratively editing and reviewing changes to source code. And now I can get paid for it!

Jeremy Stanley

All about Ada

My 7-year-old daughter is venturing into chapter books while my 3-year-old son is still into colorful board books that he can carry around the house. Both still adore picture books because they can really see themselves in the stories. I’m teaching them about Ada Lovelace in a way that they can grasp her impact. There are lots of books that tell her story. We own the following books: 

A bonus read I recommend to parents of young kids is How to Code a Sandcastle by Josh Funk and Sara Palacios. Pearl (how great is that name?!) is trying to teach her robot, Pascal, how to build a sandcastle. She encounters a few bugs along the way, but finally creates her palace thanks to problem-solving and cooperation.
 

From hands-on programming tutorials to fictional adventure novels, our contributors share their favorite books for programmers who are just starting out.

Image by:

Opensource.com

Programming Education What to read next How my students taught me to code Everything you need to know about Grace Hopper in six books It's Ada Lovelace Day! Learn the Ada programming language in 2021 Talking digital with Brian Kernighan This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Pages