Upload
ryan-mcguinness
View
223
Download
1
Embed Size (px)
Citation preview
1
@WalmartLabsDevOps @ Global Scale
05
40
10
50
20Introduction * About the speaker * What is DevOps * Scale
Operations - Metric Drive - Collection
Stratagies - Decision Making
Sustainability * Community * Involvement
What is DevOps Really
Development * Standardized Practices * Right Tools * Agile! * Training, training, training * Open Source in mind
Today PresentationPresentation Tittle : Java & DevOps at Global ScaleDuration : 60 minutes
30 Quality Assurance * Planned * Customer Driven * Test Drive * Metrics Driven
3
About the speaker
“Architecture is a conservative discipline.” - The theory of architecture
Ryan McGuinnessPrincipal Architect Engineer @Platform
Actual Years of Experience: 21 Internet Years of Experience: 140 Languages: Java, C#, Perl, Ruby, Python, JavaScript
Twitter: @RyanMcGuinness5
“Don’t mistake my basic explanation for basic understanding”
“Only the doer learneth”
4
What is DevOps
”DevOps - A software development method that emphasizes the roles of both the Software Developer and other IT Professionals with an emphasis on IT Operations” - Wikipedia
This is woefully incomplete.
5
Walmart ScaleGlobal E-Commerce
• Founded in 1962 by Sam Walton • 2.2M associates • 11,500 stores in 28 countries • E-Commerce in 11 countries • 198M users @ 20M per day • 3417 Application in production
• ~1000 Deployments per day
http://corporate.walmart.com/_news_/walmart-facts/corporate-financial-fact-sheet
"There is only one boss. The customer. And he can fire everybody in the company from the chairman on down, simply by spending his money somewhere else."
Sam Walton
6
SustainabilityYou must plan and participate in your community to have a sustainable future.
Environmental
Social Economic
Workplace (Developers, Managers), Open Source, JCP,
Business Partners
Devoxx, JavaOne
Local JUG, Virtual JUG,
Training
Commercial backing,
Sufficient economy
Sustainable Development
• Environmental • Social • Economical
7
CultureRelationships are the key to sustainability
Companies and individuals often use standards, standards they have valuable input on, standards they often hack in order to work in their environment. Put your knowledge to work by committing to making the standard better.
Adopt a JSR
Everyone uses Open Source. Oracle, IBM, Microsoft, etc. If we don’t commit to keeping it relevant, it does and will die on the vine.
Open Source Commitment
Change starts with taking initiative. If you company has policies that work,
get involved, it they don’t , help change them.
Remember: “All progress is change, not all change is progress”
Company Leadership
Share your knowledge, learn from you peers. If you are not involved in a local
JUG, then the world is missing your input. Sharing your experience is just
as valuable as sharing code.
Java User Groups
8
Community
“One can acquire everything in solitude except character.”
Alex Soto - CloudBees
“I know there is strength in the differences between us. I know there is comfort, where we overlap.”
“Knowledge is power. Community is strength and positive attitude is everything.”
Andy Gumbrecht - Tomitribe
Arun Gupta - Couchbase
Aslak Knutsen - Red Hat
Jean-Louis Monteiro - TomitribeSimon Maple
- ZeroTurnaround
Trisha Gee - JetBrains Markus Eisele
- Red Hat
Matt Raible - Raible Designs
Rene Gielen - IT-Neering.net
Maria Khalusova - JetBrains
Stuart Marks - Oracle
Dan Allen - OpenDevise
Yara Senger - Globalcode
David Blevins - Tomitribe
Speakers & Persons of Interest
Josh Long - Pivotal
9
DevelopmentWe are a value proposition for a company, a vector for revenue.
• Standards vs. Best Practices • Just enough governance • Service oriented vs. Document Oriented • Contract driven
• Know your tools • Development Tools ( Eclipse, IntelliJ, NetBeans, Maven) • Continuous Integration Tools ( JUnit, Arquillian, Git, Jenkins ) • Quality Assurance ( JaCocCo, Covertura, Sonar, OOB QA ) • Continuous Delivery ( OneOps )
Deliver value to the business • Meeting daily ( include your customer ) • Demo religiously ( Show your work ) • Deliver every sprint
Standardized Practices
The right tools for the job
The promise of Agile Development
Training
Open Source from the start
Metrics driven from the start
Training does not have to be formal • Develop a training product • Iterate with technology • Share internally and externally
• Prevent bad habits by having a healthy mindset. • Think about OSS licensing, and what that means to a
product. • Reduce or shade external dependencies
• Figure out how to measure before you start. • Emit metrics to delegates, not to implementations • Determine what is right for business, timing (and volume)
is everything.
Test Driven
• Before you start any project, determine what quality means and how you will measure it.
• Test intelligently, test from the interface down.
• Testing is technical debt • Tests without assertions are
wasted time • Mock testing is 98% a waste of
time • Tests should deliver quality
assurance
Before you check-in
Run your project like it’s open source: • Fork from the beginning (Git) • Pull requests add overhead -
this is good • Merge upstream prior to pull
request • Test locally, enable failure on
metrics
Continuous Integration
Near production building nodes • Metrics driven build output • Distributed test environment • Multiple testing profiles (should
include chaos) • Test quality profiles • Manual overrides • Traceability / Blame
Continuous Delivery
Trust First Delivery Second
• Operational excellence required • Stateless SHOULD be preferred • A/B testing via targets
deployment & Configuration driven
• Automation requires expertise
Automation, Quality, Delivery
11
OperationsAbsolutely nothing you do will ever mean anything unless people are using it.
Deployment & Transitions
The customerProductionPre production environments
Operations starts before production loads are added to systems. Operations SHOULD be involved once applications begin moving to mid or higher
environments.
Pre production environments should be monitored as if
they are production environments. Operators and developers SHOULD take the time to load test and triage
prior to production.
High visibility environment. Elastic (based on data) Monitored: Intelligent
thresholds. Metered: Business meaningful metrics
It only takes once to lose a customer, especially in the
growing world of e-commerce.
Configuration Driven
Metrics & TSD Backed
Data driven decisions
12
What is DevOps… Really
Development - Is about programmatically solving problems to make your customers lives better. - Value proposition
Culture, Automation, Measurable, Purpose built, Sustainable
Operations - Is about ensuring your company’s image by providing customers with good experiences - Value perceptionDevOps - A culture for ensuring the customer experience by providing automated, measurable, operational excellence through business meaningful metrics
Thank You!