The increasing adoption of DevOps principles has led to greater integration between software development (both application and software engineering) and IT operations (both systems administration and infrastructure). In this online seminar, we will explore the DevOps approaches
5. History of DevOps
• “DevOps” coined by
Patrick Debois in 2009
• Ideas from enterprise
systems management
• Address rapid app
rollouts by agile
development
7. Need for DevOps
Development Operations
• Driven by functional • Driven by non-functional
requirements requirements
• Based on business needs • Such as availability, stability,
• Use complex coding without performance, and monitoring
concern for Operations • Lack knowledge of
• Their job is to make changes application’s internals
• Their job is to avoid changes
8. Driver 1: Rapid Deployment
• Operational needs to support
agile development
• Applying agile approach to
infrastructure allocation via
virtualization
• Rapid adoption of applications by
operation teams
• DevOps implement automation
and configuration management
tools
9. Driver 2: Distributed Systems
• Applications no longer monolithic
• Tend to be more service oriented
• SOA allows for reuse of existing
vertical functionalities
• Ops not just managing
infrastructure – also services
• They need expertise both in
infrastructure and services
10. Driver 3: Application Support
• Growing need for operations to be
more than trouble ticket clerks
• Be more self sufficient supporting
production apps
• Need to decrease development
involvement in production faults
• Provide more precise info for tier 3
and dev support
• More changes, more unexpected
issues, lack of predictability
11. Driver 4: Integrating Ops and
Development
• Need better feedback
mechanisms
• Implement measures
and metrics
• Communicate when
things are going well
12. Challenges
1. Facilitating rapid app transition from Dev to Ops
2. Providing app-specific knowledge to Ops
3. Getting Dev and Ops teams to communicate better
14. Tools – Application Mapping
• Automatically
– Discover and display relationships
between applications
– And supporting IT components
– Known as application
interdependency mapping
• Replaces
– VISIOs /diagrams
– Manual CMDB provisioning
– Long training and handovers
sessions
16. Tools – Transaction Management
• Trace transactions execution path across
complete IT stack
• Understand application behaviors with no
prior knowledge
– Transaction discovery
– Transaction path detection
– Transaction performance models
• Down to interaction between the
supporting infrastructure components
“ the chain is only as strong
• Indentify transaction delivery failures as its weakest link”
across infrastructure
18. Use Case 1:
When an Application Container Fails
• Performance problems with
portal application
• Database, LDAP, web server,
and app server are “good”
• Dev is blaming the database
and network
• And end users complaining
about slow application
22. Use Case 2:
When it doesn’t behave as you thought
• Everything looks great at UAT
– Preview rollout to production
– All signs suggest a problem
– but why and where?
26. Use Case 2:
When it doesn’t behave as you thought
Average end-user experience is also degrading
27. Use Case 2:
When it doesn’t behave as you thought
Workload increase is attributed to stored procedure To database – “write session”
28. Use Case 2:
When it doesn’t behave as you thought
It gets larger over time as “write session” goes
from 320 B to 2.2 MB, gradually degrading performance
29. Summary
• DevOps increasingly popular
• Moving from SMB to the enterprise
• Need new tools
• Will challenge IT organizations to change the way
they do business
As a side note I’ll say that the term DevOps is widely coupled with Agile development and rapid deployment and rollouts execution, but in this presentation I will focus on the less “talked about”, but equally important aspect of DevOps which is production monitoring.
When the industry become aware of the need for DevOps.But many in the industry (including myself) believe that DevOps where always there, even if not specifically named.It could have been the software/system architect responsible for the scaling, fail-over, alerting aspect of the application. It could have been the head of production-support, or Ops staff that came with development background.
New and emerging disciplineinherent difference between development and operations.DevOps are a bit of all – they have dev,qa, and IT Opr skiils
- Developers usually don’t take into consideration how the application will be monitored and tested in production. I was actually working in a company where the design documents included the “debug” messages that should be sent to the logs. So, it will be much easier to identify logical problems in production.- Developer don’t really care about the data-base preformance when they write queries. In many cased developers relay on Load-Balancer unique routing rules to allow session afinity. However the load-balancer belongs to the Operations and not the engeenring which make it a point of faliouureOperations need to support the production applications. But it is very hard to them to handle slowdowns or application errors. They usually send the a ticket to the application owner support, who will usually receives a general error description not granular for him to process. He may choose to push back and ask to check the network or/and database performances.
“Demand for an increased rate of production releases from application and business unit stakeholders “development effort is required for automation of the deployment and management of an operational environment. System administrators have been developing scripts for years to simplify the task of managing and operating an environment and now that effort is being recognized as an important skillReality of things – sys-admins are required to develop scripts for application deployment
Service Operations – understanding that Operations are managing more then just the infrastructure, they also mange services.In many organization the Portal is managed Operations.
Here is something that we see quite a lot when we meet with CIO and executives Development will focus on developing and have less excuses to miss there deadlines …. You know how it works
Finally, there is a growing acknowledgment in the industry to tradition gap between Development and Operations.DevOps as a tool should provide a bridge between these world to facilitate a Feedback mechanism between the different disciplines, build new measures and metrics for cross discipline activities and just to improve the communication.
So, here a summary of the changes I would like to focus on moving forward, and show you how they can be addressed with relatively new technologies and concepts our there …(*) There are so many IT elements that support applications today. How can we apply changes within the IT environment with less fear and more understanding of the interdependencies between applications and IT. Think about the challenges that we have when deploying a new app or making a change. We need a visio diagram of the layout, we need to constantly update it. We need to know which other application use the shared services or hardware with this application etc.(*) So in order to better support application we need to better understand how they behave. However this kind of knowledge is very hard transfer between development and operation.(*) How can these two displines communicate with each other, what language they should use for that?
While automation are the main tools for devops.So why do we need tools – we need tool to automate and manage complex activities. Why do developers use profilers – it’s a tool to allow them debug the application code.So, here is two new set of tools that we believe be used by DevOps :As a quick analogy - to understand how application behave in real time developer use code profilers. DevOps work on more coplex environment and need tools to understand how application behave across the endtire IT stack.
What happens with these tools, is that once you deploy them they will keep a real-time image of the mapping between applications and components – if you want like a live CMDB. That will make the whole application and change rollout much easier. That can replace manual visio diagram, CMDB provisioning, log training and handover sessions. As those tools automatically adapt to change – you can be sure that you a have a creditable and real time picture of mapping between application and IT components.In a complex service based IT environment, it is a must.
=================Just to give you an example, with our application mapping tool what we usually detect in almost all evalutaions is that the QA environment is calling a prudction database or production elements. In that is so common – you cant really avoid it.
So transaction management is more granular then aplication-mapping. And it is used to understand or learn your application without any prior knowledge by understding how transaction for and preform across the IT infrastructure at the granular level of interaction between IT elementCombine this capability with auto-discovery and you have a technology that auto learn and profile applications. No prior knowledge is required. It will monitor all transactions across the platform allowing you to quickly identify where application transactions breaks.
From the system monitoring domain,DevOps – in this case our company ware the hat of the devops, as IT professionals.We went to a very conservative bank,
Learning the application without any prior knowledge … not configurations
IT Operation are responsible for container that run software domain Knowledge within operation
So development say – yeah, yeah, yeah – it is because your applications doesn’t scale