Posts Tagged: ‘Docker’

What Are Kubernetes and Docker? And Why Should They Be Part of Your Digital Solution?

2. September 2020 Posted by HCL Digital Experience Team

Developers are becoming increasingly used to hearing the names Kubernetes and Docker in conjunction with one another. They’re both technologies associated with containers (packages of software that include all of the parts required to run an app, like the code and system libraries), but a common misconception is that they’re competing solutions. Developers might be familiar with “Kubernetes vs. Docker” discussions when, in fact, using Kubernetes with Docker is an excellent method of running containerized applications. But to understand what that means, we first have to look at what each platform does separately. 

What Does Docker do? 

Docker is currently the most popular container platform. In this context, containers are the solution to a classic developer dilemma: Often developers will write code that works perfectly well on their own machine, but fails when they try to implement it into the program it needs to live in. Containers are the solution to this dilemma  developers can package their code into one cohesive container image, which can then be run on any computer that also hosts a container platform.  

30% of enterprise companies use Docker, and that number is steadily rising. If a developer can benefit from containerization, chances are they’ll look to Docker for their solution. 

So, What Does Kubernetes Do, and How are They Related? 

Now that you have a grasp on what Docker does and why it’s an important tool to be aware of, the first thing that’s important to understand about the Docker/Kubernetes relationship is that the two technologies serve fundamentally different purposes. As the Container Journal nicely put it, “Kubernetes takes containerization technology  and turns it up to 11.”  

Kubernetes arrived as a solution to the next conundrum that comes with containerization: Now that the containers exist, how can they be organized? If Docker is in charge of packaging and distributing an application, Kubernetes is in charge of scaling and monitoring those apps. The tech solution combines containers that make up an application into intuitive groups for easy management and searchability. 

The Kubernetes architecture allows for development teams to remain agile and flexible in a rapidly evolving digital landscape where agility and adaptability are increasingly vital to standing out amidst your competitors.  

It is possible to use Docker without Kubernetes, although it’s not recommended for any organizations that hope to scale their apps and ensure that they’re easily available to as many interested users as possible. Conversely, is possible to use Kubernetes with another containerization solution, but as Docker has established itself as the premier app container solution, the Docker/Kubernetes combo remains the best integration on the market. 

solution that utilizes the Docker and Kubernetes pairing will save development teams hours of time, as the tech pairing allows apps to be installed in the cloud or on the premises in minutes, rather than days. 

Find out more hereJoin our webinar called “Getting Started with Containers,” or watch it on-demand.  

The post What Are Kubernetes and Docker? And Why Should They Be Part of Your Digital Solution? appeared first on HCL SW Blogs.

HCL DX: This Digital Experience Platform Is the Gift that Keeps Giving

19. Dezember 2019 Posted by Kirsten Kelley

Looking back at the year so far, I am thankful for all we have accomplished and excited for what is to come in 2020. Our platform has progressed so much in the few short months since we transitioned to HCL, and the genuine enthusiasm and energy around the platform is palpable.

The end of the year is an excellent time for reflection, so let’s take a look at what we have checked off our list, including the release of HCL DX 9.5 (our first new release in almost two years!), and consider some of the future gifts that are coming soon.

 

Innovative capabilities providing benefits now:

  • Unsurpassed platform standardization & flexibility:  Production Docker and Kubernetes support means initial install and subsequent updates of HCL DX software take minutes, not hours or days.  It provides unmatched flexibility and portability, so you can select the deployment model and platform of your choice.
  • Liberated experience delivery for front-end developers:  Developers can deliver cutting-edge experiences to any and all digital touchpoints, leveraging the latest front-end frameworks and the new self-describing OpenAPI set of REST services. Greater consistency across touchpoints lead to more revenue opportunities.
  • Accelerated time to market with a re-imagined UI:  A new practitioner experience, a beautiful set of out-of-box templates, as well as the forthcoming native digital asset management capability, help empower business users to create, manage and publish memorable experiences more effectively — ultimately delivering the experience customers demand in a timelier manner.
  • Deployment options to dramatically reduce Total Cost of OwnershipKubernetes orchestration for automated provisioning, load balancing, auto-scaling, self-healing (and more) dramatically reduces TCO.

Compelling advancements coming soon:

  • Media Library: This lightweight Digital Asset Management solution helps deliver engaging, consistently branded experiences across digital channels by centrally managing and enabling rich media assets (videos, images and documents).  Business users can optimize videos and images  without using complex tools or specialized resources.  CDN integration enables fast delivery of experiences to audiences to never miss an engagement opportunity.
  • Content UI: Content owners can look forward to a new, modernized content authoring & modeling experience that is integrated into practitioner studio.  This will allow users to reuse legacy content repositories (and versions) with a modern UX at the intersection of content & workflow – allowing business users to create content delivered anywhere using any framework.
  • Bulk Translation: This capability will help export content for translation and import translated content quickly, significantly accelerating delivery of content in multiple languages to improve engagement world wide.

 

More ways to engage with your favorite DX platform:

  • New customer videos, instructional videos, and more: Check out our new DX YouTube Playlist – here you will see some customer testimonial videos to hear how folks like you are running their business using HCL DX.  You can also see the DX Leaders video series on a variety of topics related to challenges and strategies when implementing digital transformation.  And coming in January, we will add our highly anticipated “Did-You-Know” series — with short instructional videos on how to deploy new capabilities with your HCL DX platform.
  • HCL DX Newsletter: We will publish this newsletter six times per year, where you can find the latest information about product announcements, upcoming webcasts and events, analyst papers and more. If you have not already done so, sign up for the newsletter today.
  • Connect with other HCL DX Aficionados and expand your network at our DX TechConnects: This is a series of 1-day events around the world where you can connect with HCL DX leaders, as well as other HCL DX customers to discuss product priorities, as well as implementation strategies.  In the first half of 2020, we plan to have these events in the following cities: NA:  Los Angeles, Atlanta, Dallas, Chicago, Toronto.  Europe: Amsterdam, Madrid, Rome. AP: Australia and more to come. Please reach out to Kirsten Kelley if you would like to receive an invitation.

 

Enjoy the gifts that the holiday season (and our HCL DX platform) provides – we look forward to working together to create more exceptional experiences in 2020.

The post HCL DX: This Digital Experience Platform Is the Gift that Keeps Giving appeared first on HCL SW Blogs.

Docker? Kuber-what? HCL is reinventing DX with containerization (and why you should care!)

9. September 2019 Posted by Brian Chaput

Since there’s been a lot of buzz around it, you no doubt know Docker provides an open standard for packaging and distributing containerized applications – the benefits of which are many for any business that adopts the approach, such as rapid install, on virtually any platform, and isolation that makes software/container updates a snap.

What you may not know is that HCL Software is on a mission to be a premier provider of containerized applications – a mission founded in freeing businesses to focus on driving business value from software investments, not spending resources on intensive and high-cost devOps – and I’m delighted to say that HCL Digital Experience 9.5 for Docker is ready to go this month.

But wait, you might hear that and understand how Docker alone is great, then you ask I often also hear about “Kubernetes”…how is it related and why should I care?  As Docker is for containers, Kubernetes (or “k8s” for those in the know) is for orchestration of containers.  Why is that important?  Well, as an analogy, think about air travel – a plane is a like a container and airports/air traffic provide valued orchestration so individual planes can get where they need to safely and efficiently – similarly k8s becomes critical so more value is derived from the containerization approach.  Specifically, k8s provide scheduling of container launches/clusters, autoscaling and load balancing as load changes, self-healing of problematic/expired containers, container rollback, and much, much more.  In all, Docker + Kubernetes really is revolutionizing software delivery, implementation and maintenance – and I encourage everyone seek out more education on why businesses need to at least consider employing the paradigm sooner rather than later.

For HCL, the 9.5 release Digital Experience (DX) is available via a Docker image with production support on Red Hat OpenShift (and we’ll soon follow with production support for Amazon EKS too).  What does this mean for clients?  Initial installs and subsequent updates of HCL DX software in minutes, not hours or days … and of course unmatched flexibility to select the deployment model (private cloud, public cloud, on prem, et al) and platform that works best for you now or in the future.

Coupled with other new features in 9.5, and those coming soon in 9.6 (also, unlike some others, at HCL we think shipping software innovations often is better for our customers) – like a new Media Library digital asset capability, a completely reimagined user experience, and more – we’re ready to help you move on from buying and managing DX software to making leaps on your digital experience transformation objectives.  We welcome the opportunity to show you how HCL DX does digital experience management and software deployment better…. We’re ready, are you?

Join us at our DX Inspire v9.5 launch events in October to learn more (Raleigh, NC, and Milan, Italy), and check our webpage on September 30 to learn more details about our latest release.

The post Docker? Kuber-what? HCL is reinventing DX with containerization (and why you should care!) appeared first on HCL SW Blogs.

node.js, domino-db & Docker (11): Usefull Docker Commands

14. November 2018 Posted by Sven Hasselbach

Building Images

docker build -t domino-express .

Creates a new docker container named domino-express, using the current folder („.“).

Starting / Stopping

docker run --name dominoexpress -p 3000:3000 -d -it domino-express

Starts the image domino-express, allows access to port 3000 and gives the container the static name „dominoexpress„. If option –name is not available, a random name is generated.

Additional parameter -e allows setting of environment variables.

docker stop dominoexpress

Stops the container with the name „dominoexpress

List instances

docker ps

Lists the current running containers.

docker ps -a

Lists all containers, even if they have stoped working / not running.

Delete container

docker rm dominoexpress

Deletes the container with the name „dominoexpress„.

Logs

docker logs dominoexpress

Get the logs of the container „dominoexpress„. Usefull to check why a container crashed.

Getting „inside“

docker exec -it dominoexpress bash

Starts a process (in this case a bash) in the running container „dominoexpress„.

node.js, domino-db & Docker (10): Protecting Proton Keys

12. November 2018 Posted by Sven Hasselbach

Before we are looking into the details how to setup a non-anynomous connection to Domino’s Proton server, I have an advice for protecting the key files required for the connection.

The keys are not password protected, and this is a high risk which should be avoided: First, if you make a mistake or if there is a bug in the software, the keys could be accessed from „outside“. And second, if you check in your code in a repository, the IT security should roast you. It’s clear that the keys are still unprotected if someone hacks the application, but this is a different topic.

First thing to to is to encrypt the keys with AES. To achive this, we are using openssl:

openssl enc -aes-256-cbc -k "0123456789" -in domino-express.key -out domino-express.key.enc

The parameter -k is the key to use for encryption. The path to the unencrypted file is passed with -in, and -out is the path of the encrypted file.

I also encryted the .crt files, which is not required, but it does not hurt either.

The config.js file must now be changed to the follwing (a new method for reading and decrypting the files with openssl is added):

const exec = require('child_process').execSync;

const path = require('path');

/**
 * reads an aes-256-cbc encrypted file & decrypts it
 * 
 * @param {*} fileName 
 *  the encrpyted file 
 * @param {*} key 
 *  the decryption key
 */
const readFileEncrypted = (fileName, key) => {
  try {
    // resolve the filepath
    const filePath = path.resolve(fileName);

    // use openssl to decrypt the keys
    return exec(`openssl enc -d -aes-256-cbc -k "${key}" -in "${filePath}"`, 
    (error, stdout) => {
      if (error) {
        console.error(`exec error: ${error}`);
      }
      return stdout;
    });
  } catch (error) {
    console.error(error);
    return undefined;
  }
};

// the password (stored in environment)
const password = process.env.PASSWORD_KEYFILES;
if (!password) {
  console.error('Environment Variable "PASSWORD_KEYFILES" is not set.');
  process.exit(1);
}

// load the keys & certificates
const rootCertificate = readFileEncrypted('./app/certs/ca.crt.enc', password);
const clientCertificate = readFileEncrypted('./app/certs/domino-express.crt.enc', password);
const clientKey = readFileEncrypted('./app/certs/domino-express.key.enc', password);

// check if the keys are ok 
if (!rootCertificate || !clientCertificate || !clientKey) {
  console.error('Unable to load certificates and/or key.');
  process.exit(1);
}

const Config = {
    serverConfig: {
        hostName: process.env.NODE_ENV === 'development' ? 'dev.example.com' : 'example.com', // Host name of your server
        connection: {
          port: '3002', // Proton port on your server
          secure: true,
        }, 
        credentials: {
            rootCertificate,
            clientCertificate,
            clientKey,
          },
      },
      databaseConfig: {
        filePath: 'testnode.nsf', // The database file name
      }
};

module.exports = Config;

But where to store the key? Nowhere, the key is stored in an evironmental variable.

This line reads the value from the variable PASSWORD_KEYFILES.

const password = process.env.PASSWORD_KEYFILES;

When running your application in a docker container, just start the container with the following command including the variable:

docker run -e "PASSWORD_KEYFILES=0123456789" --name dominoexpress -p 3000:3000 -d -it shasselba/domino-express

To use it in a IDE like Visual Studio Code, you have to add it to the debugging configuration:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Programm starten",
            "program": "${workspaceFolder}/app/bin/www",
            "env": {"PASSWORD_KEYFILES": "0123456789"}
        },
    ]
}

Now you can add the .enc files to your application in folder /app/certs without worrying about it. If the variable is not set, the application terminates with error code 1.

P.S. Don’t forget to remove the original key files from your project!

node.js, domino-db & Docker (5): memcached

5. November 2018 Posted by Sven Hasselbach

To use memcached in our Docker container, we have to modify the existing Dockerfile a little bit. First it is required to install memcached in the container itself, and then it is required to change the CMD command to start the service and our express application.

1. Create a folder /conf in the project folder

2. Create a file memcached.conf in this folder with the following content:

# Memory: 256 MB
-m 256

# Port to use
-p 11211

# User for the service
-u memcache

# Listening IP Adress 
-l 127.0.0.1

3. Create a script startup.sh in the newly created folder:

#!/bin/bash
service memcached start
npm start

4. Modify the Dockerfile to install memcached

# install memcached
RUN apt-get update
RUN apt-get install -y memcached

5. Copy the startup.sh script and the memcached.conf

COPY ./conf/memcached.conf /etc
COPY ./conf/startup.sh .
RUN chmod +x /usr/src/app/startup.sh

6. Change the CMD to use the startup.sh script

CMD [ "./startup.sh" ]

The reason for the startup script is that in Docker containers the services are disabled by default, so we need to start the service by our own. Also, only one CMD command is allowed, so we have to use a script.

Die preiswerte, flexible, moderne & zukunftssichere Entwicklungsplattform

4. April 2018 Posted by Albert Boxler, IBM

In diesem Webcast informieren wir Sie über IBM Notes/Domino als aktuelle, preiswerte, flexible und zukunftssichere Entwicklungsplattform - nun auch mit JavaScript Support, node.js, loopback, usw.

Der Beitrag Die preiswerte, flexible, moderne & zukunftssichere Entwicklungsplattform erschien zuerst auf DNUG.

IBM Connections wird weiter ausgebaut – Component Pack 6.0.0.4

21. Februar 2018 Posted by Albert Boxler, IBM

IBM Connections ist die am Markt führende Plattform, die Mitarbeitern eine besonders einfache und effektive Zusammenarbeit in Teams und Projekten ermöglicht Jetzt gibt es einen Update mit zahlreichen Verbesserungen und neue Funktionen.

Der Beitrag IBM Connections wird weiter ausgebaut – Component Pack 6.0.0.4 erschien zuerst auf DNUG.

Wichtiger denn je – IBM Connect 2017

18. Januar 2017 Posted by Peter Schütt, IBM

Zusammenarbeit (Collaboration) belegt einen großen Teil des Arbeitsalltags und ist für einen noch größeren Anteil am Erfolg eines Unternehmens verantwortlich. Dennoch glauben Unternehmenslenker nur zu oft den Fake News gewiefter Marketing-Manager, dass die IT-Tools dafür „Commodity“ wären – also ausgereifter Standard ohne Innovationspotenzial. Das führt nicht selten dazu, dass man Kaufentscheidungen nicht mehr fachlich trifft, sondern nur noch danach schaut, was die anderen machen, um sie zu kopieren.

Dass das großer Unsinn ist und damit massiv Wettbewerbsvorteile verspielt werden, zeigt die bemerkenswert kreative Welt von Start-ups, die einerseits immer wieder selbst brillante, neue Lösungen erfinden und andererseits ihre Zusammenarbeit eben nicht mehr klassisch auf Office-Anhänge in E-Mails aufbauen, sondern auf neue Verfahren und Technologien setzen, die auch mit mobilen Geräten (Smartphones, Tablets) einfach bedient werden können. Beispiele sind Konversationstools, wie z.B. Slack, oder Werkzeuge einer geteilten Wissensablage, wie z.B. Connections.

IBM ist immer wieder Vorreiter, wenn es darum geht neue Verfahren und Technologien für die Zusammenarbeit in und zwischen Unternehmen kreativ zu entwickeln. Einmal im Jahr präsentiert sich IBM mit vielen, auch deutschen Partnern auf der Hausmesse „Connect„, diesmal geführt von Inhi Cho Suh, General Manager IBM Collaboration Solutions. 2017 wird die Konferenz zum ersten Mal in der Nähe des Silicon Valleys in San Francisco stattfinden. Ein idealer Treffpunkt, nicht nur, um sich einen Überblick zu verschaffen, sondern auch um andere Kunden und Fachleute zu treffen und fachlich tief in die Zukunft einzutauchen.

Wer jetzt meint, dass hier nur über Klassiker wie IBM Notes geredet werden wird, täuscht sich gewaltig. IBM investiert nachhaltig sehr stark in das Zukunftsthema Collaboration und zeigt den Weg auf, wo es in der Zukunft der Collaboration-Tools hingeht:

  • 2017 wird das Jahr der kognitiven Helfersysteme im Collaboration-Umfeld, wie Sie IBM mit Watson Work Services anbieten und in verschiedenste Bereich integrieren wird.
  • Die technologische Basis ist reif für eine Revision, denn aktuelle Technologien – meistens Open Source – ermöglichen ganz neue, extrem flexible Integrationsszenarien in einer Ökonomie der APIs (Schnittstellen). Das wird für viel mehr Flexibilität und Kosteneinsparungen sorgen.
  • Wenn man heute seine Familie effektiv über WhatsApp organisiert, dann stellt sich die Frage, warum man so konversationsorientiert nicht auch im und zwischen Unternehmen arbeiten kann. IBM arbeitet hier mit Watson Workspace an einer neuen Lösung, die erstmals unternehmensmäßige Datensicherheit und kognitive Komfortelemente in solche neuen Arbeitsweisen einbindet.
  • Für Anwendungsentwickler ist es eine heiße Zeit: IBM hat einiges Neues vor mit Domino, aber eben auch mit neuen Technologien, wie Docker Containern, Web-Oberflächen und Electron-basierten Clients, Box-Relay als Option für Workflows, usw.
  • IBM Verse ist heute die eleganteste und einfachste Möglichkeit auch große Mengen an E-Mails abzuarbeiten. Zum Jahresende 2016 war – wie angekündigt – Verse on Premises verfügbar geworden und ist bereits in zahlreichen Unternehmen installiert. Erfahrungsaustausch und Roadmap stehen hierzu im Fokus, wie auch die Möglichkeit Outlook als alternativen Client mit Domino zu betreiben. Und auch die kommenden FeaturePacks für IBM Notes werden ein Thema sein.
  • Beim weltweiten Marktführer (laut IDC) bei den Social Suites, IBM Connections, wird 2017 wieder ein großes Jahr: Version 6.0 kommt in ersten Halbjahr und an weiteren Neuerungen für das 2. Halbjahr wird auch bereits gearbeitet (Projektname: Pink).
  • Bei der momentan sehr hohe Weiterentwicklungsgeschwindigkeit im Collaboration-Umfeld kann kein einzelnes Unternehmen mehr alles auf entsprechender Top-Qualität alleine anbieten. Stattdessen sind Partner-Netzwerke gefragt, die die neuen API-Infrastrukturen und mit Design Thinking entwickelten, besonders einfachen Oberflächen optional mit nutzen. IBM setzt hier in der Cloud auf optionale Integration u.a. mit Box, Cisco, GENBEND und vielen mehr.

So viel neue und spannende Themen gab es aus meiner Sicht schon längere Zeit nicht – insgesamt und auch, was IBM und Partner daraus machen. Es lohnt sich also ein Abstecher nach San Francisco, zumal die Flüge (noch) überraschend günstig sind. Die „IBM Connect 2017“ Konferenz findet dort im Mascone West Konferenz-Center vom 20.-23. Februar statt, beginnt also am Montagabend und nicht wie in den letzten Jahren bereits am Sonntag. (Und bis zum 20.1. gilt noch der ermäßigte Frühbucherrabatt!)

Ich freue mich schon wieder sehr auf die vielen bekannten und neuen Gesichter!

PS.: Nur zur Erinnerung und von wegen „Dress Code“: Blümchen im Haar war zwar San Francisco, aber 1968 und schon ziemlich lange her. Das muss jetzt nicht mehr sein ….

Der Beitrag Wichtiger denn je – IBM Connect 2017 erschien zuerst auf DNUG.