This document discusses Habitat, an open source application automation platform from Chef that allows teams to build, deploy, and manage any application in any environment. Habitat addresses challenges like modernizing legacy applications to run in cloud-native environments and accelerating adoption of platforms like Kubernetes. It achieves application portability by separating platform-independent and dependent components and packaging applications immutably. Customers like a large automaker and agribusiness have used Habitat to modernize legacy apps and optimize their platform adoption efforts.
3. Chef's 2018 State of Application Delivery Survey
How do you measure app
deployment success?
Speed is success for applications - but achieving speed is a big challenge.
Speed*
How long does it take to
complete the app build process?
Days or Longer
How many builds before an app
is deployed to production?
61%
72%
Four or More
55%
46 45
34
https://www.chef.io/solutions/modernizing-apps/
4. Chef's 2018 State of Application Delivery Survey
Aggressive plans for containerization, most often
by lifting, shifting, and modernizing applications.
Which is the most challenging aspect of
the application lifecycle?
Management
44%
What percent of production apps run in
the following environments?
Environments are
heavily
heterogeneous,
and application
management is
most challenging.
Speed is success for applications - but
achieving speed is a big challenge.
https://www.chef.io/solutions/modernizing-apps/
5. The Benefits and Problems of Legacy
Legacy is shorthand for critical business applications with longevity. But it
creates manageability problems:
Windows 2003
MSVC, COM+, etc.
Business App 1
Windows 2008 R2
MS .NET 2.0
Business App 2
Red Hat Linux 5
IBM WebSphere
Business App 3
Red Hat Linux 6
Tomcat 6 / Java 7
Business App 4
This is frustrating because the business value is in the app. Yet you carry all
of the burden to support it.
6. What is Habitat?
Application automation that enables
modern application teams to build, deploy,
and manage any application in any
environment - from traditional to
containerized microservices.
7. Deliver on a Cloud-Native
(Cloud/Containers) Strategy
Organizations hit a wall when adopting and
deploying to a cloud-native platform.
Docker, Kubernetes, Cloud Foundry,
Mesosphere and other container platforms.
8. “Lift & Shift” Legacy Apps to
Modern Platforms
Organizations struggle to move existing,
business critical apps to modern platforms.
Linux and Windows applications that need
to modernize.
9. Application-centric Operations with Chef Habitat
Habitat splits the platform-independent part of the application from the
platform-dependent part
BUILD DEPLOY MANAGE
Ring
Supervisor
Platform-Independent Build Export Platform-Dependent Deploy
10. Building & Packaging Applications with Habitat
USER ARTIFACT
Packaging Applications (Platform Independent)
PLAN DEPOT
11. Exporting to containers with Habitat
Traditional applications Habitat packages
Libraries
Operating System
Application
Application Libraries Application &
Libraries
OS
12. Deploying & Running Applications with Habitat
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
Deploying and Running Applications (Platform-dependent)
DEPOT ARTIFACT
BARE METAL
CONTAINERS
IMAGES
VM
13. LEADER
STAND ALONE
Topologies Update StrategiesRunning
Applications
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
Deploying & Managing Apps with Habitat
LEADER
ElECTION
ALL AT
ONCE
ROLLING
14. On-Prem & SaaS-based build service
▪ Git source repository integration
▪ Automated builds and dependency rebuilds
▪ Public and private origins
▪ Release channels for Continuous Delivery
▪ Container publishing to Docker registries
▪ > 700 packages for common applications and libraries
Habitat Builder
https://bldr.habitat.sh
15. Habitat's Approach for Legacy Modernization
Windows 2003
MSVC, COM+, etc.
Business App 1
Windows 2008 R2
MS .NET 2.0
Business App 2
Red Hat Linux 5
IBM WebSphere
Business App 3
Red Hat Linux 6
Tomcat 6 / Java 7
Business App 4
Keep this:
Bundle as much of this as needed with the app:
Eliminate or reduce dependency on this:
16. Customer Story - Modernizing Legacy Apps
The challenge:
● Large auto manufacturer moving COTS
apps to next generation data center
● Example legacy app: Windows
application written in Borland Delphi in
2003 - in Portuguese
● Lot of value in the app, painful to rewrite
The solution:
● Package the application and its
dependencies with Habitat
● Enable the application to be deployed to
any environment - next generation
datacenter and beyond
● Manage the application through its
lifecycle - updates, patches, etc.
● Gain manageability benefits in the new
environment and maintain value of the
app without rewriting
BUILD DEPLOY MANAGE
Ring
Supervisor
17. Customer Story - Accelerating Platform Adoption
The challenge:
● Large agribusiness enterprise moving to
aggressively adopt Red Hat OpenShift
● Need a consistent way to build and test
applications for this environment
The solution:
● Build, Deploy, and Manage cloud-native
applications with Habitat
● One consistent app delivery strategy to
optimize efforts
● Enable apps to be deployed to any
environment - OpenShift and beyond
BUILD DEPLOY MANAGE
Ring
Supervisor
18. For Operators
Works the same everywhere
▪ Automated container builds
▪ Immutable build artifacts
▪ Release channels for CD workflow
▪ Consistent management of any application on any
platform
19. Benefits of Application Portability
• Reduce or eliminate operating system TCO
• Easily right-size workloads to infrastructure
• One way to production & management for all
applications
• Future-proofing from platforms
20. Two dates to remember
July 9th, 2019
January 14th, 2020
21. Apache Licensed!
Open Source Community
▪ Docs and Tutorials habitat.sh
▪ Source Code github.com/habitat-sh
▪ Slack habitat-sh.slack.com
▪ Forums forums.habitat.sh
22. AUTOMATE ALL THE THINGS.
CHEFCONF 2019 IS HERE.
chefconf.chef.io