2. Chapter 4 : Looking at How Cloud Accelerates DevOps
Chapter 5 : Using DevOps to Solve New Challenges
Chapter 6 : Marking DevOps Work : IBM’s Story
Chapter 7 : Ten DevOps Myths
4. Using Cloud as An Enabler for DevOps
The speed of environment provisioning
The ability to dynamically provision and de-provision these environments
The ability to leverage “pattern” technologies that allow organizations to define and version environments
From an automation perspective, the availability of application deployment automation technologies
The availability of service virtualization technology
5. Full-Stack Deployments
Deploying the application
Configuring the cloud environment
OpenStack Heat Orchestration Template(HOT)
Another example of Docker:
6. Choosing a Cloud Service Model for DevOps
IaaS - Infrastructure as a Service
Provides access to computing resources in a virtualized environment. AWS,
Azure
PaaS - Platform as a Service
a form of cloud computing that provides a platform (runtime) and environment
to allow developers to build applications. Heroku, AppFog
SaaS - Software as a Service
a business model where software is licensed and delivered. SaaS Is basically on-
demand software for end users. Dropbox, Evernote, Office 365,
BaaS - Backend as a Service
Is an approach to cloud computing that provides a backend for applications
(mostly mobile)
Provide an API and tools for deveolpment
Parse. Firebase, VS online, Deployd
7. Understanding What a Hybrid Cloud Is
Public Cloud
A type of cloud where resources are shared between multiple users and are publicly available to any company/user.
Private Cloud
A type of cloud where hardware, storage and network are dedicated to a single client. Also to get compliance with PCI,
HIPAA is much easier with a private cloud.
Hybrid Cloud
Good solution if there is institutional hesitancy about the security of the public cloud for sensitive data
9. Mobile Applications
User feed back & log tracing
Flurry and Google analytics mobile
Automation Test on Mobile
MonkeyRunner, Robotium, Selenium Mobile Web Driver
Continuous Integration & Continuous Deployment Problem
11. Scaling Agile
Lean and agile development are the underpinnings of the DevOps approach.
Scaled Agile Framework(SAFe)
It is a programming knowledge base that aims to enable you to apply lean-agile practices at enterprise scale.
Disciplined Agile Delivery(DAD)
It is a people-first, learning-oriented hybrid agile approach to IT solution delivery.
12. Multiple-Tier Applications
Consistent deployment practices can help ensure that teams are using reliable, repeatable deployment
across platform to provide true business value.
Including basic setting, e.g. ASP.NET 5 replace XML to JSON as default
http://docs.asp.net/en/theming/fundamentals/configuration.html
13. DevOps in the Enterprise
Facing challenges
Regulatory hurdles
Get Approval
Process complexity
Xuenn YT User
Skill gaps
OPS, APPS
Organization silos
Xuenn YT User
Platforms and tools that result in long service cycles, unnecessary delays and wasted resources
DEV=>QAT=>UAT=>PROD
14. Supply Chains
The Relationships among suppliers are managed more by contracts and SLA than by collaboration and
communication.
Outsourcing management and communication
Report on all item
Let tools help you
Git
Slack
Slack 完整教學與上手心得:找到正確的團隊溝通之道
15. The Internet of Things
The development and testing needs for CI and CD to testing remain the same, Simulators are used test
software and hardware during development
Anit-Pattern
Water-SCRUM-fall
NoOps
17. Talking a Look at the Executives’s Role
Select the right leader
Involve stakeholders
Measure improvements and outcomes
Build momentum with early successes
Communicate and listen
18. Putting Together to the Team
IBM Software Group (SWG)
One of the major divisions of IBM.
Over 80 software development tools in the categories of software delivery planning
Over 25 locations in 10 countries.
Before adopting DevOps approach, the group worked on a yearly release schedule including an additional 3 to 6
months of lead time to actually determine what went into that yearly release.
19. Setting DevOps Goals
Streamline the process and introduce new methodologies
Leverage tools for consistency, for scalability to other teams, and for traceability and metrics
Evolve the culture to continuously improving
20. Learning from the DevOps Transformation - 1
Expanding agile practices
Allocating and ensuring funding for program execution Success
Driving, assisting, and supporting program execution
Establishing long-term vision and direction for the Business
Prioritizing epics and user stories for annual releases that align with the long-term vision
Leveraging test automation
Automate repetitive and labor-intensive tests.
Automate in areas where bugs are frequently found.
Run automation on every build; run early and often.
Create automation that’s resistant to user interface (UI) changes — use a framework that separates the UI from the
tests.
Make it easy to create, deliver, and maintain the automation establishing strong feature team ownership.
Plan automation development work into your estimates and ensure developers have time to work on it.
Develop metrics so you can evaluate whether your automation is useful (you can’t improve what you can’t measure).
Constantly re-evaluate if your automation is finding bugs and refactor it if it’s not.
21. Learning from the DevOps Transformation – Part 2
Build a delivery pipeline - Needed to embrace
Shift-left testing and automate as much as possible
Use the same deployment mechanisms everywhere
Strive to maintain a constant state of ship-readiness
Treat infrastructure as code
Build a delivery pipeline - Following
Treat pattern definitions, script packages, and services as code.
Version everything.
Automate deployment of topology patterns to the cloud.
Manage versions of patterns across multiple cloud environments.
Automate the testing of patterns.
Cleanup catalog resources to avoid sprawl.
21
22. Learning from the DevOps Transformation – Part 3
Experimenting rapidly
Establish metrics and success/failure criteria.
Figure out what works by running experiments — tiny tests for a small subset of users to help determine the
usefulness of a feature.
Run multiple experiments continuously.
Make fact-based decisions quickly.
Deliver faster and you can experiment faster.
Establish a mechanism to enable system-wide experimenting(Google Analytics, IBM Digital Analytics, and so on).
Consider different models of experimenting (classical A/B testing, multi-armed bandit, and so on).
Follow two paths simultaneously for related projects: experiment on a cloud-based project and use the data from the
experiments to not only drive the direction of that project but also related on-premise projects.
22
23. Learning from the DevOps Transformation – Part 4
Continuously improving
The business metrics consist of measured improvements in
Faster time to delivery
Improved client satisfaction
Reduced maintenance spending while increasing innovation investment
Increased client adoption
Operational metrics impact team’s efficiency over time and measure the following:
Time to initiate a new project
Build time
Iteration test time
23
26. 1. DevOps Is Only for “Born on the Web” Shops
Example of Mobile app
26
http://www.continuousagile.com/unblock/cd_mobile.html
27. 2. DevOps Is Operation Learning How to Code
Have to better
Communication, tools and work as a team are Major
27
28. 3. DevOps Is Just for Development and Operations
Not for each side, DevOps is for whole team, including stakeholders in the delivery of software, lines of
business, practitioners, executives, partners suppliers, and so on.
http://www.baselinemag.com/it-management/slideshows/devops-strategies-beef-up-the-bottom-
line.html
28
29. 4. DevOps Isn’t for ITIL Shops
ITIL’s life-cycle model is compatible with DevOps
DevOps care the end-to-end delivery
The key is to identify the areas where you will get the most bang for buck through improved collaboration
and automation.
1. List out your top/key ITIL processes
2. Gather representatives from each relevant team to review them
3. Identify the points in each process where things break down
4. Ask how/if improved collaboration or automation could help?
5. Prioritize based on effort and reward
6. Start at #1
ITIL Guide to DevOps eBook
29
30. 5. DevOps Isn’t for Regulated Industries
Why Are Some Industries So Far Behind on DevOps?
30
31. 6. DevOps Isn’t for Outsourced Development
IBM DevOps: Outsourcing Governance
Managing Your Outsourced IT Services Provider
31
42. Reference
Introducing the scaled agile framework
Introduction to DAD
Private vs. Public vs. Hybrid Cloud: Which One to Choose?
DevOps for mobile development
wiki – ITIL
Water-Scrum-Fall: Agile reality for Large Organisations
DevOps vs Outsourcing
Transform DevOps with Application Release Automation
[Phonegap]FlurryPlugin 使用(on iOS)
[Phonegap]FlurryPlugin 使用part2(on android) 與項目介紹
A private cloud solution can be implemented in your on-premises datacenter with a virtualization layer such as VMware, though many mid-sized and large enterprises let a managed private cloud services provider maintain servers, storage, network, and application infrastructure.
Before ALM is PLM
ALM方法提供彈性且敏捷的環境,可配合您小組的需要、屏除角色之間的障礙,並且簡化程序,讓您把重心放在更快速且更有效率地提供高品質的軟體。
DevOps is itself a natural outgrowth of Agile, bringing operations into the Agile model of rapid, frequent-iteration development in the hands of a relatively small team.
A Hybrid Framework
Disciplined Agile Delivery (DAD) is a hybrid framework that builds upon the solid foundation of other methods and software process frameworks. The DAD framework adopts practices and strategies from existing sources and provides advice for when and how to apply them together. In one sense methods such as Scrum, Extreme Programming (XP), Kanban, and Agile Modeling (AM) provide the process bricks and DAD the mortar to fit the bricks together effectively
A “one team” approach was taken that combined product
management, design, and development. The development
team included the traditional roles of development managers
and team leads but also brought in operations management
and architects to support an end-to-end life cycle strategy.