What are we going to do about all these legacy applications? Kubernetes, Docker or Server Core? With Habitat it doesn’t matter anymore! As companies make the transition from traditional IT infrastructure to cloud-native container platforms packaging, deploying and managing applications becomes the focus for developers and operators. Having a consistent approach to managing dependencies and building applications brings stability to CI/CD pipelines and frees developers to prioritize on features. Automated, repeatable builds with immutable artifacts and consistent management of any application on any platform allow operators to focus on stability and speed. Chef's Habitat project brings all of this together in an open source automation platform that enables modern application teams to build, deploy, and run any application in any environment - from traditional data-centers to containerized microservices. This presentation provided an overview of the benefits of Habitat and a live demo of applications being built and deployed on traditional operating systems across Docker and Kubernetes, seamlessly.
2. Shifts in Modern Application Architecture
Demand an application-centric operations model
Infrastructure
Centric
Operations
Application
Centric
Operations
Cloud
Containers
Microservices
UNIT OF VALUE is App
UNIT OF WORK is Deployment
UNIT OF VALUE is Server
UNIT OF WORK is Configuration
Infrastructure Automation Compliance Automation Application Automation
3. Chef's 2018 State of Application Delivery Survey
https://www.chef.io/solutions/modernizing-apps/
4. Survey Insights
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%
* “Time from code to production” or “Time from commit to deploy”
46 45
34
5. Survey Insights
In 2 years, what percent of your apps will be
deployed on container platforms?
1/4 or More
51%
Which approach will you use to transition apps to
new architectures & infrastructures?
Aggressive plans for
containerization, most often by
lifting, shifting, and modernizing
applications.
73%
52%
Lift, Shift,
Modernize
Rewrite
Apps
Speed is success for applications -
but achieving speed is a big
challenge.
6. Survey Insights
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.
7. In search of speed, organizations are moving to the next
platform while carrying legacy weight.
It’s already difficult to manage. It’s going to get harder.
Now is the time to think about a comprehensive
application strategy.
https://www.chef.io/solutions/modernizing-apps/
8. 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.
9. Heterogeneity is a reality in IT
Heterogeneous applications are the past, present and future.
How could we extract the applications' business value from the underlying
infrastructure to improve its manageability?
Business App 1 Business App 2 Business App 3 Business App 4
89% of respondents desire a cross-environment application packaging
solution.
Source: Chef's 2018 State of Application Delivery Survey
10. Habitat enables application teams
to build, deploy, and manage any
application in any environment -
from traditional data centers to
containerized microservices.
Introducing Habitat
• Deliver on a Cloud-Native
(Cloud/Containers) Strategy
Organizations hit a wall when
adopting and deploying to a cloud-
native platform
• “Lift & Shift” Legacy Apps to
Modern Platforms
Organizations struggle to move
existing, business critical apps to
modern platforms
11. 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
12. BUILD DEPLOY SUPERVISE
Essentials of Habitat
Better application packaging
▪ Consistent process for
packaging all apps across all
architectures.
Simple process for key
languages: Node.js, .Net, Java,
Go, etc.
▪ Works with current
SCM/CI/CD workflows.
Automation for applications
▪ Consistent management
capabilities in any runtime
environment (clustering topology
support, auto-configuration, auto-
update).
▪ Build specifically for distributed,
stateful application topologies -
real use cases.
BUILD DEPLOY MANAGE
Target any format and runtime
▪ Build artifact is separate from
deployment artifact, offering
flexibility and deferred
decision making.
All knowledge of app
dependencies are included in
the deployment artifact.
Assists ‘lift and shift’, or ‘lift
and modernize’ strategies in
mixed portfolios.
12
14. Exporting to containers with Habitat
● Most container-based approaches
start by: building up from the
operating system.
● The entire triangle becomes the
artifact you carry around with you now
and in the future (including sometimes
the VM and the server!)
Libraries
Operating System
Application
Application &
Libraries
● Habitat builds from the application
down
● Builds have strict dependency version
control
● Embedded management API
Application Libraries
OS
15. What the modern application team gets
Developers, System Administrators, CIOs; Enterprise and Tech Innovators
▪ Runs the same way in
any environment
▪ Management travels
with the application; no
drift
▪ Autonomous and self-
organizing
▪ Legacy and Greenfield
▪ Lets the enterprise
modernize without re-
writing the world
▪ Faster to build, easier to
deploy, safer to manage
▪ Easiest way to deploy
applications, containers,
and microservices in
production
▪ Developers can focus on
building great
applications
▪ Systems Administrators
can focus on how those
applications should
behave
▪ Gives both a language
they can share, with clear
boundaries
Simplification Acceleration Empowerment
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. Recap: 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.
18. 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:
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