Webinar recording: www.nginx.com/resources/webinars/how-to-adopt-infrastructure-as-code
Modern applications are increasingly deployed in containers and virtual machines on clusters of dozens, hundreds, and even thousands of servers – in private data centers and in the public cloud. Managing complex applications like these puts more demands than ever on infrastructure and the teams managing it. The traditional ways of manually adding, configuring, and modifying infrastructure no longer scale.
Infrastructure as Code is a new approach to managing IT infrastructure where you treat infrastructure as if it were software and data, using modern tools like version control systems and deployment orchestration. Based on software development and DevOps best practices, Infrastructure as Code makes deployment and infrastructure management more efficient than ever. Anyone who works with IT infrastructure – system administrators, infrastructure engineers, DevOps engineers, architects, software developers, and others – can implement changes more quickly, easily, and reliably.
Join us for this webinar co-hosted by Kief Morris, Cloud Practice Lead at ThoughtWorks and author of Infrastructure as Code, and Floyd Smith of NGINX, Inc. You’ll learn:
* Why Infrastructure as Code is a better approach for managing modern infrastructure
* Challenges that Infrastructure as Code helps address
* Practical examples of using software to control infrastructure
* How NGINX Plus can help your Infrastructure as Code efforts
2. MORE INFORMATION AT NGINX.COM
Who Are We?
Kief Morris
Cloud Practice Lead, Thoughtworks
Formerly:
• Sr. Technical Architect, Map of Medicine
• Hosting Operations Manager, Syzygy
• Technical Director, bitBull
Floyd Smith
Technical Marketing Writer
Formerly:
• Sr. Technical Writer, Apple
• Group Channel Manager, Altavista
• Business Site Manager, AOL Netscape
3. MORE INFORMATION AT NGINX.COM
• First OSS release in 2004
• Company founded in 2011
• VC-backed by industry leaders
• 500+ customers
• 75+ employees
9. MORE INFORMATION AT NGINX.COM
Modern Web, Modern Architecture
From Monolithic...
Three-tier, J2EE-style architectures
Complex protocols (HTML, SOAP)
Persistent deployments
Fixed, static Infrastructure
Big-bang releases
Silo’ed teams (Dev, Test, Ops)
...to Dynamic
Microservices
Lightweight (REST, Messaging)
Mutable; Containers, VMs
SDN, NFV, Cloud
Continuous delivery
DevOps Culture
10. Why DevOps + NGINX =
• Software load balancing goes hand-in-hand with cloud
deployments
• Variety of load balancing methods gives flexibility and
performance
• On-the-fly reconfiguration supports service discovery and
uptime
• Application health checks give early warning of problems
• Robust, customizable monitoring increases uptime
10
11. MORE INFORMATION AT NGINX.COM
OPEN SOURCE
PLUS
FEATURES
REQUEST ROUTING COMPRESSION LOAD BALANCING APP HEALTH MONITORING GUI VISUALIZATION
SSL EMBEDDED SCRIPT LANGUAGE EDGE CACHE MEDIA STREAMING MONITORING ANALYTICS CONFIGURATION RESTFUL API
What’s Inside NGINX Plus?
11
12. “NGINX Plus gives us the agility we need
to anticipate and meet customers’ needs as they arise –
without fear of compromising availability or performance.”
-Serge Leschinsky, DevOps engineer at MuleSoft
Results
Fit right in to current infrastructure
Simplified security
Agility
Around-the-Clock Support
The Challenge
Wanted greater visibility into
customer traffic
Needed more configuration
flexibility
Too much redundant manual work
Solution
Upgrade from NGINX
to NGINX Plus
On-the-fly DNS-based
reconfiguration
Enhanced monitoring and visibility
In Action: MuleSoft moves from open source
to NGINX Plus for greater visibility & control
13. kief@thoughtworks.com
Cloud Practice Lead (UK)
DevOps, Continuous Delivery, Agile Ops
Twitter: @kief
Book: http://oreil.ly/1JKIBVe
Site: http://infrastructure-as-code.com
18. UNATTENDED AUTOMATION
Tools run on a
schedule to apply, re-
apply, and update
configuration
BENEFITS OF UNATTENDED:
●Discover problems quickly
●Force yourself to fix those
problems
●Force yourself to improve
your tools and processes
●Discourages “out of band”
changes
19. AUTOMATE SERVER UPDATES
Automation isn’t just for new servers!
Configuration
synchronization
Run Chef, Puppet, Ansible, etc. on a
schedule
Immutable servers Apply changes by rebuilding servers
Containerized
servers
Apply changes by deploying new
container instances
20. RE-USE & PROMOTE DEFINITIONS
Re-use the same definition files across environments for a
given application or service
DEV STAG
E
PROD
Playbooks,
Cookbooks,
Manifests,
templates, etc.
23. WHAT?
Terraform,
Puppet, etc.
Changes are
made and
committed to
VCS
Tools are run on
agents to apply
changes to
environments
Changes are only
promoted after
passing tests &
authorization
24. WHY?
Validates changes to
infrastructure before
applying them to
production
Confidence for
frequent, small
improvements to
infrastructure
Limit direct
changes to
infrastructure
26. GOVERNANCE
The process for applying changes is auditable
Changes can be traced back to commits
Automation ensures processes are followed
Authorization can be required as needed
36. OUTCOMES ● Quickly provision and
evolve infrastructure
● Effortlessly roll out fixes
● Keep systems consistent
and up to date
● Spend time on high value
work
38. Links
38
NGINX
1. MuleSoft case study
2. Doing DevOps blog post
3. How to Manage Your Control
Issues
4. Reconfiguring NGINX on the
fly
5. nginx.conf 2016
6. All NGINX DevOps blog posts
ThoughtWorks
1. Infrastructure as Code – Amazon
2. Effective DevOps – Amazon
3. State of DevOps survey at
ThoughtWorks
4. “Infrastructure as Code” articles
at ThoughtWorks
Half of the top 10,000
We’re now the number one web server for the top 100,000 as well, and climbing fast in every category.
NGINX Plus gives you all the tools you need to deliver your application reliably.
Web Server
NGINX is a fully featured web server that can directly serve static content. NGINX Plus can scale to handle hundreds of thousands of clients simultaneously, and serve hundreds of thousands of content resources per second.
Application Gateway
NGINX handles all HTTP traffic, and forwards requests in a smooth, controlled manner to PHP, Ruby, Java, and other application types, using FastCGI, uWSGI, and linux sockets.
Reverse Proxy
NGINX is a reverse proxy that you can put in front of your applications. NGINX can cache both static and dynamic content to improve overall performance, as well as load balance traffic enabling you to scale-out.
“The secret heart of the modern web”
Manage instances and services, not server hardware
Technologies/workstyle include:
Microservices
CI/CD
Cloud deployment
Tools:
Docker, Puppet, Chef, GitHub…
… and NGINX and NGINX Plus
Circuit Breaker pattern
NGINX Plus extends NGINX with advanced features such as health monitoring, session persistence, and an advanced monitoring interface. NGINX Plus is a complete application delivery platform.
Problem
MuleSoft’s Anypoint Platform™ is a leading integration platform that enables enterprises to easily and securely connect apps, data, and devices. Mulesoft was already using NGINX F/OSS as a reverse proxy and load balancer in their Anypoint Platform. What they needed was more monitoring capabilities and more configuration flexibility to better handle increasing customer demands.
Solution
NGINX Plus offered exactly what they needed. Mulesoft now uses NGINX Plus as their application gateway. When customers connect to customer.cloudhub.io, NGINX Plus queries Amazon Route 53 with a modified version of the original request to get the appropriate destination for the request.
Benefits
Fits right in - NGINX Plus easily integrated with their existing infrastructure. There was no need to add or replace hardware.
Simplified Security - In the past they had to re-establish SSL at various points across the traffic path. NGINX Plus ensures end-to-end SSL encryption of customer traffic without human intervention.
Agility - Using reconfigurable DNS on the backend, the Anypoint Platform can identify relevant characteristics of customer traffic on the fly and proxy it to the appropriate server.
Superior support - With the help of NGINX support, MuleSoft was able to quickly implement NGINX Plus with its current infrastructure.
AnyPoint Platform
NGINX, NGINX Plus, MuleSoft all on AWS
Started with NGINX open source
Moved to NGINX Plus for monitoring and configuration
Support for MuleSoft and customers
SSL encryption
Saving time and money
Improved security
Flexibility and performance
The real challenge is keeping them consistent and up to date as changes are made
(Sizing and other aspects may differ across environments)
(Sizing and other aspects may differ across environments)
(Sizing and other aspects may differ across environments)
Build stage
Compile, test, and package the application (serviceA)
Validate the Terraform file (syntax)
Validate the Ansible playbook (syntax)
Deploy/test stage
Run Terraform to build the server and infrastructure
Run Ansible to deploy and configure the application
Run a simple smoketest to prove deployment worked
Run rspec to test the application and infrastructure
QA stage
Same as deploy/test
Manually start the deployment
Manually carry out testing
Production stage
Same as deploy/test and QA
Manually start the deployment
Teams want to change and deploy separately
September 7th-9th – ***ADD EVENTS PAGE***
Austin, Texas – first time out of the Bay Area
www.nginx.com/nginxconf
Code: MEETUP
50% off 2-day and All-Access passes
Final day is training