How to Move IBM App Connect Enterprise to Containers (Part 4a)

This blog is part of a series, link back to Part 3 to explore the earlier articles.

In the following scenarios, integrations with IBM MQ are used. When we move IBM App Connect into containers, the recommendation is that wherever possible, we should move to working with MQ remotely. This is highly preferable to having a local MQ server residing alongside App Connect since it allows Kubernetes to fully take over the administration of scaling and high availability of the components. This is part of a broader common practice around containerization, noting that each container should have only one job.

Continuous Profiling in Kubernetes Using Pyroscope

Developers typically need to look at performance bottlenecks in production applications to determine the cause of the problem. To do this, you usually need information that can be collected through logs and code tools. Unfortunately, this approach is usually time-consuming and does not provide enough details about the underlying problem.

A modern and more advanced approach is to apply and use profiling techniques and tools that highlight the slowest application code, that is, the area consuming most of your resources.

Implementing Non-Trivial Containerized Systems (Part 2): Containerizing With Docker

This is the second part of a multi-part series on designing and building non-trivial containerized solutions. We're making a radio station using off-the-shelf components and some home-spun software, all on top of Docker, Docker Compose, and eventually, Kubernetes.

In this part, we're going to take the architecture we cooked up in the last part, and see if we can't get it running in containers, using nothing but Docker itself.

Today, we're going to build a radio station. We drew up the architecture in our last post:

Roll up your sleeves, we're gonna start building some containers.

Implementing Non-Trivial Containerized Systems, Part 1: Picking Components

So, you want to start a radio station, eh?

This is the first part of a multi-part series on designing and building non-trivial containerized solutions. We're making a radio station using off-the-shelf components and some home-spun software, all on top of Docker, Docker Compose, and eventually, Kubernetes.

In this part, we're going to explore how the different parts of the system interface with one another, to set the stage for our next post, where we Dockerize everything!

I first met Icecast (https://icecast.org/) when I worked at a web-hosting startup around the turn of the millennium. One night, one of my co-workers and I had the crazy idea to load a bunch of audio files on the networked file server and stream them to our workstations. We could listen to music while we worked 90+ hours a week. Strange times. After realizing it wasn't as simple as exporting .ogg files over HTTP, we found Icecast (and its pal, Ices2) and built a rudimentary, local-network broadcast radio station.

How To Build Docker Images for Windows Desktop Applications

Introduction

It used to be that people first downloaded their software onto a physical computer and then ran it. Now, with cloud computing, you no longer need to worry about awkward downloads. Instead, you can use all the same services online from anywhere and see updates in real-time.

Why Businesses Migrate Their Legacy Applications To the Cloud

  • Probably the first main reason for moving to the cloud is access to virtually unlimited computing resources. Cloud elasticity and scalability are essential elements of cloud computing. 
    • Cloud elasticity is the ability of a system to dynamically manage available resources based on current workload requirements.
    • Cloud Scalability is a scalable system infrastructure to meet growing workload demands while maintaining consistent performance appropriately.
  • Moving from the legacy Windows app to cloud computing lets you work anytime and anywhere so long as you have an internet connection. A cloud-based web service is accessible from any device.
  • In the current pandemic situation, team members are forced to work from their home offices. Using the cloud, your teammates can open, edit, and share documents anytime and from anywhere; they can do more together and do it better. Before the advent of the cloud-based workflow, employees had to send files back and forth as email attachments that a single user worked on simultaneously.
  • A public cloud provider owns the hardware infrastructure and is responsible for managing and maintaining it, so you don’t have to worry about maintenance. With a public cloud, you only need to focus directly on meeting your business goals.
  • Cloud computing reduces high hardware costs. You pay only for the actual consumption of resources.

Virtual Machines Vs Containers.

Containers and virtual machines (VMs) are the two main approaches to deploying multiple isolated services in the cloud. So how are they different?

Kubernetes Is Deprecating Docker Support and Why We Shouldn’t Worry That Much

Starting with Kubernetes 1.20, released on December 8th, developers have received a warning that Kubernetes is deprecating Docker. This means that Kubernetes officially ceases to support the Docker tech stack, as you can already see in the release notes on GitHub.

The news wasn’t a big surprise. The Kubernetes development team had been planning and preparing this step for three years, so it was only a matter of time. Since Kubernetes was originally developed to orchestrate Docker containers, many Kubernetes users probably didn’t like this.

Automate Spring Boot App Deployment With GitLab CI and Docker

In this guide, we will walk through the process of the automated deployment of a Spring Boot application using GitLab CI. 

Docker and Spring Boot is a very popular combination, and we will take advantage of GitLab CI and automatically build, push and run a Docker image on application server.

Configuring the Ground: How to Install and Configure an API Builder Data Connector

API Builder is a key component of the Axway AMPLIFY Platform. You can use API Builder to create API microservices using an API-First approach or a data-connector approach with no or low code. Since API Builder supports Docker Containers natively out of the box and can run in any Docker infrastructure, it supports Cloud to Ground Hybrid Integration Platform scenarios.

In this blog post, we'll use API Builder Standalone and describe how to install and configure an API Builder Data Connector. We'll use the MongoDB data connector for this post.

Running Spring Tool Suite 4 in Docker

If you're serious about building your Java applications with Spring Boot then you're definitely going to love developing with Spring Tool Suite 4. In this post, I go over how to run the STS4 IDE from a Docker container as well as introduce you to its new and amazing features that you won't be able to live without.

Running Spring Tool Suite 4 in Docker

By running Spring Tool Suite 4 in a Docker container, you'll benefit by easily reproducing the environment I'll be introducing. You won't have to spend time configuring or installing any additional plugins.

Add Databases to CI With Production Database Clones

DevOps involves source control and automated application builds with binaries as immutable artifacts for a repeatable DevOps process. Updating SQL Server databases, however, is not accomplished so simply and must be upgraded in place. Current SQL DevOps practices involve building a development database with schema and objects and static data for functional testing. The “development database” is succeeded by a “production like” database for later stages and ultimately, upgraded scripts are applied to production. This approach is complex and breaks the principle of working with unchanging artifacts throughout the DevOps process.

Fortunately, a simpler approach with production database clones and SQL Server containers delivers simplicity, horizontal scalability, and economy. Production database clones are delivered in seconds with immutable writable replicas of production for higher fidelity releases. Full disclosure: I am a principal at Windocks where we focus on SQL Server containers and database cloning, but these same approaches should work with storage array cloning with Bash or other scripting. 

Secure Docker in Production

You are using Docker for development and testing purposes but did not yet take the step to use it in production? Then read on, because in this blog post we will take a look at how you can ensure that you run your Docker containers in a secure way.

The CIS Benchmark

The default Docker installation does not provide us enough security for usage in production. Neither are the numerous examples of Dockerfiles you can find on the web. Even the Dockerfiles in some of our previous blog posts are not production ready. How do we know what to do in order to run our Docker container in a secure way? This brings us to the Center of Internet Security (CIS). The CIS provides best practices for securing IT systems and data against attacks. These best practices are identified and verified by a community of experienced IT professionals. In our case, we will take a look at the CIS Benchmarks page. Here we find a lot of benchmarks for operating systems, devices and software. Within this list, the CIS Benchmark for Docker Community Edition 1.1.0 is available. It is freely downloadable, but you do need to provide your contact details and after that, a download link is sent to your email address. This will also give you access to the other CIS benchmarks.