Proyecto RandApps

De WikiASO

 Proyecto RandApps trata sobre la migración de la empresa RandApps, dedicada a crear aplicaciones móviles.

Proyecto RandApps
Título Proyecto RandApps
Miembros Roberto Otero Aragón
Tipo de proyecto Migración


Contenido

Descripción de la empresa

RandApps es una pequeña empresa que se dedica principalmente a la creación de aplicaciones móviles. Concretamente, desarrollan para la plataforma Android. Tanto la app móvil como su versión web para una completa sincronización. Fundada hace dos años, cuenta con tres trabajadores y tienen 5 aplicaciones en Google Play con una media de 50.000 descargas.

Situación

Situación actual

La empresa nació como un hobby, no se creía que fuera a prosperar tanto. Con solo tres trabajadores y unos equipos de gama media baja, la empresa no puede trabajar en todos sus proyectos adecuadamente. Tiene que llevar a cabo en cada proyecto la creación de apps, la corrección de bugs, las actualizaciones, la versión web, etc..

El lenguaje de programación predomintante en la empresa es Java, un lenguaje pesado, al igual que el simulador de Android para probar apps. Por ello harán falta equipos más potentes y un servidor para alojar bases de datos y backups.

Actual.png



Situación posterior

Se necesita contratar al menos tres programadores y adquirir equipo más potente y un par de servidores para almacenar las bases de datos y backups. También se adquirirá un servidor virtual, ya que hace falta para las peticiones que harán las apps. Se usará la misma sala pero se reestructurará la parte derecha, añadiendo una sala para los servidores, correctamente ventilada. También se adquirirá aire acondicionado, ya que la sala tiende a calentarse, y ahora con más equipos y trabajadores, aún más.
En cuanto al software, se sustituirán los sistemas operativos por una distribución GNU/Linux, ahorrándonos así el precio de licencias privativas y ganando potencia.

Posterior.png

Servidores

Físicos

Para los servidores físicos usaremos el Cisco UCS B200 M2 Blade Server

  • Procesador: Intel® Xeon® processor 5600
  • Memoria: 16 GB DDR3; 1066 MHz
  • Disco duro principal: 64 GB SDD
  • Disco duro secundario: 1.2 GB
  • Raid integrado: 0 y 1
  • Gráfica integrada: Matrox G200 core 8MB

Virtuales

Como servidor virtual se ha elegido el plan VPS Avanzado de Hostalia.com que es el plan que más se ajusta para las necesidades de la empresa, no hace falta demasiada capacidad.

  • Sistema GNU/Linux
  • 50 GB espacio en disco
  • 2 GB de memoria RAM(2)
  • 1.000 GB de transferencia
  • 10 dominios

Software

Para el sistema operativo se utilizará Ubuntu Server 12.04 LTS, esta versión es long-term support, por lo que darán soporte 5 años, concretamente hasta 2017.

  • Servidor web Apache
  • MySQL para la base de datos
  • Git para control de versiones
  • vstpd para el servidor ftp

Equipos

Hardware

Los equipos estarán compuestos por los siguientes componentes:

  • Procesador: Intel Core i5 2500K 3.3Ghz Box Socket 1155
  • Placa base: Asus P8H61-M LE B3
  • Memoria RAM: 2x Kingston ValueRAM 4GB DDR3 1333 PC3-10600 CL9
  • Disco duro: WD Caviar Green 1TB SATA3 64MB
  • Gráfica: Asus GeForce GT 620 1GB GDDR3
  • Caja: Nox Nova
  • Disipador: Scythe Katana 4
  • Ratón y teclado: Logitech Desktop MK120
  • Fuente: Cooler Master GX Lite 600W
  • Monitor: BenQ G2320HDBL 23" LED DVI

Software

  • Sistema operativo: Ubuntu 12.10
  • ubuntu-restricted-extras
  • build-essential
  • eclipse
  • java
  • Android SDK
  • git
  • dropbox
  • geany

Conexión de redes

Se utilizará un switch que proporcionará conexión a los equipos y a los servidores, a este a su vez, le dará conexión un router. El tipo de cable utilizado para el cableado horizontal será UTP categoría 6A. El cableado vertical no hará falta ya que solo tenemos una sala. El cableado irá mediante canaletas por la pared y en cada puesto de trabajo habrá una roseta RJ-45.
El router y el switch estarán instalados en la sala del servidor.

  • Switch: TP-Link TL- SG1016D -16 Puertos Gigabit 10/100/1000
  • Router: Cisco RV110W - Wireless-N VPN Firewall
Red.png

Formación

Para la empresa hace falta formación en GNU/Linux, por lo menos un uso básico de la consola y el entorno en general. Conocimientos medios/altos en el lenguaje de programación Java. Hará falta formación básica en Android. Y por último, una formación básica en bases de datos.

Certificación LPIC-1

  • Objetivos de la certificación:
    • Ser capaz de trabajar en la línea de comandos
    • Realizar tareas sencillas de mantenimiento como ayudar a usuarios, mantenimiento de usuarios, realización de copias de seguridad y restauraciones, paradas y arranque de sistemas
    • Instalación y configuración de un equipo de trabajo y su conectividad a la red.

Temario:

  • Arquitectura del sistema.
  • Instalación y administración de paquetes.
  • Comandos básicos sobre Linux.
  • Dispositivos y sistema de ficheros.
  • Introducción a las redes.

Curso Desarrollo de Aplicaciones Java

Temario:

  • I. Bases y fundamentos de la programación orientada a objetos.
  • II. Programación en Java.
  • III. Java con bases de datos.
  • IV. Servlets.
  • V. Análisis Orientado a Objetos. UML con Rational Rose. (OnLine).
  • VI. Java Server Pages.
  • VII. Enterprise JavaBeans.
  • VIII. Java y XML. (OnLine).
  • IX. Servicios Web con Java. (OnLine).
  • X. Struts.
  • XI. Introducción a la Ingeniería del software. (OnLine 4h).
  • XII. Calidad de un producto software. (OnLine 2h.)
  • XIII. Control del código fuente. (OnLine 2h).
  • XIV. Pruebas unitarias. (OnLine 8h).
  • XV. Desarrollo ágil- (OnLine 4h).

Curso MySQL

Temario

  • 1.- Descargar software de instalación
  • 2.- Instalación MySQL
  • 3.- Configuración del servidor MySQL
  • 4.- Inicio con MySQL
  • 5.- Sintaxis de comandos y funciones
  • 6.- Funciones de cálculo
  • 7.- Mostrar bases de datos/USE
  • 8.- Crear tablas/CREATE
  • 9.- Parámetro DESCRIBE/INSERT INTO
  • 10.- Parámetro WHERE
  • 11.- Parámetro DISTINCT / AND / OR
  • 12.- Parámetro ORDER BY/DESC
  • 13.- Parámetro LIKE / ORDER BY
  • 14.- Parámetro COUNT/GROUP BY
  • 15.- Funciones
  • 16.- Trabajar con varias tablas
  • 17.- Conexión ODCB con Windows
  • 18.- Edición en Microsoft Access
  • Ejercicios y ejemplos detallados
  • 1. Principales funciones MySQL
  • 2. Ejercicios MySQL

Introducción a la programación en Android

Temario

  • 1.Historia de Android
  • 2.Instalando Eclipse
  • 3.El primer programa Android
  • 4.Interfaz de usuario Android I
  • 5.Interfaz de usuario Android II.

Planificación

Diagrama de Grant
Grant.png

Presupuesto

Nombre Cantidad Precio Subtotal
Servidores
Cisco UCS B200 M2 Blade Server
2 1500 3000
VPS Avanzado Hostalia 1 18.71/mes 18.71/mes

3018.71€
Equipos
Intel Core i5 2500K 3.3Ghz Box Socket 1155
6 201 1206
Asus P8H61-M LE B3
6 54 324
Kingston ValueRAM 4GB DDR3 1333 PC3-10600 CL9
12 22 264
WD Caviar Green 1TB SATA3 64MB
6 79.95 479.7
Asus GeForce GT 620 1GB GDDR3
6 44 264
Nox Nova
6 21 126
Scythe Katana 4
6 25 150
Logitech Desktop MK120
6 17.50 105
Cooler Master GX Lite 600W
6 47 282
BenQ G2320HDBL 23" LED DVI
6 136 816
4016.7€
Redes
Cable UTP categoría 6A - 30m 1 24 24
Rosetas RJ-45 7 1.5 10.5
Latiguillo 1m 7 1.75 12.25
Canaleta 5m 8 0.95 7.6
Cisco RV110W - Wireless-N VPN Firewall 1 79 79
TP-Link TL- SG1016D -16 Puertos Gigabit 10/100/1000 1 72 72
205.35€
Mobiliario
Mesas 6 60 360
Mesa circular 1 80 80
Silla de oficina 6 50 350
Aire acondicionado 1 450 450
Sala de servidores 1 2000 2000
3240€
Cursos
Certificación LPIC-1 3 0 0
Curso Desarrollo de Aplicaciones Java 3 250 750
Curso MySQL 3 200 600
Introducción a la programación en Android 3 0 0
1350€

Total 11830.76€













































Enlaces de interés

Herramientas personales