Sei sulla pagina 1di 14

Devops application tasks

Finding a good superhero to ward off evil in our endless pursuit for WordPress nirvana is darn hard
work, you’ve got those that want to be, but can’t ever be. Those that don’t want to be but it’s a means
to an end and they’ll do what they have to. You then have those that aspire to shine a light in the
midsts of night, to fend of evil wherever it may lurk, to save one WordPressian at a time, to be
something great.

Be the hero we need, come join us in our mission at WPMU DEV!

As a side note, these tasks are designed to help us find those shining examples of awesomeness.
They’re pretty simple tasks too. Skipping these will ensure that we don’t consider your application.
This is super simple stuff, it helps us to see if you understand the basics before we consider an
interview.
Let’s get started, eh!

Your completed task should be sent directly to us. Not on Github or similar. You can either
answer inline, or you can create a separate text file and number the answers.

1. What’s the difference between Docker and LXD?

Docker is primarily used to deploy applications and LXD is used to deploy virtual machines.

They can be used together and actually compliment each other pretty well.
2. What are the advantages of ZFS compared to other Linux FileSystems?

GREAT FOR DATA STORAGE & SAFETY: Its made to store a lot of data which makes it a great
choice for handing a lot Of data. One big advantage is if you loose power or the system crashes
your data is safe As it doesn't change the location of the data until the writing process is
completed and verified.

SCALABLE: Its storage capacity is enormous compared to other Linux file systems. You can easily
Change the pool size to fit your needs.

EASY TO USE: The commands are easy to use and its easy to create a new ZFS pool.
3. How you would route a port in the server host to a LXD container and make it
public over internet? And how you would do it permanently?

Create an ip table rule to forward the connection and reboot to save the changes. This is just one
Way to do it and there's others out there.
4. Explain what would be the best way to install needed packages, users and
dependencies in LXD containers automatically?

You could write a script and run it from the host to connect to install packages, users and
Dependencies in the LXD container.

There's other ways to do this such as using a tool like Ansible.


5. If you need to limit resources like networking, CPU, RAM, Disk I/O over several
LXD instances what’s the best way to accomplish that?

Since LXD users cgroups to manage resources for containers you could
Create a new profile and set the resource limits within that profile and
Apply that profile to multiple containers.
6. Assume you have 100 containers within a server and that containers need SSH
access, how do you solve SSH routing to the right LXD container?

You should be able to SSH into the required container by using its unique ipv4 IP address.
7. Explain what would be the best way to migrate LXD containers into different
servers which are in different cloud providers.

There are two ways to do this. One being use backup and restore over SSH. This way would
Require some down time being your creating a backup and loading the backup at the new host.

The best way would be to utilize LXD API and Simplestreams which will support a live migration
Which would eliminate down time.
8. If using AWS API Gateway and Lambda, if your Lambda function needs more than
30 seconds to finish executing how do you solve it to avoid timeout?

You can request up to the 5 min limit which would extend it over the 30 seconds.

You could also use AWS SNS to extend the time limit over 5 minutes if needed. There are
Other ways to extend over the 5 minute limit if needed but AWS SNS is just one way.
9. Whats a good framework to deploy AWS Lambda functions and create API
gateways easily?

Serverless framework is a great CLI framework for deploying AWS Lambda functions and even
Allows automation out of the box. It does require Node JS and a few other dependencies but
Is overall a great solution.
10. How you automate deletion of files in S3 Buckets?

You can use object expiration to automatically delete files in S3 buckets. This will allow you to set
An expiration time.
11. If one LXD container will be migrated over other EC2 Instance and Region,
explain how do you migrate it with the least Downtime possible, take into account that
DNS changes could take long time.

You can use live migration to migrate the LXD container to another EC2 instance with very little or
No downtime depending on if everything goes smoothly.
12. If you need to Auto Scale EC2 instances based on the number of LXD containers
instead of CPU, DISK or Network usage. How might you solve that?
13. What’s the difference between Bash, Sh and zsh.

Zsh provides better programmable auto completion than bash and with bash you can't navigate
the options like you can with zsh which leaves zsh with a big advantage in my opinion. Zsh also
Provides spelling correction which is a major plus. These are just a few of the major differences.

Sh stands for shell command language and is a programming language.

Potrebbero piacerti anche