Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Practical OneOps
Practical OneOps

Practical OneOps: Implement DevOps with ease

eBook
€8.99 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Practical OneOps

Chapter 1. Getting Started with OneOps

Since you are reading this book, you are probably keen to get up-and-running with OneOps. Deploying OneOps in an enterprise environment is a complex task. It is always prudent to start with a test installation. A test installation allows you to test all the features in isolation without affecting your current network and applications. You can also use a test installation as your developer sandbox.

A fully fledged OneOps installation consists of lot of moving parts and complex configurations. Fortunately, almost all of these are automated and for the test install they come in nice little bundles. This chapter will show you two ways to configure a test installation that can also be used as developer sandbox. We will then see how to configure our first installation of OneOps. The two ways you can install OneOps are:

  • Amazon AMI
  • Vagrant

Amazon AMI

There are multiple reasons why you may want to run OneOps on AWS rather than your own infrastructure. Running on AWS offloads all your infrastructure management needs to Amazon so you can focus on delivery. This is crucial for you if you want to keep your DevOps team small. If the rest of your infrastructure, services, and application are also on AWS, it makes strategic sense to have your management software on AWS too. Finally, AWS provides easy options for redundancy and scalability. The downside of this option is that you cannot add your own custom cloud that runs on your own premises without considerable configuration, for example, a VPN tunnel.

OneOps provides a basic AMI in the public marketplace on Amazon AWS. This AMI comes with some basic configuration already in place to get you up-and-running. Instantiating OneOps on AWS is the quickest way you can get up and running with OneOps. There are two ways you can do this. They are as follows:

  • Using the AWS command line tool
  • Using the AWS web-based console

Knowing how to spin up the OneOps AMI from the command line comes in handy as you can make it a part of your automation or DevOps delivery chain later.

Note

You can find more details on installing the AWS command line tool here:http://docs.aws.amazon.com/cli/latest/userguide/installing.html.

Once you have the command line tool installed, the first step is to generate a keypair, which you will use to connect to the new instance you will spin up.

  1. Run the command following to generate the keypair.
    $ aws ec2 create-key-pair --key-name OneOpsAuth         --query 'KeyMaterial' --output 'text' > OneOpsAuth.pem
    
  2. Once the keypair is generated, create a security group to control the traffic to the instance.
    $ aws ec2 create-security-group --group-name OneOps-sg         --description "Oneops Security Group"
            {   
              "GroupId": "sg-05e2847d"
            }
    

    Note the GroupId of the group that you just created as we will need it when we open up ports. We will now open up access to ports 22 and 3000, port 22 so you can SSH to it remotely and 3000 because the OneOps frontend is a Ruby on Rails application and is accessible on port 3000.

    $ aws ec2 authorize-security-group-ingress --group-id         sg-903004f8 --protocol tcp --port 22 --cidr 0.0.0.0/0
            $ aws ec2 authorize-security-group-ingress --group-id         sg-903004f8 --protocol tcp --port 3000 --cidr 0.0.0.0/0
    

    Note that we opened up access to the whole world on port 22 and 3000 by giving access to 0.0.0.0/0. If you always login from a fixed set of IP addresses, such as a corporate network, you might want to secure your installation by giving access to that set of IP addresses only.

  3. Finally verify that your security group was created successfully and the permissions were applied correctly.
    $ aws ec2 describe-security-groups --group-id sg-05e2847d
            {
            "SecurityGroups": [
                {
                    "IpPermissionsEgress": [
                        {
                            "IpProtocol": "-1", 
                            "IpRanges": [
                                {
                                    "CidrIp": "0.0.0.0/0"
                                }
                            ], 
                            "UserIdGroupPairs": [], 
                            "PrefixListIds": []
                        }
                    ], 
                    "Description": "OneOps Security Group", 
                    "IpPermissions": [
                        {
                            "PrefixListIds": [], 
                            "FromPort": 22, 
                            "IpRanges": [
                                {
                                    "CidrIp": "0.0.0.0/0"
                                }
                            ], 
                            "ToPort": 22, 
                            "IpProtocol": "tcp", 
                            "UserIdGroupPairs": []
                        }, 
                        {
                            "PrefixListIds": [], 
                            "FromPort": 3000, 
                            "IpRanges": [
                                {
                                    "CidrIp": "0.0.0.0/0"
                                }
                            ], 
                            "ToPort": 3000, 
                            "IpProtocol": "tcp", 
                            "UserIdGroupPairs": []
                        }
                    ], 
                    "GroupName": "OneOps-sg", 
                    "VpcId": "vpc-45e3af21", 
                    "OwnerId": "377640004228", 
                    "GroupId": "sg-05e2847d"
                }
            ]
            }
    

    Finally, we are almost ready to launch the AMI. However, for that we need the instance ID for the correct AMI. OneOps AMI names are structured as OneOps-basic-preconf-v* where * is 1.1, 1.2.

  4. To find the latest version of image available run the command following:
    $ aws ec2 describe-images --filter "Name=name,Values=OneOps*"         --query 'Images[*].{Name:Name,ID:ImageId}'
            [
                {
                    "Name": "OneOps-basic-preconf-v1.3", 
                    "ID": "ami-076c416d"
                }, 
            {
                    "Name": "OneOps-basic-preconf-v1.2", 
                    "ID": "ami-fc1b3996"
            }
            ]
    

    Once you have the AMI ID, you are now ready to launch the OneOps instance.

  5. Run the following command to launch the AMI instance.
    $ aws ec2 run-instances --image-id ami-076c416d         --count 1 --instance-type m4.large  
            --key-name OneOpsAuth --security-group-ids sg-05e2847d
            {
            "OwnerId": "377640004228",
            "ReservationId": "r-e8a1e943",
            "Instances": [
                {
                    "Hypervisor": "xen",
                    "PublicDnsName": "",
                    "VpcId": "vpc-45e3af21",
                    "RootDeviceName": "/dev/sda1",
                    "StateReason": {
                        "Message": "pending",
                        "Code": "pending"
                    },
                    "ProductCodes": [],
                    "ClientToken": "",
                    "Architecture": "x86_64",
                    "SubnetId": "subnet-2311d009",
                    "State": {
                        "Name": "pending",
                        "Code": 0
                    },
                    "PrivateIpAddress": "172.31.56.32",
                    "InstanceId": "i-4af1d7c9",
                    "SecurityGroups": [
                        {
                            "GroupId": "sg-05e2847d",
                            "GroupName": "OneOps-sg"
                        }
                    ],
                    "EbsOptimized": false,
                    "VirtualizationType": "hvm",
                    "KeyName": "OneOpsAuth",
                    "Placement": {
                        "AvailabilityZone": "us-east-1b",
                        "Tenancy": "default",
                        "GroupName": ""
                    },
                    "StateTransitionReason": "",
                    "ImageId": "ami-076c416d",
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "SourceDestCheck": true,
                    "InstanceType": "m4.large",
                    "BlockDeviceMappings": [],
                    "RootDeviceType": "ebs",
                    "PrivateDnsName":                     "ip-172-31-56-32.ec2.internal",
                    "NetworkInterfaces": [
                        {
                            "PrivateIpAddress": "172.31.56.32",
                            "PrivateIpAddresses": [
                                {
                                    "PrivateIpAddress": "172.31.56.32",
                                    "Primary": true,
                                    "PrivateDnsName":                                     "ip-172-31-56- 32.ec2.internal"
                                }
                             ],
                            "MacAddress": "12:a5:58:7e:f5:f1",
                            "VpcId": "vpc-45e3af21",
                            "Groups": [
                                {
                                    "GroupId": "sg-05e2847d",
                                    "GroupName": "OneOps-sg"
                                }
                            ],
                            "OwnerId": "377649884228",
                            "SourceDestCheck": true,
                            "Attachment": {
                                "DeleteOnTermination": true,
                                "AttachTime": "2016-03-24T19:53:13.000Z",
                                "Status": "attaching",
                                "DeviceIndex": 0,
                                "AttachmentId": "eni-attach-9a96416b"
                            },
                            "PrivateDnsName":                             "ip-172-31-56-32.ec2.internal",
                            "Status": "in-use",
                            "Description": "",
                            "SubnetId": "subnet-2311d009",
                            "NetworkInterfaceId": "eni-2aeed90f"
                        }
                    ],
                    "LaunchTime": "2016-03-24T19:53:13.000Z",
                    "AmiLaunchIndex": 0
                }
            ],
            "Groups": []
    }
    

    image-id is the ID you obtained from the previous query for the latest image version (in this case v1.3). The key name is the new key you created and the security group is the group you created. Replace the values in the preceding command as needed. Make sure the InstanceType is m4.large as OneOps needs at least 8 GB of memory to run. The image will also attach two block devices to the instance for storage. Give the instance a few minutes to start. Lastly tag the instance with a tag called OneOps so you can easily find it. For this you will need the InstanceId. For example, in the previous output, you can see the InstanceId for the instance created above is i-4af1d7c9.

That's it! Now look up the public IP of your instance and connect to it at port 3000. You should see the OneOps login screen.

$ aws ec2 describe-instances --filter "Name=tag:Name,Values=OneOps"
{
"Reservations": [
    {
        "Groups": [],
        "OwnerId": "377649884228",
        "ReservationId": "r-e8a1e943",
        "Instances": [
            {
                 "PublicIpAddress": "54.86.6.251",
                "State": {
                    "Code": 16,
                    "Name": "running"
                },
                "Architecture": "x86_64",
                "LaunchTime": "2016-03-24T19:53:13.000Z",
                "SubnetId": "subnet-2311d009",
                "ProductCodes": [],
                "PrivateIpAddress": "172.31.56.32",
                "Monitoring": {
                    "State": "disabled"
                },
                "PrivateDnsName": "ip-172-31-56-32.ec2.internal",
                "NetworkInterfaces": [
                    {
                        "Groups": [
                            {
                                "GroupId": "sg-05e2847d",
                                "GroupName": "OneOps-sg"
                            }
                        ],
                        "OwnerId": "377649884228",
                        "NetworkInterfaceId": "eni-2aeed90f",
                        "SourceDestCheck": true,
                        "SubnetId": "subnet-2311d009",
                        "PrivateIpAddress": "172.31.56.32",
                        "Status": "in-use",
                        "MacAddress": "12:a5:58:7e:f5:f1",
                            "VpcId": "vpc-45e3af21",
                        "Description": "",
                        "PrivateDnsName":                             "ip-172-31-56-32.ec2.internal",
                        "PrivateIpAddresses": [
                            {
                                "Association": {
                                    "PublicIp": "54.86.6.251",
                                    "IpOwnerId": "amazon",
                                    "PublicDnsName":                                         "ec2-54-86-6-251.compute-                                        1.amazonaws.com"
                                },
                                "PrivateDnsName":                                     "ip-172-31-56-32.ec2.internal",
                                "PrivateIpAddress": "172.31.56.32",
                                "Primary": true
                            }
                        ],
                        "Attachment": {
                            "DeviceIndex": 0,
                            "AttachTime": "2016-03-24T19:53:13.000Z",
                            "AttachmentId": "eni-attach-9a96416b",
                            "DeleteOnTermination": true,
                                "Status": "attached"
                        },
                        "Association": {
                            "PublicIp": "54.86.6.251",
                            "IpOwnerId": "amazon",
                            "PublicDnsName":                                 "ec2-54-86-6-251.compute-                                 1.amazonaws.com"
                        }
                     }
                ],
                "ImageId": "ami-076c416d",
                "RootDeviceType": "ebs",
                "KeyName": "OneOpsAuth",
                "Placement": {
                    "AvailabilityZone": "us-east-1b",
                    "Tenancy": "default",
                    "GroupName": ""
                },
                "Hypervisor": "xen",
                "RootDeviceName": "/dev/sda1",
                "Tags": [
                    {
                        "Key": "Name",
                        "Value": "OneOps"
                    }
                ],
                "VirtualizationType": "hvm",
                "SourceDestCheck": true,
                "VpcId": "vpc-45e3af21",
                "StateTransitionReason": "",
                "ClientToken": "",
                "AmiLaunchIndex": 0,
                "InstanceType": "m4.large",
                "EbsOptimized": false,
                "InstanceId": "i-4af1d7c9",
                "BlockDeviceMappings": [
                    {
                        "DeviceName": "/dev/sda1",
                        "Ebs": {
                            "AttachTime": "2016-03-24T19:53:14.000Z",
                            "DeleteOnTermination": false,
                            "VolumeId": "vol-a0c6837e",
                            "Status": "attached"
                        }
                    },
                    {
                        "DeviceName": "/dev/sdb",
                        "Ebs": {
                            "AttachTime": "2016-03-24T19:53:14.000Z",
                            "DeleteOnTermination": false,
                            "VolumeId": "vol-23c782fd",
                            "Status": "attached"
                        }
                    }
                ],
                "SecurityGroups": [
                    {
                        "GroupId": "sg-05e2847d",
                        "GroupName": "OneOps-sg"
                    }
                ],
                "PublicDnsName":                     "ec2-54-86-6-251.compute-1.amazonaws.com"
            }
        ]
    }
]
}

Amazon AMI

Although it's nice to know how to create a OneOps instance from the command line and it does come in handy if you want to make it part of your automation, the same results can be obtained in a much quicker way through the Amazon AWS console.

On the AWS console:

  1. Select EC2.
  2. Then select Instances from the left navigation bar.
  3. Click the big blue Launch Instance button on the top.
  4. On the left navigation bar click on Community AMIs.
  5. Search for OneOps.

You may see several results for OneOps AMIs as shown in the following screenshot:

Amazon AMI

Select the AMI with the latest revision number; in the screenshot preceding it is v1.3. Click Select. On the next screen you will be asked what kind of instance you want to launch. If you have the one-year free membership from Amazon, it is very tempting to launch the t2.micro instance, which is eligible for the free tier. However OneOps will give very poor performance on micro instances and may even fail to launch fully due to a lack of resources. To perform well OneOps needs at least 8 GB of memory. It is recommended you use at least the m4.large instance, which comes with 2 vCPUs and 8 GB of memory. Select m4.large and click on Next which will allow you to configure and review instance details.

Amazon AMI

On this screen a few options are of interest. Keep the number of instances to 1. Don't request a spot instance as they are best used for batch jobs and processes that are fault-tolerant. Select the defaults for the rest. Make sure you assign a public IP if you want your OneOps instance to be accessible from the outside world. You can also add protection against accidental termination and CloudWatch monitoring from here. Amazon charges extra for CloudWatch monitoring; however, if you will be using OneOps for a long period and ultimately carrying it over into production, you should select CloudWatch. Lastly the Tenancy of the instance will also affect its performance. For most purposes a shared instance should be fine.

Amazon AMI

Click on Next to review the storage. The AMI already comes with two volumes attached to it: a root volume of 10 GB and an additional volume of 40 GB. You can increase the size of the additional volume as most of OneOps is stored in /opt/oneops. You can also select the Delete on Termination options if you are just trying out OneOps since the storage volumes will not be terminated on instance termination and Amazon will charge you for volume storage. After making your changes, click Next to tag your instance. Here you can create tags as name/value pairs. Create a tag with the name Name and the value as OneOps to easily identify your instance. Click Next to configure the security group. Create a new group called OneOps-sg. Make sure port 22 is enabled so you can SSH to your instance. Also enable access to port 3000; OneOps is a Ruby on Rails application and binds to port 3000.

It is not really prudent to open access to all IP addresses and Amazon will warn you against that. If you know the range of IP addresses you will be logging in from, restrict access to that range.

Amazon AMI

You are now ready to review and launch your instance. You may get a couple of warnings. If you are on the free tier, you will get a warning that this instance is not eligible for the free tier since you selected m4.large. You will also get a warning that access to your instance is open to the world. Review the warnings and click Launch. Once you click Launch, you will be asked to either create a new keypair or use an existing keypair to attach to the instance. If you have an existing keypair that you have access to, select it here or else generate a new keypair and download the key. Be warned if you lose this key, you will be unable to SSH to the instance to keep this key in a safe place. Click on Launch instance. The instance will take some time to initialize. OneOps will also take some time to initialize. Once the initialization is done, you can connect to port 3000 via a browser and you should see a login screen as shown in the image above. You can also use the key you generated to login to the instance to have a look around. Make sure to use centos as the username. You can SSH to your instance directly from a compatible browser as shown in the following screenshot.

Amazon AMI

Vagrant

You can also launch a copy of OneOps using Vagrant. Vagrant is a orchestration tool from HashiCorp used to create lightweight and portable development environments. This is particularly useful if you want to create a OneOps installation on a laptop that you will carry with you. You can also create your own OneOps development environment using Vagrant.

Note

Download the latest version of VirtualBox from the Oracle VirtualBox website (https://www.virtualbox.org/wiki/Downloads) and install it. Also download and install the latest version of Vagrant from the Vagrant website (https://www.vagrantup.com/downloads.html).

Also install the extension packages for VirtualBox. These install instructions will work on the Mac or Linux. Currently the Vagrant installation does not work on Windows. Go ahead and clone the OneOps setup repository from GitHub:

git clone https://github.com/oneops/setup cd setup/vagrant-centos7

Tip

Before you start the Vagrant install, you can tune your installation to allocate more resources to your OneOps install. By default, your OneOps install will have only 1 CPU and 8 GB memory. If the host machine has more resources available, it is recommended you allocate more resources to your VM too. This will increase the performance of your OneOps installation.

Open Vagrantfile and find the vb.memory line. It will be set to 8 GB. Increase it to about half the size of your host operating system. Below that, add the line vb.cpus and give it a value of about half the number of CPUs available to your host machine. Make sure you tune it this way only if nothing else is running on the host machine. Reduce the allocation if you have other things running too. You are now ready to run vagrant up. Vagrant up starts to build OneOps for you. It does so by executing the following steps.

  1. Vagrant imports CentOS box and creates a centos virtual machine to build a OneOps installation on top of.
  2. It runs oneops-jreqs.sh, which installs java, postgres, vim and git among other things.
  3. It runs install-es.sh, which installs elasticsearch.
  4. It runs install-rvm.sh, which installs the current stable version of Ruby.
  5. It runs install-ruby.sh, which installs Ruby on Rails and other modules required to run the OneOps frontend
  6. It runs install-logstash.sh, which installs and configures logstash.
  7. Finally it runs oo-setup.sh, which clones the dev-tools repository and runs all the scripts in the setup-scripts directory to actually set up OneOps.

After the installation is done you will see a message like the following.

Vagrant

However, in a vagrant install, the port actually gets mapped on port 9090 of the host OS. So, if you want to try your new OneOps installation, you should connect to http://localhost:9090 .

OneOps application key concepts

OneOps is a complex application that facilitates DevOps. As such it uses its own terminology and introduces its own concepts. Once you familiarize yourself with these concepts you are one step closer to understanding OneOps.

Organization

An organization in OneOps is a group under which various teams, clouds, assemblies, and services can be logically grouped. An organization can be your whole organization, a sub-unit of the organization, a single group inside the organization or any combination of those. You can create organizations to logically organize your projects, sub-projects, applications of all sizes.. In that respect organizations can also be various projects in your organizations. It is entirely up to you how you define an organization.

User

A user is a single user with a single login to whom you can assign permissions and responsibilities inside of OneOps. You can group various users into a team.

Team

You can group various users into teams. You can logically group several users into cohesive teams to make management of your users simple. This also simplifies permissions. You can assign permissions to the whole team instead of individual users, for example, the development team, QA team, operations team, DevOps team, and so on.

Clouds

Clouds are groups of common services that are offered under a common tag. By themselves clouds are nothing but a label and are not functional at all. They just act as an aggregator under which you can group various public (AWS compute, Azure compute, AWS DNS, and so on) or private (OpenStack) services. It is a good idea to give a descriptive name to the cloud. For example, if you are creating a cloud to group together some AWS services such as AWS EC2, Route 53 DNS, and S3 DNS, then it's a good idea to call it AmazonCloud instead of MyCloud.

Services

As mentioned above, a cloud is just a tag and is of little use until you add a service to it. You can add a public service to it, provided you have a key, such as AWS EC2, or you can add a private service to it such as Nova Compute from OpenStack (if you have your own OpenStack installation).

Assembly

An assembly, as defined by OneOps, is the definition of an application architecture and all its components including its infrastructure. OneOps provides a very visual way of defining an assembly. Assemblies are highly customizable and portable; once defined, they can be deployed to any target cloud without any more changes. Assemblies are defined by adding different platforms to them and defining relationships between them.

Platforms

Platforms as prepackaged software templates that can be installed from packs. Some examples of platforms are MySQL, HAProxy, and so on. OneOps comes with a robust pack preinstalled. You can also define your own pack or add to the existing pack by following the template.

Summary

In this chapter we learned how to do a test installation of OneOps on Amazon Web Services. We saw two handy methods to do so, one from command line, which is useful for automation, and the second from the console, which quickly achieves the same results. We also explored how to do a test installation using Vagrant and Docker. Finally, we saw how to create a user and an organization. We also saw some key concepts of OneOps.

In the next chapter we will dig a little deeper into the OneOps architecture to see what makes it tick. We will take a close look at various backend components as well as the OneOps command line. We will also look at OneOps concepts such as inductor, antenna, work order, and action order.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • •Leverage OneOps to achieve continuous application lifecycle management
  • •Switch between multiple cloud providers in order to leverage better pricing, technology, and scalability
  • •Build complex environments in a repeatable and predictable method, and deploy and scale on multiple clouds

Description

Walmart’s OneOps is an open source DevOps platform that is used for cloud and application lifecycle management. It can manage critical and complex application workload on any multi cloud-based infrastructure and revolutionizes the way administrators, developers, and engineers develop and launch new products. This practical book focuses on real-life cases and hands-on scenarios to develop, launch, and test your applications faster, so you can implement the DevOps process using OneOps. You will be exposed to the fundamental aspects of OneOps starting with installing, deploying, and configuring OneOps in a test environment, which will also come in handy later for development and debugging. You will also learn about design and architecture, and work through steps to perform enterprise level deployment. You will understand the initial setup of OneOps such as creating organization, teams, and access management. Finally, you will be taught how to configure, repair, scale, and extend applications across various cloud platforms.

Who is this book for?

This book targets DevOps who want to use OneOps daily to deploy their applications, and Sysadmins who will be administering those applications.

What you will learn

  • •Learn how to install OneOps
  • •Configure OneOps, including customizing your organizations, teams and clouds
  • •Work through practical deployment scenarios
  • •Understand OneOps architecture and individual components like Circuit and Display
  • •Build custom components and add unsupported clouds programmatically to OneOps
  • •Extend OneOps by calling the REST API
Estimated delivery fee Deliver to Slovakia

Premium delivery 7 - 10 business days

€25.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Apr 12, 2017
Length: 266 pages
Edition : 1st
Language : English
ISBN-13 : 9781786461995
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Slovakia

Premium delivery 7 - 10 business days

€25.95
(Includes tracking information)

Product Details

Publication date : Apr 12, 2017
Length: 266 pages
Edition : 1st
Language : English
ISBN-13 : 9781786461995
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 119.97
Learning Continuous Integration with Jenkins
€49.99
Practical DevOps
€36.99
Practical OneOps
€32.99
Total 119.97 Stars icon
Banner background image

Table of Contents

11 Chapters
1. Getting Started with OneOps Chevron down icon Chevron up icon
2. Understanding the OneOps Architecture Chevron down icon Chevron up icon
3. OneOps Application Life Cycle Chevron down icon Chevron up icon
4. OneOps Enterprise Deployment Chevron down icon Chevron up icon
5. Practical Deployment Scenario Chevron down icon Chevron up icon
6. Managing Your OneOps Chevron down icon Chevron up icon
7. Working with Functional Components Chevron down icon Chevron up icon
8. Building Components for OneOps Chevron down icon Chevron up icon
9. Adding and Managing OneOps Components Chevron down icon Chevron up icon
10. Adding Your Own Cloud to OneOps Chevron down icon Chevron up icon
11. Integrating with OneOps Using API Chevron down icon Chevron up icon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact [email protected] with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at [email protected] using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on [email protected] with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on [email protected] within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on [email protected] who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on [email protected] within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela