Revival

I keep a folder in my phone with every blog piece I’ve written. When I opened that folder a week ago, I saw the last piece I wrote was almost one year ago. The trouble I find with writing is that…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Technologies And Services Used

100% Managed Wiki deployment using Microsoft Azure App Service (Docker-based) and Azure Database for PostgreSQL Servers.

Dear Readers!

Would like to learn how to deploy a functional cloud infrastructure with managed services without the need to provision virtual machines? Since you are curious to find out how this can be accomplished, I warmly invite you to join me in this fun project where I will use Microsoft Azure PaaS offerings (cloud resources) to create a Wiki website platform without needing to set up underlying infrastructure. I’ll take it step by step for you to learn the process as we move along!

Azure Database for PostgreSQL | Microsoft Azure App Services | Azure Repos | Wiki.js | Docker | Docker-Based Image

Azure Database for PostgreSQL is a fully managed database service provided by Microsoft Azure that enables users to run and manage PostgreSQL servers in the cloud. It is designed to be highly available, secure, and scalable, and offers a range of features for managing PostgreSQL databases, including automatic backups, point-in-time restore, replication, and more.

With Azure Database for PostgreSQL, users can deploy and manage PostgreSQL instances with minimal effort and cost, as the service takes care of the underlying infrastructure and management tasks, such as patching, updates, and monitoring. It also provides integration with other Azure services, such as Azure Virtual Network, Azure Active Directory, and more, to enhance its functionality and extend its capabilities.

Microsoft Azure App Service is a fully managed Platform-as-a-Service (PaaS) offering provided by Microsoft Azure that enables users to build, deploy, and scale web, mobile, and API applications in the cloud.

Azure App Service provides a range of features for managing application development, including support for multiple programming languages and frameworks, automated deployment and scaling, continuous integration and deployment (CI/CD) pipelines, and more. It also provides integration with other Azure services, such as Azure SQL Database, Azure Cosmos DB, and more, to enhance its functionality and extend its capabilities.

With Azure App Service, users can focus on building their applications, without worrying about the underlying infrastructure and management tasks, such as patching, updates, and monitoring. It also provides a range of tools for monitoring and diagnosing application issues, as well as for managing application performance and scalability.

Azure Repos is a centralized source code management service provided by Microsoft as part of the Azure DevOps Services suite. It allows developers to store and manage their source code in a secure, scalable, and highly available repository hosted in the cloud.

Azure Repos supports two types of version control systems: Git and Team Foundation Version Control (TFVC). Git is a distributed version control system that enables developers to work in a local repository and push changes to a central repository. TFVC, on the other hand, is a centralized version control system that relies on a central repository for source control.

Azure Repos provides a range of features to facilitate collaboration and streamline software development workflows, including code reviews, pull requests, branching and merging, and integration with other Azure DevOps Services tools like Azure Pipelines for continuous integration and deployment. Additionally, Azure Repos integrates with a variety of third-party tools and services, such as Visual Studio, Visual Studio Code, and GitHub.

Wiki.js is a modern, open-source wiki software that allows individuals and organizations to create and manage their own wiki sites. It provides a user-friendly interface for creating and editing pages, as well as features like version control, access control, and advanced search functionality. Wiki.js also supports a wide range of content formats, including markdown, HTML, and PDF, and can be customized with plugins and themes. It can be installed on a variety of platforms, including Linux, Windows, and macOS, and is available both as a self-hosted solution and as a cloud-based service. Wiki.js has over 50+ integrations bundled with everything you need. Its documentation 2.0 gives you step-by-step instructions to set it up and run it.

Azure Repos is a centralized source code management service provided by Microsoft as part of the Azure DevOps Services suite. It allows developers to store and manage their source code in a secure, scalable, and highly available repository hosted in the cloud.

Azure Repos supports two types of version control systems: Git and Team Foundation Version Control (TFVC). Git is a distributed version control system that enables developers to work in a local repository and push changes to a central repository. TFVC, on the other hand, is a centralized version control system that relies on a central repository for source control.

Azure Repos provides a range of features to facilitate collaboration and streamline software development workflows, including code reviews, pull requests, branching and merging, and integration with other Azure DevOps Services tools like Azure Pipelines for continuous integration and deployment. Additionally, Azure Repos integrates with a variety of third-party tools and services, such as Visual Studio, Visual Studio Code, and GitHub.

Docker is a software platform that provides a way to package, deploy, and run applications within containers. Containers are lightweight and portable environments that allow applications to run consistently across different systems and environments, without requiring the same underlying system configurations or dependencies.

Docker provides a simple and efficient way to create, manage, and share containers. Docker allows developers to create an image of an application, along with its dependencies, and run it as a container on any system that has Docker installed, without worrying about differences in underlying systems or configurations. This makes it easier to build, test, and deploy applications, and can help improve productivity and reduce errors.

Docker-Based Image refers to an application or system that has been built using Docker technology or is designed to run inside Docker containers. Docker is a platform that allows developers to package, deploy, and run applications in a containerized environment, which provides a lightweight and portable way to distribute software across different systems and environments. In other words, “docker-based” applications are those that have been designed to work specifically within the Docker ecosystem.

In this project I acted as a Cloud Engineer. My responsibility was to deploy a web-based Wiki to the cloud that offered unrestricted access to all team members. This facilitated collaborative document creation, enabling the team to view the most up-to-date version of the document and suggest enhancements, thereby improving the team’s ability to organize and manage documents.

I deployed a solution using Azure Database for PostgreSQL Servers and Azure App Service. To ensure the consistency and accessibility of important documents like Runbooks and Knowledge Bases (KBs), which require regular updates, I avoided storing them locally. Instead, I moved them to the cloud, where they could be easily accessed and updated by the team without any inconsistencies in data.

There’s always more to learn, particularly in a fast-moving field like cloud computing. With the technologies and services discussed, and the project description explained above, are you ready to get your hands dirty?

I always begin every cloud solution with planning because planning before architecting a cloud solution is essential for achieving cost savings, efficient resource utilization, improved scalability, better security, and alignment with project goals.

I started off by creating a database for this project using Azure Console and Azure PostgreSQL for Database servers.

Azure Database for PostgreSQL Servers On Azure Console

I used the ‘create’ button on the Azure Database for PostgreSQL servers page to start the process of creating the database.

Create Interface For Database

On the deployment option page, I selected “Single server” for the database instance.

Database Resource Type

At the configure page, I chose Basic configuration for this project.

Basic Configuration Settings

Selecting the appropriate resource group, I gave the database a unique name as “tcbktawiki01.”

Database Setup

Inserted Admin username and password.

Database Admin Username & Password

Once the Administrator’s name and password were inserted, I reviewed the configurations and proceeded to launch the database.

Database Basic Configuration

With Azure’s validation passed, I was able to create the “tcbktawiki01” database for the project.

“tcbktawiki01” Database

In order to connect to Azure App service, I enabled “Connection security” on the “tcbktawiki01” database and save the modification. Enabling “yes” for “Connectivity security” allows other Azure services to remotely connect to the database.

If “Connectivity security” is not enabled on the database, it will deny all connection requests from the application (Wiki.js) running inside the Docker container. Therefore, it is important to ensure that this configuration is set up correctly.

Connection Security Enabled

Back in Azure Console, I provisioned App Service (Web App) to set it up.

Using the “create” button on the App Services page, I launched Create Web App.

App Services Creation

I named Web App “tcbktawiki01 and continued with the rest of the configuration”

Web App Creation

For publishing the Wiki.js website, I opted for the “Docker Container”, which simplifies the deployment and operation of the Wiki.js application. The container is a portable environment that allows the application to be always-on.

Docker Container To Hold The Wiki.js Application

With Docker Hub serving as the image source and using “requarks/wiki” for the image and tag, Azure web app can easily pull the Wiki.js software package, allowing for quick deployment of the Wiki.js application in just seconds.

After reviewing the web app configurations, I launched it using the default settings for networking, monitoring, and tags.

Basic Configuration For Web App

The web app ‘tcbwikikta’ was deployed successfully.

After successfully deployment of the web app, I launched the dockerhub website and did a quick search for the Wiki.js site image. The Docker Hub is the world’s largest library and community for container images as indicated in the image below.

Docker Hub Site For Wiki.js Image

I subsequently visited the Wiki.js website after completing the task above.

Navigating through the site’s 2.0 documentation, I acquired the knowledge to link the Azure Web App (tcbwikikta) to the Wiki.js application running on Docker as illustrated below.

Wiki.js Web App Configuration Settings For Azure App Service

I went back to the Azure portal and navigated to the configuration settings of the ‘tcbwikikta’ web app, where I created the necessary settings to link it with the Docker container hosting the Wiki.js application.

Web App Connection Settings To Link Docker Container

The image below displays the first setting.

First Setting

The second setting.

Second Setting

In just a few minutes, I completed all the necessary settings.

Configuration Settings For Docker Container

I clicked on “Save” to update the web app settings.

I restarted the web app after updating it.

Web App Restarted Successfully

After restarting the web app, I checked the ‘Log stream’ to verify that everything was working properly. As shown below, the web app was successfully launched without encountering any issues.

Web App Initiated Successfully

I returned to the Overview page of the web app and copied the URL address, then launched it to install the Wiki.js application.

Azure Web App To Install Wiki.js Software Package

After providing the necessary credentials, I was able to install the Wiki.js application on a Docker container. The container is a lightweight and portable environment that will allow the Wiki.js application to run consistently.

The Wiki.js application interface is running on a Docker container, and I was able to gain access to the application using my email address and password credentials.

Gateway To Wiki.js

Gaining access to the Wiki home for the team was a humbling experience.

Successfully Logged Into Wiki Site For The Team

The welcome page of Wiki.js

Wiki.js Main Page For The Team

Using the “CREATE HOME PAGE” button, I launched the page editor.

I used the “Visual Editor” to create a home page Cloudoers team.

Configured A Home Page For Cloudoers

The Wiki.js platform’s Cloudoers homepage is running from a Docker Container.

I utilized the interface provided below on the Wiki.js platform’s “Administration Area” to upload the logo of Cloudoers company.

Cloudoers Logo Upload

The below snapshots are Wiki.js platform dashboard, locale, storage ,

Locale Settings
System Info

In summary, the team has created a strong and dependable cloud system by using tools like Azure Database for PostgreSQL, Microsoft Azure App Services, Wiki.js, Docker, and Docker-Based Images.

This system makes sure that the services and programs are always accessible, can grow as needed, and are safe. It also makes it easy for the team to work together by using Wiki.js. I am sure that this system will work well for both present and future team projects.

Thank you for taking the time to read this; I sincerely hope that the reading was engaging and informative for you. Your support is highly appreciated, and I kindly request that you like, share, and provide constructive feedback. Stay tuned for more exciting real-world scenarios and hands-on projects.

#Wiki.js #Azurepostgresql #Database #Azureappservices #Docker #Dockercontainer #Dockerimage

Add a comment

Related posts:

Creative Bursts

I know that a lot of people write on a schedule. They set aside time every day and don’t allow distractions to disrupt their flow. That isn’t me. In 50 years of songwriting, I’ve often gone through…

Hodlnaut launches free internal transfers for crypto

Hodlnaut has announced a new feature promising free internal transfers within the app — users can now quickly transfer crypto to their friends and family for free within the platform — saving time…

4 Important Life Lessons Your Inner Self Wants You To Remember Now and Ever

If you start appreciating what you have instead of anguishing over the things you don’t have, then you will enter that state of fortune. Trust in your life, in your possibilities, in yourself. That’s…