Hitch your IT career to a rising star with DevOps certification
Savvy IT industry watchers have probably been noticing something called “DevOps”
come gliding into view for a while now, striking regular pings on the scope of
anyone scanning for either hot trends or spiking salaries. Even proponents of
DevOps, however, sometimes struggle to define it in layman’s terms, a challenge
that anyone who has ever tried to explain development methods like Agile or
Scrum to someone outside of IT will understand. Beneath the jargon, however,
there’s an important development model that is quickly gaining in popularity. If
you’re involved in IT, then this is something that’s probably worth taking the
time to understand.
What is DevOps?
DevOps is a compound of “development” and “operations.” It’s a software
development method that stresses communication, collaboration, integration,
automation, and measurement of cooperation between software developers and other
information technology professionals. DevOps is often shown graphically as three
overlapping circles consisting of Development, Quality Assurance, and
Information Technology Operations, with DevOps being the area of overlap that
ties all three circles together.
DevOps is so much more, however, than the intersection of three circles. It’s
often the intersection of five or ten circles — it just depends on the company
that the DevOps is supporting. DevOps spans the entire delivery pipeline. This
includes improved deployment frequency, which can lead to faster time to market,
lower failure rate of new releases, shortened lead time between fixes, and
faster mean time to recovery in the event of a new release crashing or otherwise
disabling the current system. Simple processes become increasingly programmable
and dynamic when using a DevOps approach, which aims to maximize the
predictability, efficiency, security, and maintainability of operational
processes. Automation often supports this objective.
DevOps integration targets product delivery, quality testing, feature
development, and maintenance releases in order to improve reliability and
security and provide faster development and deployment cycles. Many of the ideas
(and people) involved in DevOps come from the enterprise systems management and
agile software development movements.
DevOps aids in software application release management for an organization by
standardizing development environments. Events can be more easily tracked as
well as resolving documented process control and granular reporting issues.
Companies with release/deployment automation problems usually have existing
automation but want to more flexibly manage and drive this automation without
needing to enter everything manually at the command-line.
Ideally, this automation can be invoked by non-operations employees in specific
non-production environments. The DevOps approach grants developers more control
of the environment, giving infrastructure more application-centric
understanding.
The adoption of DevOps is being driven by factors such as:
● Use of agile and other development processes and methodologies
● Demand for an increased rate of production releases from application and
business unit stakeholders
● Wide availability of virtualized and cloud infrastructure from internal and
external providers
● Increased usage of data center automation and configuration management tools
● Increased focus on test automation and continuous integration methods
According to David Geer, 42 percent of IT pros surveyed had adopted or planned
to adopt DevOps development approaches (Information Week, 2014 DevOps Survey).
That number ballooned to 66 percent of U.S. companies using DevOps approaches by
the time of a Rackspace survey only 10 months later. With DevOps clearly taking
over the coder’s realm, most programmers will eventually have to yield to and
master this mindset.
What does DevOps mean for a programmer’s profession?
There's a lot of interest in DevOps in the IT world right now.DevOps introduces
developers to operational requirements and the tools and methods necessary to
ensure that the code they create is immediately functional, of high quality, and
fit for the production environment. With solid training in these tools and
methods, developers should find their talents highly sellable in a career world
that is increasingly favorable to DevOps practitioners.
Adam Gordon, CTO of New Horizon Computer Learning Centers of south Florida, sats
that important developer skills for DevOps environments include automating
configuration management (infrastructure lifecycle management) using
vendor-neutral tools such as Puppet, Chef, Ansible, SaltStack, and Docker. These
tools integrate with a host of popular platforms and software including Amazon
EC2, Amazon Web Services, CFEngine, Cisco, Eucalyptus, Google Cloud Platform,
IBM Bluemix, Jelastic, Jenkins, Linux (various distributions), Microsoft Azure,
OpenStack, OpenSVC, Rackspace, Rightscale, Salt, SoftLayer, Vagrant, VMware, and
a rapidly expanding number of examples.
Some of the most popular vendor-specific DevOps platforms include those from
Microsoft and VMware, says Gordon. Microsoft’s DevOps-related products include
System Center with its System Center Configuration Manager (SCCM) and System
Center Operations Manager (SCOM). These Microsoft developer tools enable
functions such as automated configuration management, monitoring, and custom
management pack development. VMware tools such as vCloud Air (vCloud Hybrid
Service) bridge the VMware development platform to tools such as Puppet and
Chef, according to Gordon, while the vRealize cloud management platform
automates infrastructure and application delivery, monitoring, analytics, and
management.
Finally, Red Hat Linux developers will find that learning to deploy this
distribution can be useful for work in Red Hat-related DevOps environments.
Does everyone love DevOps?
No, not everyone. Take Jeff Knupp, for instance. In an April 2014 blog, Knupp
claims that DevOps is “killing the developer.” Allow me to quote directly from
Mr. Knupp’s post:
“There are two recent trends I really hate: DevOps and the notion of the
‘full-stack’ developer. The DevOps movement is so popular that I may as well say
I hate the x86 architecture or monolithic kernels. But it’s true: I can’t stand
it. The underlying cause of my pain? This fact: not every company is a start-up,
though it appears that every company must act as though they were.
“DevOps is meant to denote a close collaboration and cross-pollination between
what were previously purely development roles, purely operations roles, and
purely QA roles. Because software needs to be released at an ever-increasing
rate, the old ‘waterfall’ develop-test-release cycle is seen as broken.
Developers must also take responsibility for the quality of the testing and
release environments.
“The increasing scope of responsibility of the ‘developer’ (whether or not that
term is even appropriate anymore is debatable) has given rise to a chimera-like
job candidate: the ‘full-stack’ developer. Such a developer is capable of doing
the job of developer, QA team member, operations analyst, sysadmin, and DBA.
Before you accuse me of hyperbole, go back and read that list again. Is there
any role in the list whose duties you wouldn’t expect a ‘full-stack’ developer
to be well versed in?
“Where did these concepts come from? Start-ups, of course (and the Agile
methodology). Start-ups are a peculiar beast and need to function in a very lean
way to survive their first few years. I don’t deny this. Unfortunately, we’ve
taken the multiple technical roles that engineers at start-ups were forced to
play due to lack of resources into a set of minimum qualifications for the role
of ‘developer.’ ”
“Imagine you’re at a start-up with a development team of seven. You’re one year
into development of a web application that Xs all the Ys, and things are going
well, though it’s always a frantic scramble to keep everything going. If there’s
a particularly nasty issue that seems to require deep database knowledge, you
don’t have the liberty of saying, ‘That’s not my specialty,’ and handing it off
to a DBA team to investigate. Due to constrained resources, you’re forced to
take on the role of DBA and fix the issue yourself.
“Now expand that scenario across all the roles listed earlier. At any one time,
a developer at a start-up may be acting as a developer, QA tester,
deployment/operations analyst, sysadmin, or DBA. That’s just the nature of the
business, and some people thrive in that type of environment. Somewhere along
the way, however, we tricked ourselves into thinking that because, at any one
time, a start-up developer had to take on different roles, he or she should
actually be all those things at once.
“If such people even exist, ‘full-stack’ developers still wouldn’t be used as
they should. Rather than temporarily taking on a single role for a short period
of time, then transitioning into the next role, they are meant to be performing
all the roles, all the time. Most good developers can almost pull this off.”
Certifications in DevOps
The DevOps certification realm is taking root quickly. One organization that is
out in front of the pack, however, is Amazon Web Services. If you want to make a
strong move into DevOps, then consider any of the following credentials.
AWS Certified DevOps Engineer – Professional
Description
The AWS Certified DevOps Engineer – Professional exam validates technical
expertise in provisioning, operating, and managing distributed application
systems on the AWS platform. Exam concepts you should understand for this exam
include the ability to:
● Implement and manage continuous delivery systems and methodologies on AWS
● Understand, implement, and automate security controls, governance processes,
and compliance validation
● Define and deploy monitoring, metrics, and logging systems on AWS
● Implement systems that are highly available, scalable, and self-healing on the
AWS platform
● Design, manage, and maintain tools to automate operational processes
Prerequisites
Required Prerequisite: status as AWS Certified Developer – Associate or AWS
Certified SysOps Administrator – Associate
Eligibility
● Two or more years’ experience in provisioning, operating, and managing AWS
environments
● Experience in developing code in at least one high-level programming language
● Experience in automation and testing via scripting/programming
● Understanding of agile and other development processes and methodologies
Exam
Multiple choice and multiple answer questions
170 minutes to complete the exam
Exam available in English
Exam registration fee is $300
DevOps is a hot trend in software development right now.AWS Certified SysOps
Administrator – Associate
Description
The AWS Certified SysOps Administrator – Associate exam validates technical
expertise in deployment, management, and operations on the AWS platform. Exam
concepts you should understand for this exam include:
● Deploying, managing, and operating scalable, highly available, and fault
tolerant systems on AWS
● Migrating an existing on-premises application to AWS
● Implementing and controlling the flow of data to and from AWS
● Selecting the appropriate AWS service based on compute, data, or security
requirements
● Identifying appropriate use of AWS operational best practices
● Estimating AWS usage costs and identifying operational cost control mechanisms
Prerequisites
No prerequisites; recommend taking System Operations on AWS
Eligibility
● One or more years of hands-on experience in operating AWS-based applications
● Experience in provisioning, operating, and maintaining systems running on AWS
● Ability to identify and gather requirements to define a solution to be built
and operated on AWS
● Capabilities to provide AWS operations and deployment guidance and best
practices throughout the lifecycle of a project
Exam
Multiple choice and multiple answer questions
80 minutes to complete the exam
Available in English, Japanese, Simplified Chinese, and Brazilian Portuguese
Practice Exam Registration fee is $20
Exam Registration fee is $150
AWS Certified Developer – Associate
Description
The AWS Certified Developer – Associate exam validates technical expertise in
developing and maintaining applications on the AWS platform. Exam concepts you
should understand for this exam include:
● Picking the right AWS services for the application
● Leveraging AWS SDKs to interact with AWS services from your application
● Writing code that optimizes performance of AWS services used by your
application
● Code-level application security (IAM roles, credentials, encryption, etc.)
Prerequisites
No prerequisites; recommend taking Developing on AWS
Eligibility
● One or more years of hands-on experience in designing and maintaining an AWS-based
application
● In-depth knowledge of at least one high-level programming language
● Understanding of core AWS services, uses, and basic architecture best
practices
● Proficiency in designing, developing, and deploying cloud-based solutions
using AWS
● Experience with developing and maintaining applications written for Amazon
Simple Storage Service, Amazon DynamoDB, Amazon Simple Queue Service, Amazon
Simple Notification Service, Amazon Simple Workflow Service, AWS Elastic
Beanstalk, and AWS Cloud Formation.
Exam
Multiple choice and multiple answer questions
80 minutes to complete the exam
Available in English, Simplified Chinese, and Japanese
Practice Exam Registration fee is $20
Exam Registration fee is $150
AWS Certified Solutions Architect – Professional
Description
The AWS Certified Solutions Architect – Professional exam validates advanced
technical skills and experience in designing distributed applications and
systems on the AWS platform. Example concepts you should understand for this
exam include:
● Designing and deploying dynamically scalable, highly available, fault
tolerant, and reliable applications on AWS
● Selecting appropriate AWS services to design and deploy an application based
on given requirements
● Migrating complex, multi-tier applications on AWS
● Designing and deploying enterprise-wide scalable operations on AWS
● Implementing cost control strategies
Prerequisites
Status as AWS Certified Solutions Architect – Associate
Eligibility
● Achieved AWS Certified Solutions Architect – Associate
● Two or more years’ hands-on experience in designing and deploying cloud
architecture on AWS
● Abilities to evaluate cloud application requirements and make architectural
recommendations for implementation, deployment, and provisioning applications on
AWS
● Capabilities to provide best practices guidance on the architectural design
across multiple applications, projects, or the enterprise
Exam
Multiple choice and multiple answer questions
170 minutes to complete the exam
Exam available in English and Japanese
Practice Exam Registration fee is $40
Exam Registration fee is $300
AWS Certified Solutions Architect – Associate
Description
Intended for individuals with experience in designing distributed applications
and systems on the AWS platform. Exam concepts you should understand for this
exam include:
● Designing and deploying scalable, highly available, and fault tolerant
systems on AWS
● Lift and shift of an existing on-premises application to AWS
● Ingress and egress of data to and from AWS
● Selecting the appropriate AWS service based on data, compute, database, or
security requirements
● Identifying appropriate use of AWS architectural best practices
● Estimating AWS costs and identifying cost control mechanisms
Prerequisites
None, but it is recommended that candidates take the Architecting on AWS and AWS
Certification Exam Readiness Workshop
Eligibility
● One or more years of hands-on experience in designing available, cost
efficient, fault tolerant, and scalable distributed systems on AWS
● In-depth knowledge of at least one high-level programming language
● Ability to identify and define requirements for an AWS-based application
● Experience with deploying hybrid systems with on-premises and AWS components
● Capability to provide best practices for building secure and reliable
applications on the AWS platform
Exam
Multiple choice and multiple answer questions
80 minutes to complete the exam
Available in English, Japanese, Simplified Chinese, Korean, French, German,
Spanish, and Brazilian Portuguese
Practice Exam Registration fee is $20
Exam Registration fee is $150
There's a lot of interest in DevOps in the IT world right now.AWS Certified
DevOps Engineer – Professional
Description
The AWS Certified DevOps Engineer – Professional exam validates technical
expertise in provisioning, operating, and managing distributed application
systems on the AWS platform. Exam concepts you should understand for this exam
include the ability to:
● Implement and manage continuous delivery systems and methodologies on AWS
● Understand, implement, and automate security controls, governance processes,
and compliance validation
● Define and deploy monitoring, metrics, and logging systems on AWS
● Implement systems that are highly available, scalable, and self-healing on the
AWS platform
● Design, manage, and maintain tools to automate operational processes
Prerequisites
AWS Certified Developer – Associate
AWS Certified SysOps Administrator – Associate
Eligibility
● Two or more years’ experience in provisioning, operating, and managing AWS
environments
● Experience in developing code in at least one high-level programming language
● Experience in automation and testing via scripting/programming
● Understanding of agile and other development processes and methodologies
Exam
Multiple choice and multiple answer questions
170 minutes to complete the exam
Exam available in English
Exam registration fee is $300