Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

New Technologies For Enterprises

Presentation from JAX 2013 about new technologies such as NoSQL, DevOps, Continuous Delivery and Cloud and what they mean for Enterprises.

Eberhard Wolff

on 24 April 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of New Technologies For Enterprises

Cloud New Technologies for Enterprises Continuous Delivery enables DevOps Technique Classic Ops
less important NoSQL horizontal
scaling easier
schema updates Eberhard Wolff
Architecture and Technology Manager
adesso AG About me Eberhard Wolff
Architecture & Technology Manager at adesso
adesso is a leading IT consultancy in the German speaking region
Blog: http://ewolff.com
Twitter: @ewolff
http://prezi.com/user/ewolff Core of Cloud Everything as a service
Service: Self Service Portal
Can be booked by the user
Fully automated provisioning Enterprise Often impossible to use Public Cloud
Data privacy, legal constraints...
Often significant existing investment in hardware
Sometimes predictable scaling Helpful for... Setting up testing environments
Performance tests
Quickly going into production
Generally speeds up the process Imagine... Test environments on demand
with specific releases installed Rebooting into larger instances for performance tests Taking snapshots in production Amazon Elastic MapReduce
Auto Scaling
Elastic Load Balancing
Cloud Front (Content Delivery Network)
Relational Database Service (RDS)
MySQL, Oracle, DB2
Elasticache (memcached)
Beanstalk (PaaS) Cloud Search
Simple Workflow Service (SWF)
Simple Queue Service (SQS)
Simple Notification Service (SNS)
Simple Email Service (Amazon SES) Just an example, other clouds are similar Creating a global photo sharing site is quite easy:
Store photos on Amazon S3
Enable Content Delivery Network
Some custom glue code Photo sharing
3 engineers for 10 mio user and 100 mio photos
Bought by Facebook for 1bio$
http://goo.gl/WSvCB Instagram Finally the long promised industrialization? Clouds offer powerful proprietary building blocks. Building blocks can also be created in Private Clouds There is more to Cloud Virtualization Ubiquitous in Enterprises
But: Still slow manual processes

How long does it take to get a new server? Virtualization Self Service Portal Commodity: OpenStack,
VMware... Problem solved! Principles Don’t Use Manual Procedures If it hurts -
do it more often
- and bring the pain forward! Current Problems Bringing Software into Production is hard
Takes a lot of time
Error prone Infrastructure can be created by calling an API
Easy to create new servers Commit Stage Automated
Testing Automated
Testing Manual /
Testing Release Compile
Unit tests
Static Code Analysis (optional)
e.g. Jenkins / Hudson GUI-based (e.g. Selenium)
or Behavior-driven (e.g. JBehave):
Given <initial context>
When <event occurs>
Then <some outcome> Realistic scenario and data
Service or public API
Lower-level API
(Scaled-down) production-like system Exploratory i.e. no strict test plan
...by domain experts
Focus on new features / unforeseen behavior
Not everything should be automized
But: Automation frees resources for manual testing Automated!
No manual change to any system
Two environments
Install system on second environment in the background
Canary Release
Deploy to subset of servers Pipeline - Builds are promoted Lower Risk Deploying seldom to production increases risk
...because more changes pile up
Assume reliable automated deployment Reliability Ever tried to do a deployment into production at Sunday night?
Ever found a slight deviation in production leading to massive problems? Just another execution of same pipeline Deployments completely reproducible Continuous Delivery means
Deployment has been tested several times before Cloud Why? Lean Startup demands quick deployment into production Result: binaries (e.g. RPM)
Might be more than a deployable artifact i.e. installer
Configuration tools like Puppet, Chef ... Dev can build custom tools for app trouble shooting for Ops
Ops can provide monitoring and alerting to Dev for specific / business metric
Dev can provide feature toggles so Ops can degrade instead of fail Business need an up-to-date and stable system
Development and Operations together own that goal But In the End... Collaborations in DevOps Adam Smith Division of labor

So: Separate Dev and Ops
...and optimize what they do

Still a lot of craftsmanship... Software Dev Ops Dev Ops Work on projects
Must implement features
up-to-date Keep up operations

stability Collaboration at least for deployment Economic Drivers Continuous Delivery requires
Dev & Ops skills Horizontal
Scaling Flexible Data
Structure Key-Value Document Wide Column
Full transcript