PostgreSQL or Postgres is an open source object-relational database management system (ORDBMS) with more than 15 years of active development. It’s a powerful database server and can handle high workloads. PostgreSQL can be used on Linux, Unix, BSD and Windows servers.
Set Up Master-Slave Replication on PostgreSQL
PostgreSQL 9.5 Ubuntu 16.04
Database replication is the term we use to describe the technology used to maintain a copy of a set of data on a remote system. Keeping a reliable copy of a running system is one of the biggest concerns of redundancy and we all like maintainable, easy-to-use and stable copies of our data.
Typically, individual database servers are referred to as nodes. The whole group of database servers involved in replication is known as a cluster. A database server that allows a user to make changes is known as a master or primary or may be described as a source of changes. A database server that only allows read-only access is known as a Hot Standby.
Amazon EC2 Linux instances do not come with a GUI. By default, you need terminal access for all application configuration. Most of the developers/sysadmins working with Linux would prefer the command line over Graphical User Interface. But developers who are new to Linux would require a GUI for installing and managing the applications. Once you installed the GUI essentials on your server, you can access it via windows remote desktop client. If you are using Linux, then you can use VNC viewer as a remote desktop client. In order to have a GUI, a lightweight LXDE desktop has to be installed on your server.
Create a source bundle, which includes the deployment scripts, and upload it to AWS CodeCommit repository
Now you can download the following sample bundle to your local repository and push the change to the central repository along with your application code hosted on AWS CodeCommit. The sample bundle includes everything you need to work AWS CodeDeploy: the Application Specification (AppSpec) file and deployment scripts.
Use AWS CodeDeploy to Deploy Amazon EC2 Instances Behind an Elastic Load Balancer and Auto Scaling
Let’s assume you have an application architecture designed for high availability that includes an Elastic Load Balancer in front of multiple application servers belonging to an Auto Scaling Group. Elastic Load Balancing enables you to distribute incoming traffic over multiple servers and Auto Scaling allows you to scale your EC2 capacity up or down automatically according to your needs In this blog post, we will show how you can use CodeDeploy to avoid downtime when updating the code running on your application servers in such an environment. We will use the CodeDeploy rolling updates feature so that there is a minimum capacity always available to serve traffic and use a simple script to take EC2 instances out of the load balancer as and when we deploy new code on it.
AWS CodeDeploy coordinates application deployments to Amazon EC2 instances, on-premises instances, or both. (On-premises instances are physical devices that are not Amazon EC2 instances.)
An application can contain deployable content like code, web, and configuration files, executables, packages, scripts, and so on. AWS CodeDeploy deploys applications from Amazon S3 buckets and GitHub repositories.
You do not need to make changes to your existing code to use AWS CodeDeploy. You can use AWS CodeDeploy to control the pace of deployment across Amazon EC2 instances and to define the actions to be taken at each stage. AWS CodeDeploy works with various systems for configuration management, source control, continuous integration, continuous delivery, and continuous deployment.