Skip to content

Commit

Permalink
Merge pull request #52 from eneiromatos/develop
Browse files Browse the repository at this point in the history
Traduccion del Capitulo 14 issue #27
  • Loading branch information
oyepez003 authored Dec 25, 2016
2 parents a5537a5 + 6887790 commit 584eb2c
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 53 deletions.
13 changes: 4 additions & 9 deletions _posts/13-01-01-Virtualization.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
---
title: Virtualización
anchor: virtualization
anchor: virtualizacion
---

# Virtualization {#virtualization_title}
# Virtualización {#virtualizacion_title}

Running your application on different environments in development and production can lead to strange bugs popping up
when you go live. It's also tricky to keep different development environments up to date with the same version for all
libraries used when working with a team of developers.
Ejecutar tu aplicación en diferentes entornos de desarrollo y producción puede generar la aparición de extraños bugs cuando el proyecto vea la luz pública. Además, se hace complicado mantener actualizados diferentes entornos de desarrollo con la misma versión de todas las librerías que se emplean al trabajar con un grupo de desarrolladores.

If you are developing on Windows and deploying to Linux (or anything non-Windows) or are developing in a team, you
should consider using a virtual machine. This sounds tricky, but besides the widely known virtualization environments
like VMware or VirtualBox, there are additional tools that may help you setting up a virtual environment in a few easy
steps.
Tanto si estas desarrollando en Windows y desplegando tu aplicación en Linux (u otro O.S. no Windows) como si formas parte de un equipo de desarrollo, entonces deberías considerar emplear *entornos virtualizados*. Puede que esto suene complicado, sin embargo, más allá de los conocidos sistemas de virtualización como VMware o VirtualBox, también podemos encontrar herramientas que nos ayudan a configurar rápidamente un entorno virtual personalizado para comenzar con nuestros proyectos en PHP.
28 changes: 10 additions & 18 deletions _posts/13-02-01-Vagrant.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,18 @@ anchor: vagrant

## Vagrant {#vagrant_title}

[Vagrant] helps you build your virtual boxes on top of the known virtual environments and will configure these
environments based on a single configuration file. These boxes can be set up manually, or you can use "provisioning"
software such as [Puppet] or [Chef] to do this for you. Provisioning the base box is a great way to ensure that
multiple boxes are set up in an identical fashion and removes the need for you to maintain complicated "set up"
command lists. You can also "destroy" your base box and recreate it without many manual steps, making it easy to create
a "fresh" installation.
[Vagrant] te ayuda a construir *cajas* virtuales sobre la tecnología ofrecida por los más populares entornos de virtualización y configurar las mismas empleado solo un archivo de configuración. Dichas “cajas” pueden ser desplegadas de manera manual o bien puedes emplear algún software de aprovisionamiento tal como [Puppet] o [Chef] para tal fin. Aprovisionar una *caja base* es una forma ideal para asegurar que múltiples cajas pueden ser desplegadas con idénticas características lo que elimina la necesidad de mantener un complicado listado de comandos de instalación. Además, se puede destruir la *caja base* y recrearla sin la necesidad de llevar a cabo muchos pasos, haciendo sumamente fácil la creación de una “instalación fresca”.

Vagrant creates folders for sharing your code between your host and your virtual machine, which means that you can
create and edit your files on your host machine and then run the code inside your virtual machine.
Vagrant crea directorios que permiten compartir código entre el sistema anfitrión y la máquina virtual, lo permite crear y editar código en el computador y ejecútalo en la máquina virtual.

### A little help
### Una pequeña ayuda

If you need a little help to start using Vagrant there are some services that might be useful:

- [Rove][Rove]: service that allows you to pre-generate typical Vagrant builds, PHP among the options. The provisioning is
made with Chef.
- [Puphpet][Puphpet]: simple GUI to set up virtual machines for PHP development. **Heavily focused in PHP**. Besides local VMs,
it can be used to deploy to cloud services as well. The provisioning is made with Puppet.
- [Protobox][Protobox]: is a layer on top of vagrant and a web GUI to setup virtual machines for web development. A single YAML
document controls everything that is installed on the virtual machine.
- [Phansible][Phansible]: provides an easy to use interface that helps you generate Ansible Playbooks for PHP based projects.
Si necesitas de una pequeña ayuda para comenzar a usar Vagrant, a continuación puede encontrar algunos servicios que te serán útiles:

- [Rove][Rove]: es un servicio que permite pregenerar builds típicas de Vagrant, se puede encontrar a PHP entre sus opciones. El aprovisionamiento se hace con Chef.
- [Puphpet][Puphpet]: es una simple interfaz gráfica que permite desplegar máquinas virtuales para el desarrollo en PHP. *Se enfoca principalmente en PHP*, pero más allá de la creación de máquinas virtuales también puede ser usado para lanzar servicios en la nube. El aprovisionamiento se realiza con Puppet.
- [Protobox][Protobox]: es una capa que corre sobre Vagrant y además una aplicación web para la configuración de máquinas virtuales enfocadas al desarrollo web. Un solo archivo [YAML] controla todo lo que es instado en la máquina virtual.
- [Phansible][Phansible]: provee una interfaz sencilla para generar [Playbooks de Ansible] para proyectos basados en PHP.

[Vagrant]: http://vagrantup.com/
[Puppet]: http://www.puppetlabs.com/
Expand All @@ -36,3 +26,5 @@ document controls everything that is installed on the virtual machine.
[Puphpet]: https://puphpet.com/
[Protobox]: http://getprotobox.com/
[Phansible]: http://phansible.com/
[YAML]: https://es.wikipedia.org/wiki/YAML/
[Playbooks de Ansible]: http://docs.ansible.com/ansible/playbooks.html
42 changes: 16 additions & 26 deletions _posts/13-03-01-Docker.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,34 @@
---
title: Docker
title: Docker
isChild: true
anchor: docker
anchor: docker
---

## Docker {#docker_title}

Beside using Vagrant, another easy way to get a virtual development or production environment up and running is [Docker].
Docker helps you to provide Linux containers for all kind of applications.
There are many helpful docker images which could provide you with other great services without the need to install
these services on your local machine, e.g. MySQL or PostgreSQL and a lot more. Have a look at the [Docker Hub Registry]
[docker-hub] to search a list of available pre-built containers, which you can then run and use in very few steps.
Más allá de Vagrant, otra manera rápida y sencilla de obtener un ambiente virtual de desarrollo o producción es [Docker]. Docker suministra *Contenedores Linux* con toda clase de aplicaciones en ellos.

### Example: Running your PHP Applications in Docker
Hay una gran cantidad de imágenes Docker que pueden proporcionar servicios como MySQL o PostgreSQL, por nombrar solo algunos, esto sin la necesidad de instalarlos directamente en el sistema anfitrión. Puedes visitar el [Registro de Repositorios de Docker][docker-hub] donde se encuentra un listado de contenedores preconfigurados y listos para ser desplegados con solo unos pocos comandos.

After you [installed docker][docker-install] on your machine, you can start an Apache with PHP support in one step.
The following command will download a fully functional Apache installation with the latest PHP version and provide the
directory `/path/to/your/php/files` at `http://localhost:8080`:
### Ejemplo: Ejecutando tu aplicación en Docker
Luego de [instalar Docker][docker-install] en tu computador, puedes iniciar un servidor Apache con soporte para PHP, en un solo paso, tal como se detalla a continuación.

El siguiente comando descargara una instalación de Apache completamente funcional con la última versión de PHP en el directorio `/ruta/a/tus/archivos/php` en `http://localhost:8080`:

{% highlight console %}
docker run -d --name my-php-webserver -p 8080:80 -v /path/to/your/php/files:/var/www/html/ php:apache
docker run -d --name my-php-webserver -p 8080:80 -v /ruta/a/tus/archivos/php:/var/www/html/ php:apache
{% endhighlight %}

After running `docker run` your container is initialized and running.
If you would like to stop or start your container again, you can use the provided name attribute and simply run
`docker stop my-php-webserver` and `docker start my-php-webserver` without providing the above mentioned parameters
again.

### Learn more about Docker
Luego de ejecutar `docker run` tu contenedor se encuentra inicializado y corriendo. Si deseas detener e iniciar nuevamente tu contenedor puedes usar el nombre del atributo y ejecutar `docker stop my-php-webserver` y `docker start my-php-webserver` ahorrándote emplear nuevamente los parámetros arriba mencionados.

The commands mentioned above only show a quick way to run an Apache web server with PHP support but there are a lot
more things that you can do with Docker. One of the most important things for PHP developers will be linking your
web server to a database instance, for example. How this could be done is well described within the [Docker User Guide]
[docker-doc].
### Aprende más sobre Docker

* [Docker Website][Docker]
* [Docker Installation][docker-install]
* [Docker Images at the Docker Hub Registry][docker-hub]
* [Docker User Guide][docker-doc]
Los comandos mencionados anteriormente solo muestran una manera rápida en la cual se puede ejecutar un servidor Apache con PHP, sin embargo, hay muchas otras posibilidades con Docker, una de las más importantes para los desarrolladores en PHP es la de poder por ejemplo, vincular un servidor web con una instancia de base de datos, este procedimiento lo podemos encontrar explicado detalladamente en la [Manual de Usuario de Docker][docker-doc].

* [Sitio Web de Docker][Docker]
* [Instalación de Docker][docker-install]
* [Imágenes Docker en el Registro de Repositorios][docker-hub]
* [Manual de Usuario de Docker][docker-doc]

[Docker]: http://docker.com/
[docker-hub]: https://hub.docker.com/
Expand Down

0 comments on commit 584eb2c

Please sign in to comment.