But with the right tools, AWS can also serve as Platform as a Service (PaaS), a higher level approach that adds a full software development stack. This way, software can be written and updated (what PaaS pros call iterating) more quickly.
This supports what developer pros call agile or sometimes lean software development.
This coincides with another hot trend – the rise of DevOps. According to theagileadmin.com, “DevOps is a new term emerging from the collision of two major related trends. The first was also called “agile system administration” or “agile operations”; it sprang from applying newer Agile and Lean approaches to operations work. The second is a much expanded understanding of the value of collaboration between development and operations staff throughout all stages of the development lifecycle when creating and operating a service, and how important operations has become in our increasingly service-oriented world.” In fact, DevOps is basically about IT and dev teams working more closely together.
According to a recent IDC report, AWS developer benefits are already being felt. “IT staff productivity increased by 52%. IT staff are thus able to improve support of mission-critical operations. Amazon cloud infrastructure services had significant impact on application development and deployment, reducing overall developer hours by 80%,” IDC said.
How does AWS OpsWorks Work?
Amazon has two main ways of delivering PaaS. One is AWS OpsWorks. “AWS OpsWorks is a flexible application management solution with automation tools that enable you to model and control your applications and their supporting infrastructure. AWS OpsWorks makes it easy to manage the complete application lifecycle, including resource provisioning, configuration management, application deployment, software updates, monitoring, and access control. AWS OpsWorks is designed for IT administrators and ops-minded developers who want an easy way to manage applications of nearly any scale and complexity without sacrificing control,” Amazon said. “With AWS OpsWorks you can create a logical architecture, provision resources based on that architecture, deploy your applications and all supporting software and packages in your chosen configuration, and then operate and maintain the application through lifecycle stages such as auto-scaling events and software updates.”
The other main approach to developers is AWS Elastic Beanstalk, a service for managing and building apps such as web services and web apps. Elastic Beanstalk supports .NET, Java, Python, Ruby and PHP.
Elastic Beanstalk is far more limited than OpsWorks, with Beanstalk aimed at middleware and commonly used web service and web app approaches.
OpsWorks can be used to build simple apps, but really excels when dealing with more complex fare.
“AWS OpsWorks delivers integrated experiences for IT administrators and ops-minded developers who want a high degree of productivity and control over operations,” Amazon said.
“AWS OpsWorks is targeted at DevOps users who want better management and automation tools to help them customize and control their environments,” Amazon concluded.
The Power of PaaS
PaaS isn’t just for new apps, but can “cloudify” existing apps – even legacy applications. With new apps, PaaS naturally leads developers to build modular, component-based apps rather than monoliths, and this makes them easier to manage and change.
Because the software is faster and easier to write and update, developers can support changes in the business or respond to requests from end users.
The PaaS mantra is “create, deploy, and freshen”. And it changes the way different corporate groups work together – and makes DevOps possible. “One aspect of PaaS that is often overlooked is that it solves a major source of friction between developers and IT operations. In most organization developers need to rely on IT to get hardware, OS, servers and configuration. And they need to ask for any changes over time. This is usually cumbersome since the goal of developers and IT operations are not aligned. IT operations are there to govern and control, making sure the company is not exposed, developers need to build applications and deliver quickly so that the business can start seeing value,” wrote Ross Mason on the Mulesoft blog. http://blogs.mulesoft.org/developers-why-use-a-paas/