DevOps
DevOps is a methodology and culture in software development connecting software development (Development) and IT operations (Operations) aiming for faster, more frequent, and more reliable development, testing, and application release. Instead of Development and Operations teams working separately with different goals and communication, they work together from the start.
Traditional approach (pre-DevOps): Development team develops application for 3 months, then hands to Operations team for production deployment. Between development and production often is 3-month wait, and when application reaches production, many problems usually exist because Operations team didn’t know what Development team envisioned.
DevOps approach: Development and Operations teams work together from start. Development understands how application will be hosted and maintained. Operations understands what application needs and what’s required in production.
Key DevOps practices: (1) Continuous Integration (CI)—code automatically tested whenever committed; (2) Continuous Deployment (CD)—code automatically deployed to production when passing tests; (3) Infrastructure as Code—IT infrastructure defined as code, not manually; (4) Automation—automating all repetitive tasks; (5) Monitoring—continuously tracking application health in production; (6) Collaboration—frequent communication between development and operations teams.
For startups: DevOps is critical as it enables quick application updates, fast new feature releases, and rapid problem responses. In competitive world, rapid iteration is advantage.
