字幕列表 影片播放
Meet Dave. Dave works for a company whose success is contingent on its ability to offer
new and exciting products to its online customers faster than competitors. Dave is a developer,
who writes code for new products, new features, security updates and bug fixes. Unfortunately,
he needs to wait weeks for his work to be placed into production.
This delay increases the pressure of staying competitive, because some competitors are
able to deploy new products and features much faster.
In addition, the delay makes it very challenging for Dave to manage both the code that is pending
to be pushed into production and the development of the next product and/or feature that he
is responsible for producing.
When DaveÕs code is finally deployed into the production environment, occasionally unforeseen
errors or problems occur. This mostly happens because Dave is focused on writing code for
his Development Environment and itÕs not identical to the Production Environment.
Meet DaveÕs coworker Anna! SheÕs a System Administrator from the Operations team. She
is responsible for maintaining and assuring the uptime of the Production Environment.
The number of servers that she needs to administer is constantly growing because her company
continues to launch new products and customers are consuming more of their services. This
increase of servers has caused some challenges for Anna. The tools that she used to administer
a few servers are not as effective when used to administer a much larger volume of servers.
This challenge affects how new code is deployed in her production environment. Usually when
new code is released it takes a little massaging to fit into her environment. This is why she
requires code deployments to be scheduled and are only allowed once a month.
Once the new code is actually deployed, itÕs her responsibility to diagnoses any errors
or problems caused by the changes. Sometimes to her it feels as though the Developers have
tossed their work over the wall to her and her team.
So, What can be done to help Dave and Anna work better? Ultimately, they want the same
thing,,,, happy customers!
What if Dave the Developer and Anna from Operations * Worked better together?
* Thought more alike? * Broke down silos?
* Shared responsibilities?
This would require them to change their mindset on how DEV and Ops work?
So, what is DevOps? Devops integrates developers and operations
teams in order to improve collaboration and productivity, by automating infrastructure,
automating workflows and continuously measuring application performance.
If AnnaÕs and DaveÕs teams were more DevOps oriented, they would do a few things differently.
They would place more focus on automation. DevOps teams try to automate everything: from
testing of new code to how infrastructure is provisioned.
They would write software in small chunks that are integrated, tested, monitored and
deployed usually in hours, versus the traditional way of writing large chunks of software over
weeks or months to then do weeks or months of testing. Plus they will have identical
development and production environments based on same configurations.
Writing small chunks of software will allow them to increase the frequency of the deployments
and improve the time to deploy new code.
It also enables them to adopt an iterative process to monitor, measure and improve the
code and operations every day. Improve their ability to respond to market needs, or other
things that impact software.
Instead of building and configuring software plus infrastructure manually on an ad-hoc
basis, AnnaÕs and DaveÕs teams would write Configuration Management Code that describes
how things should be built. As a result: they will have the ability to build infrastructure
at scale to dozens, hundreds or even thousands of servers), in multiple locations, using
different types of hardware.
Another change that a DevOps oriented team would do, is to use a source control system
to help manage and document all of the changes to both the Application Code and Configuration
Management Code.
The change that Anna and Dave would implement is to adopt a discipline of application performance
monitoring and optimization in almost real-time. This will allow Dave and the rest of his developers
to understand the performance impact of their changes. The ultimate goal is to have a Production
Environment that gives their customers a great experience.
So what benefits does having a DevOps oriented team give AnnaÕs and DaveÕs company? Well,
it allows them to increase the rate of Software Delivery and improves the companyÕs ÒTime
to MarketÓ potentially from Months and Weeks to Days and Hours. This will be a huge competitive
advantage. It also allows them to maintain better Business Focus by automating their
infrastructure so they can focus things that improve the business and their online content.
They will spend more time of the things that add more value to their organizations
When a company is able to build and offer better products, this means they have happier
customers, and happier developers.
How does a DevOps oriented team actually accomplish this? Well as mentioned before, a culture
change is needed, or changes in the mindsets of the two groups that need to work closer
together. The other component to the formula is getting the right tools. New tools are
needed in this new fast pace world.
They will need a tool that allows them to test their code and programs. An example of
this is Jenkins.
They will need a tool for Source Control such as GiTHub. This will allow them to manage
and document all the changes to their Application Code and their Configuration Management Code.
They will need tools for Configuration Management, such as Chef, puppet and Saltstack. These
tools will allow them to deploy applications in an automated fashion, maybe across hundred
or thousands of servers in different locations.
They will also need new tools that allow them to continuously measure the performance of
their environment. Generating, reading and analyzing system logs is extremely helpful
to monitor an environment; but now that many environments have hundreds or thousands of
servers, new tools like new relic are required to make sense on all the data.
This will allow them to know how the entire application is performing and identify bottlenecks.
But many companies donÕt know how to use these new tools or do not have the skills
to automate software delivery process. This is where Rackspace DevOps Automation Service
can help.
In Conclusion, DevOps is a new philosophy that can help software organizations innovate
faster and be more responsive to business needs. It promotes collaboration between developers
and operations, which improves quality or software deployments, and more frequent software
releases. Adopting the DevOps philosophy requires a new mindset, new tools and new skills.
Rackspace can help. Learn more at www.rackspace.com/DevOps