github.com/dahs81/otto@v0.2.1-0.20160126165905-6400716cf085/website/source/intro/index.html.markdown (about) 1 --- 2 layout: "intro" 3 page_title: "Introduction" 4 sidebar_current: "what" 5 description: |- 6 TODO 7 --- 8 9 # What is Otto? 10 11 Otto knows how to develop and deploy any application on any cloud 12 platform, all controlled with a single consistent workflow to maximize 13 the productivity of you and your team. 14 15 ## A Developer's Dream 16 17 Otto automatically builds a development environment tailored specifically 18 for your application, with zero or minimal configuration. 19 20 Otto isolates all your applications into their own local virtualized 21 development environments. It detects the type of application you're developing and 22 configures that development environment for you. For example, if you're 23 developing a PHP application, Otto will automatically install PHP and 24 other related tools for you. 25 26 Otto supports application dependencies as a first class feature. This makes 27 developing microservices a breeze. Otto automatically downloads, installs, 28 configures, and starts dependencies in your development environments for you. 29 30 Developers that are new to a team or are context switching to a new 31 project can get up and running in a single command with minimal friction: 32 `otto dev`. 33 34 ## Best-in-Class Infrastructure, Automatically 35 36 Otto automatically builds an infrastructure and deploys your application 37 using industry standard tooling and best practices, so you don't have to. 38 39 There are hundreds of how-to guides to deploy applications. Unfortunately, 40 all of these how-to guides are usually copying and pasting outdated information 41 onto a server to barely get your application running. 42 43 Deploying an application properly with industry best practices in security, 44 scalability, monitoring, and more requires an immense amount of domain 45 knowledge. The solution to each of these problems usually requires 46 mastering a new tool. 47 48 Due to this complexity, many developers completely ignore best practices 49 and stick to the simple how-to guides. 50 51 Otto solves all these problems and automatically manages all of the 52 various software solutions for you to have a best-in-class 53 infrastructure. You only need to learn Otto, and Otto does the rest. 54 55 ## Key Features 56 57 The key features of Otto are: 58 59 * **Automatic development environments**: Otto detects your application 60 type and builds a development environment tailored specifically for that 61 application, with zero or minimal configuration. If your application depends 62 on other services (such as a database), it'll automatically configure and 63 start those services in your development environment for you. 64 65 * **Built for Microservices**: Otto understands dependencies and versioning 66 and can automatically deploy and configure an application and all 67 of its dependencies for any environment. An application only needs to 68 tell Otto its immediate dependencies; dependencies of dependencies are 69 automatically detected and configured. 70 71 * **Deployment**: Otto knows how to deploy applications as well develop 72 them. Whether your application is a modern microservice, a legacy 73 monolith, or something in between, Otto can deploy your application to any 74 environment. 75 76 * **Docker**: Otto can use Docker to download and start dependencies 77 for development to simplify microservices. Applications can be containerized 78 automatically to make deployments easier without changing the developer 79 workflow. 80 81 * **Production-hardened tooling**: Otto uses production-hardened tooling to 82 build development environments ([Vagrant](https://www.vagrantup.com)), 83 launch servers ([Terraform](https://www.terraform.io)), configure 84 services ([Consul](https://www.consul.io)), and more. Otto builds on 85 tools that power the world's largest websites. 86 Otto automatically installs and manages all of this tooling, so you don't 87 have to. 88 89 ## Next Steps 90 91 Continue onwards with the [getting started guide](/intro/getting-started/install.html) 92 to see how easy Otto makes it to develop and deploy a real application.