The DevOps Cycle 2: Automated Deployment, Operations and Monitoring

The DevOps Cycle

Deploying in classical organizations has always been a pain. In the DevOps cycle, two roles, Dev and IT, with divergent objectives and interests battle to publish the application. These go in different work environments, such as development, integration, quality / test, pre-production, and production.

Automated deployment

DevOps automated deployment

As in any chain, it’s easy to break through the weakest link. And the more steps in the deployment processes, the more possibilities of human failure. Thus, DevOps promotes the automation of deployments through tools and scripts. With the goal of solving the entire process with an approval or activation of a feature.

 

Between each deployment environment, we must consider the context management – create, configure and destroy environments). Then, perform and pass the specific tests of each one, such as performance, resilience, functional, safety or UX tests. After, we manage configuration management (CMDB) according to the complex needs of different deployment contexts.

The most critical in this phase is the arrival of the Cloud, with its Infrastructure capabilities as a code. This forces a change from a finite infrastructure management to a management based on permanent cost optimization.

Operations: Ensuring proper functioning

DevOps

Only a minority of apps go into production without constant optimization, evolution, or support. Usually, all operations related to its operation must happen continuously throughout the life of the software. This way we have:

  1. Resources adjusted according to demand or growth of the application
  2. Dynamic change in the infrastructure due to security, performance, and availability
  3. Process optimization to improve execution and exploitation.

During the operations phase, the Cloud concept applies like a ring to the finger. Be it public, private or hybrid, this platform offers opportunities of scalability, persistence, availability, transformation, resilience and security. Furthermore, we automate the optimization of operations scenarios to mitigate failures that happen because of human error.

Monitoring

DevOps monitoring

This last phase of a DevOps process is a permanent phase and applies to the entire cycle. It’s where we monitor, analyze and measure all that displays the current status overview of the application and its infrastructure. Including all the dependencies.

And it has a reactive slope, where according to the results, we adjust the platform. Moreover, continuous learning allows us to anticipate needs and risks.

What is not defined can not be measured. What is not measured can not be improved. What is not improved, always degrades.

William Thomson

Now, the continuous feedback of all the areas of the DevOps cycle is consolidated and included in the next iteration. Either during the Planning phase, or immediately with specific corrections.

About the phases of the DevOps cycle

DevOps Phases

This was a generic, and perhaps idyllic, vision of a complete DevOps cycle. One following a logical structure, based on experience and literature. However, the reality is much more complex both in the implementation and in the execution.

But without a doubt, the biggest obstacle is communication between teams with different objectives and interests. Or maybe leaving your comfort zone to follow a trend. However, the benefits remain important in the field of productivity, Time to Market, or the flexibility of the business against customer demands.

Plesk on DigitalOcean is now a one-click app

According to Alex Konrad, Forbes Editor of the Cloud 100 list, Cloud companies like DigitalOcean are revolutionizing how businesses reach their customers today. From digitizing painful old processes to allowing them more time to focus on what they really care about. This is what makes their products unique.

As a Web Professional (Developer, Agency owner, IT Admin) your goal is to provide valuable services to your customers. You want to be able to focus on the things you’re good at. And leave the nitty gritty of technical server management, cost streamlining, running instances, backups, and account management to a VPS. Because a virtual private server fits this purpose exactly. Tired of managing infrastructure and security, when what you want is to focus on coding and improving your product or service? Then Plesk Onyx is the ideal solution.

What is Digital Ocean?

We know DigitalOcean, founded in 2011, as a cloud infrastructure provider with a “developer first” mentality. They simplify web infrastructure for software developers and their mission is to smooth out the complexities of infrastructure. How? By offering one simple and robust platform for developers to easily launch and scale their applications. DigitalOcean is now the second largest and fastest-growing cloud computing platform of all public apps and websites, according to Netcraft.

Over 750,000 registered customers have launched more than 20 million Droplets combined on DigitalOcean. The company is now investing heavily in advancing its platform to further support growing teams and larger applications in production.

DigitalOcean cloud hosting
Image: DigitalOcean

Plesk on DigitalOcean

Plesk manages and secures over 380,000 servers, automates 11 million websites and at least 19 million mailboxes. It’s the leading WebOps, Hosting and Web Server Control Panel to build, secure and run your applications, websites and hosting business. You’ll find it in 32 languages and 140 countries, with 50% of the top 100 worldwide service providers partnering with Plesk today.

Key Plesk Onyx Features

The versatile Plesk Onyx control panel
  • The WebOps platform

Manage all your domains, DNS, applications websites and mailboxes from one single platform.

  • DigitalOcean DNS – integrated into Plesk

The free Plesk DigitalOcean extension integrates Plesk with the DigitalOcean DNS service. This web service is highly available and scalable and you can use it as an external DNS service for your domains. The extension will automatically sync DNS zones between Plesk and DigitalOcean DNS. Here’s how:

  1. After installing Plesk, add your first domain/website.
  2. Then navigate to the domain and click “DigitalOcean DNS” for that domain.
  3. Enter your DigitalOcean API credentials into the extension. Or use OAuth to authorize your DigitalOcean account.
  4. Start having your domains in sync with Digital Ocean DNS.
  • Automated Server Administration

Easily manage your server, including automated updates, application deployment, monitoring, backups and maintenance.

  • User-Friendly Interface

One dashboard to manage multiple sites. Build websites, run updates, monitor performance, and onboard new customers from one place.

  • Security

Plesk on DigitalOcean secures  your applications and websites automatically.  You get a firewall, fail2ban and a web application installed and activated by default. Plus various additional options available on demand as Plesk Extensions. Or by simply upgrading to a Premium Plesk Edition.

  • Ready-to-Code Environment

Enable and manage multiple PHP versions and configurations, JavaScript, Perl, Ruby or Node.js, all in one-click. Every stack is deployed automatically and allows you to do custom configurations as you need.

  • Self-Repair Tools

We built automated healing and recovery functionality into Plesk, so many technical issues can self-repair without any need for support. This starts at fully-automated (safe) updates, including all OS components. And goes to various available manual self-repair tools up to a complete repair panel, in the unlikely event of something going wrong. Additionally, Plesk continuously monitors all relevant system components’ health, and provides notifications to the administrator before something goes wrong.

  • Multi-Language support

Plesk is available in 32 languages.

  • Plesk Extensions

Plesk  is a super-light application, automating all your server components and management needs on Lightsail in a single environment. As your business needs grow, you can use the in-app Plesk Extensions catalog to enable additional features on-demand. Many are free and some provide extra value when premium. Get access by clicking on “Extensions” inside Plesk itself.

Plesk WordPress Toolkit – secure and simple

Staging environment best practices - Plesk WordPress Toolkit

Find full details on Plesk WordPress Toolkit here, but here are some key features below.

  • WordPress Simplified:

One-click installer to initialize and configure WordPress from start to finish. One dashboard to mass-manage multiple WordPress instances.

  • Secure Against Attacks

Hardens your site by default, further enhanced with the Toolkit’s security scanner. No security expertise necessary.

  • Run and Automate your WordPress

Singularly or mass-execute updates to the WP core, themes or plugins. Monitor and run all your WordPress sites from one dashboard.

  • Simple, but not Amateur

Get full control with WP-CLI, maintenance mode, debug management, search engine index management and more.

  • Stage and Test*

Test new features and ideas in a sandbox before pushing them to production – No plugins required, no separate server needed.

  • Cut Out Complexity*

Stage, Clone, Sync, Update, Migrate and more. Execute all these complex tasks with one click. No more high-risk activities or stressed-out dev teams.

  • Smart Updates powered by AI*

Smart Updates feature for WordPress Toolkit analyzes your WordPress updates and performs them without breaking your site. Otherwise, it will warn you the update may be dangerous.

  • One-Click Performance Optimized*

You can reach a maximum performance of your WordPress sites and no time and with great simplicity. Just enable NGINX caching in one click and combine with Speed Kit, powered by a distributed Fastly® CDN and Varnish cache.

*Some of these features are not available within the free Plesk Web Admin SE but require an upgrade to a higher value premium edition of Plesk or Plesk Extension.

Plesk on DigitalOcean (free) includes Plesk Web Admin Edition SE, a free version of Plesk with up to 3 domains and good for small websites and certain limitations. To gift yourself with a higher value Plesk edition, check out our Plesk Upgrades.

How to deploy Plesk on DigitalOcean

  1. First, log in to your DigitalOcean account.

2. Then, from the main dashboard, click “Droplets” and “Create” -> “Droplets”.

Plesk on DigitalOcean now a one-click app - How to deploy - Create Droplet

3. Under “Choose an image”, click “one-click apps”

4. Select “Plesk”.

PLesk on DigitalOcean - Now a one-click app - Choose a size - Droplets

5. Choose your size and then a data center region. If you plan to host small business websites, we recommend choosing the zone closest to their geographic location to reduce page load times for local visitors.

Note: Plesk runs smoothly with 1GB RAM and 1 vCPU for smaller websites and environments. Running many websites or higher traffic requires a larger droplet size.
Please also refer to the Plesk infrastructure requirements for details.

Plesk on DigitalOcean now a one-click app - Finalize and create Droplet

6. Additional options such as Private networkingBackupsUser data, and Monitoring are not necessary for most Plesk users. Then click “Create”.

7. You can log in to your droplet using:

  • A root password, which you will receive by email. If you go with this option, skip the “Add your SSH keys” step and go to the next one.
    • Just type in your browser: https://<your-droplet-IP>:8443 . You will potentially see for 30 seconds some finishing procedure of the automatic deployment. Afterwards you will automatically land in the initial on-boarding of Plesk.
  • An SSH key. If you go with this option, click New SSH key to add a new SSH key or select a previously added key (if you have any).

Note: Using SSH keys is a more secure way of logging in. If you use a root password, we strongly recommend that you log in to the droplet command line and change the root password received by email. The command line will automatically prompt you to do so.

Enjoy and let us know if there are any questions!

Deploying Plesk Onyx on Microsoft Windows Azure

Cloud computing provides businesses the ability to quickly scale computing resources without the costly and laborious task of building data centres, and without the costs of running servers with idle capacity due to variable workloads. To simplify dynamic provisioning in the Cloud for infrastructure providers (including service providers who offer dedicated servers, VPS or IaaS), Plesk now provides ready-to-go images for deploying on Microsoft Windows Azure.

What is Windows Azure?

Quite simply, anything you want it to be.

This cloud platform from Microsoft provides a wide range of different services, to help you build, deploy, and manage solutions for almost any purpose you can imagine. In other words, Windows Azure is a world of unlimited possibilities. Whether you’re a large enterprise spanning several continents that needs to run server workloads, or a small business that wants a website with a global reach, Windows Azure provides a platform for building applications that can leverage the cloud to meet the needs of your business.

In addition to traditional cloud offerings, Azure offers services that leverage proprietary Microsoft technologies. For example, RemoteApp allows for the deployment of Windows programs using a virtual machine running Windows, OS X, Android, or iOS through a remote desktop connection. Azure also offers cloud-hosted versions of common Microsoft enterprise solutions, such as Active Directory and SQL Server.

Questions about Windows Azure?

There are two great places you can go online to ask questions about Windows Azure and get answers from the community:

  • The Windows Azure forums on MSDN.
  • Get involved with the Azure Community on Stack Overflow here.

The best way to keep up with new features and enhancements in Windows Azure is by following the official Windows Azure Blog. If you use a newsreader, you can subscribe to the RSS feed for this blog and get the news as it happens.

Microsoft Windows Azure Dashboard
Image: Microsoft

What is Plesk Onyx?

It’s what Web Professionals like Developers, Designers, Agencies, IT-Admins use to simplify their work lives.

Plesk is the leading WebOps platform to build, secure and automate applications, websites and hosting businesses. Available in more than 32 languages across 140 countries in the world, 50% of the top 100 worldwide service providers are Plesk partners. Our WebOps platform is designed to help infrastructure providers create targeted solutions for Web Professionals, Web Hosts, and Hosting Service Providers.

Key solution areas include:

  • Unlimited domains
  • WordPress Toolkit
  • Developer Pack
  • Subscription Management
  • Account Management
  • Reseller Management

The new Plesk Onyx for Windows and Linux (WebHost) also includes a tightly integrated set of mass-management and security tools that can be used to protect and automate WordPress. All Plesk-powered systems come with built-in server-to-site security, promising more reliable infrastructure and reduced support costs.

Plesk Onyx at Microsoft Windows Azure Virtual Machines Marketplace
Image: Microsoft

Here’s the good news: Plesk Onyx now runs on Microsoft’s cloud infrastructure to provide the scalability, security, and performance that customers depend on.

Better news yet, Plesk provides a variety of virtual machine images with the most popular configurations. So no actual installation is required. You’ll just need to create a virtual machine from the appropriate image. All available images for virtual machines can be found in the Microsoft Azure Marketplace.

 

Which virtual machine images are provided?

The new Plesk Onyx images are shipped in three editions and are available for both Windows and Linux.

The ‘Bring Your Own License’ (BYOL) instance of Plesk Onyx allows you to purchase your own license directly from the Plesk Online Store or from a Plesk reseller. For Plesk Onyx WebHost images, the cost of your license is included in the hourly charge for the instance. Plesk Onyx licenses are available for two platform types: for Dedicated Servers and for VPS.

License and OS version:
Plesk Onyx images at Microsoft Windows Azure

Now that you’re familiar with the Windows Azure platform and Plesk, you’re ready to take the next steps. And there’s no better way to experience the powerful capabilities of Windows Azure than trying out the platform for yourself.

 

Getting started with Plesk and Windows Azure

Microsoft is currently offering a free one-month trial of Windows Azure that provides you with $200 of Windows Azure credits you can use for whatever you want. You get full access to the platform with no strings attached. Just sign in with your Microsoft account and fill out the form.

Tutorials

These tutorials by Cynthia Nottingham, Technical Writer at Microsoft, shows you how easy it is to create a Windows virtual machine (VM) from a Plesk-published image by using the Azure portal.

 

Quick Start Guide: Create a virtual machine

Log into the Azure Portal and on your Dashboard, select New> Compute. Search for the Plesk virtual machine images and select the appropriate Plesk configuration.

Microsoft Windows Azure - Plesk Onyx images
Image: Microsoft

When configuring a virtual machine, you will be asked to specify the following settings:

1. Basic settings: virtual machine name, disk type (SSD or HD), username and password, your Azure subscription and resource group.

Note: The root username cannot be used during the VM creation. You may grant the root user access to the VM later from the console.

For Linux VM, you can choose the following authentication types:

  • SSH public key. In this case, you should specify your SSH public key. You can find information about creating public and private SSH keys here.
  • Password. In this case, you should specify and confirm the password that will be used for connection to the virtual machine.

2. VM size. You can choose one of available standard sizes provided by Azure.

3. Storage and network settings, including virtual network, subnet, public IP address, network security group (firewall). It is OK to leave the default values for most options.

Note: By default, your machine will have a dynamic IP address, so that the IP address will be changed each time when the virtual machine is restarted. If you want to avoid this, click Public IP address and then select the Static option. The virtual machine will be created with a static IP address.

4. Deployment. When you’ve dialed in all the settings, you’ll be presented with a summary. Confirm these settings for your new VM and click OK. Finally, your offer details will be generated and you can now purchase your virtual machine by clicking the Purchase button. The deployment process will start, and you will see its progress on your Dashboard.

5. You’ve created a VM. Your new VM will deploy in a couple of minutes. Once your virtual machine is deployed, it will be automatically started and the setting page will be displayed. You also can view and manage your virtual machine settings by going to Virtual Machines and selecting your virtual machine name.

Of course, you will be able to see the Public IP address of the machine.

Microsoft Azure - virtual machine configuration
Image: Microsoft

Access Plesk Onyx on your virtual machine

Connect to the virtual machine.

  • If you’ve created a Windows Virtual Machine, you can connect to it via Remote Desktop. Go to the Azure Portal Dashboard >Virtual Machines, choose your VM, and click Connect. This will create and download a Remote Desktop Protocol file (.rdp file) that acts like a shortcut to connect to your machine. Open this file and connect to your virtual machine using your login and password.

  • If you have a Linux VM, you can SSH into its public IP address that is displayed in the virtual machine’s settings. Depending on your selected authentication type, you may either use a login and password, or your SSH public key.

  • From a Mac or Linux workstation, you can SSH directly from the Terminal. For example:

     ssh -i ~/.ssh/azure_id_rsa [email protected]
  • If you are on a Windows workstation, then you will need to use PuTTY, MobaXTerm or Cygwin to SSH to Linux. For details, see How to Use SSH keys with Windows on Azure.

 

Get a one-time login for logging in to Plesk

  • On the virtual machine, run

     $ sudo plesk login

    to get a one-time login for logging in to Plesk. You will receive two links: based on the virtual machine name and based on the IP address. Use the link based on the IP address to log in to Plesk.

login via ssh to Plesk Onyx

Note: You cannot use the link based on the virtual machine name the first time you log in because Plesk has not passed the initial configuration and the full hostname has not been created yet. You should use the link corresponding to your public IP address.

 

Running the Installation/Configuration wizard

1. When you log into Plesk, you will see the View Selector page. On this page, you can choose the appearance of the panel as per your requirements.

Plesk Onyx configuration wizard
Image: Plesk Onyx

Once your purpose has been identified, a second drop-down menu will emerge asking you select your preferred layout. This can be changed later.

2. Then comes the Settings page. Here you need to fill in your hostname, IP configuration, and admin password.

  • New hostname: Fill in your primary domain (i.e. testdomain.com).
  • Default IP Address: Leave the IP as default.
  • New password: Change the default administrator password.

Plesk Onyx Settings
Image: Plesk Onyx

3. Next is the Administrator information page. Just fill in the information asked and proceed to the next page.

4. Then comes the License key install page. Your Microsoft Azure instance is billed on an hourly basis, starting when it boots up and ending with the instance termination.

  • If you have a Bring Your Own License (BYOL) Plesk Onyx image, your hourly charge for the Microsoft Azure instance will be lower but you need to purchase and install the Plesk product license yourself. You can order, retrieve and install a 14-day full-featured trial license from this page. Since you have already purchased a license key, proceeding with installing the license key.
  • If you have a non-BYOL Plesk Onyx image, for example, Plesk Onyx on Windows 2012 R2 (WebHost), the cost of the license will be included in the hourly charge for the instance.

5. On the Create your Webspace page you can specify the domain name of your first subscription, and system user account username and password that you will use to manage it. This will create a subscription for hosting multiple sites.

6. Woohoo! Plesk is now configured!

Plesk Onyx - Administration dashboard
Image: Plesk Onyx

Thanks to the Microsoft Windows Azure team for co-authoring the introduction to this article and for providing feedback and technical insights on Windows Azure.

Be well, do good, and stay Plesky!