13
1 @WalmartLabs DevOps @ Global Scale

Java DevOps at Enterprise Scale

Embed Size (px)

Citation preview

Page 1: Java DevOps at Enterprise Scale

1

@WalmartLabsDevOps @ Global Scale

Page 2: Java DevOps at Enterprise 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

Page 3: Java DevOps at Enterprise Scale

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”

Page 4: Java DevOps at Enterprise Scale

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.

Page 5: Java DevOps at Enterprise Scale

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

Page 6: Java DevOps at Enterprise Scale

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

Page 7: Java DevOps at Enterprise Scale

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

Page 8: Java DevOps at Enterprise Scale

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

Page 9: Java DevOps at Enterprise Scale

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.

Page 10: Java DevOps at Enterprise Scale

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

Page 11: Java DevOps at Enterprise Scale

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

Page 12: Java DevOps at Enterprise Scale

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

Page 13: Java DevOps at Enterprise Scale

Thank You!