HomeHomeDeveloperThe Developer of the Future Starts Here

The Developer of the Future Starts Here

How to be a Cloud Savvy Developer and Why

In 2011, Bob Violino wrote, “Whether developing, testing, or deploying your apps in the cloud, you have to unlearn some beliefs and learn new ones to make it work.” It still stands true today.

“Despite the potential challenges, for many organizations application development in the cloud rather than sticking with traditional methods makes sense, for the same reasons that cloud computing in general makes sense.”

Join us with CCC Professional Cloud Developer syllabus author, Vladimir Baranek, to find out exactly how cloud development makes sense and what one needs to know to become a cloud-savvy developer.

Questions from the audience

The participants have raised their hands and asked to Vladimir several questions. We decided to put this first as they were really on topic and inspirational.

Question 1

What is Openstack and why you would prefer it?

Question 2

Is there a difference between IAAS, PAAS and SAAS in terms of security?

Question 3

What kind of developer is best when deploying hybrid cloud solutions?

Question 4

What to study to be prepared for the PCD exam?


We have divided the recording of this webinar in 4 chapters. You can jump directly to the part that is more interesting and useful. If you have any question, please feel free to send an email to tristano.vacondio@cloudcredential.org

 

Chapther 1: Cloud Market & Cloud Development Today

The growth of cloud continues and the studies show the trends are highlighting the same issues. In the next few slides we will look at what is happening in industry.

$204 billion this year, a 16.5% increase over the $175 billion market in 2015, according to analyst firm Gartner.
Cloud application services, or SaaS, are also expected to show an upswing with 20.3% year-over-year growth, reaching $37.7 billion. Cloud management and security services, with 24.7% growth, and cloud application infrastructure services, known as PaaS, also is strong this year with an expected 21.1% growth.

The growth of cloud continues and the studies show the trends are highlighting the same issues. In the next few slides we will look at what is happening in industry.

$204 billion this year, a 16.5% increase over the $175 billion market in 2015, according to analyst firm Gartner.
Cloud application services, or SaaS, are also expected to show an upswing with 20.3% year-over-year growth, reaching $37.7 billion. Cloud management and security services, with 24.7% growth, and cloud application infrastructure services, known as PaaS, also is strong this year with an expected 21.1% growth.

http://www.computerworld.com/article/3026396/cloud-computing/global-public-cloud-market-expected-to-hit-204b-in-2016.html

A 2015 Evans study found nearly three-fourths of organizations are currently using some form of cloud-based development tool today for more than 25% of their workloads, and developers expect that percentage of organizations to exceed 80% in the next 12 months.
Developers have had the most impact on bringing cloud platforms into their businesses, driven by shadow IT to solve needs and innovate quickly. (Computerworld) Amazingly , this means that developers are driving cloud adoption way faster by moving new applications and refactoring of existing applications into the PaaS platforms.
Majority of Startups are focused on SaaS development as they ultimate business model for subscription-based offerings. Almost all of the SaaS development is native cloud-based development running on IaaS or PaaS stacks.

In the 2016 Salesforce State of IT Report (featured on Forbes.com) in which they surveyed global CIOs and IT leaders from the U.S., Canada, Brazil, Australia, Japan, France, the U.K., and Germany. They found:
79% of IT teams are currently developing Cloud apps for customers, partners and employees.
68% of CIOs predict they will spend more on mobile applications in the next two years.
Developing talent/IT skills development and training are second at 46%,
33% of IT teams struggle to keep up their skills with emerging technologies. – 32% struggle with lack of skilled developers.

Chapther 2: Cloud Demands & Challenges

The Salesforce study found: 63% Of Companies Operating In The Cloud Can Develop An App In 3 Months Or Less. 72% of high-performance companies can generate an app in 3 months or less. In contrast, only 46% of underperformers can do the same. This ties into the level of investment that high-performing companies make in training, which is nearly twice as much as lower-performing companies.
High-performing IT teams are 1.8X more likely to spend on customer-facing apps. They are also 1.4X more likely to plan on increasing spending in mobile apps. Overall, 76% of high-performing IT teams predict they are increasing spending on customer-facing and mobile apps.
Evans Data Cloud Development Survey revealed that:
Cloud app dev saves developers 1 hour of every 8
Development on Cloud platforms reduces overall development time by an average of 11.6 percent
Utilizing developers in cloud platforms enables streamlining the development process, including the ability to quickly get the development assets online. Cloud developers have the ability to collaborate with other developers, architects, and designers on the development of the application

Majority of organizations are planning to spend most $ on High Performers , which in translation means – increased spending on true cloud developers delivering Customer facing and Mobile applications over the next 2 years. This comes with a strong prediction to continuous growth beyond this period.

Cloud platforms simplify application development by decreasing associated time and cost while linking production to scale.

Chapther 3: The Cloud Savvy Developer

The next generation of development is happening now. What do developers need to keep up?

The days of writing an application that goes down or becomes unavailable are long gone—this is simply no longer acceptable. The end user’s expectation is that once your service is “alive,” it’s always available and it always performs reasonably well. The only way to do that is to ensure that you’ve built a highly resilient, interoperable, robust application.

Historically, responsibility of deploying and operating the code is often handed to another group with the software developer having little input or knowledge of the production environment.
Developers today must take a bit more holistic, operational mindset approach to their work. They must understand full-stack engineering, including deployment automation, and possess an understanding of the infrastructure supporting their application and the non-functional characteristics of the application.
There are multiple areas related to this architecture mindset. To name just a few:
Deployment topology, operational environment, points of failure, data encryption, access and authorization, scalability, key monitoring metrics and more…
Unfortunately, most developers don’t approach a development project with this mindset. As we move into the new era of cloud development — deploying, configuring, and operating a cloud application is much more important and more difficult than developing the function.
Cloud related skills
Cloud developers need to have a basic understanding of cloud resources and how they relate to one another.
Building cloud-native applications is very different from building isolated, packaged application that runs behind a firewall. To do this effectively, developers must know multiple advanced techniques to scale applications, support monitoring and accessibility spanning multiple availability zones, automate fail-over, replication, integrate security protocols etc.
Cloud services are constantly evolving – they are more interoperable and granular. Good example is virtualized containers such a docker, which eliminated need for virtual machines – therefore enabled transition from Administrators to DEvelopers running their own environments. Cloud Developers should deeply understand how to leverage cloud for developing resilient, high-availability cloud-native applications. At minimum, all cloud developers needs to understand basic cloud capabilities if they plan to build cloud-native applications.
Adopt DevOps practices.
In the era of XaaS (anything as a service) , it’s necessary to operate your application within a cloud environment with repeatable and reliable processes in order to enable automated deployment and configuration of your cloud resources and components deployed to cloud.
The only way to effectively automate the delivery of changes to your application running in the cloud—whether public, private or hybrid—is by following strict DevOps processes with assumption there is no disruption to production environment.
It’s also important to apply lean startup thinking when developing cloud applications. Fundamentally, DevOps practices are essential to continuous delivery of change.

Chapther 4: The Professional Cloud Developer Skills and Competences

Here you can find what is inside each module of the Professional Cloud Developer Course

  • 1
  • Multi-form and platform factors (target deployment models and platforms)
    Cloud caching (distributed and federated cache)
    Restful vs. restless services and session state management
    Designing for failure (Designing to expect failure)
    Bulk API for bulk data uploads with locking mechanism
    Stateful vs. stateless
    Foundational knowledge about cloud parsers

  • 2
  • Migration and Encapsulation of Existing Legacy Apps to a Cloud Platform
    Expose Business Logic as a Web Service (Enabler of BPaaS)
    Cloud Messaging
    Integration of Database as a Service
    Transactional Coding in the Cloud
    DevOps vs. NoOps

  • 3
  • License Models Comparison
    Developing for Cost
    Hidden Cost of Cloud Development
    Software License Models
    Insource/Outsource and Crowdsource
    Monetizing Apps Through Application Markets

  • 4
  • oAuth, SAML, and SSO Supported in Cloud Environments
    Integration with Identity as a Service (IDaaS)
    Security at Every Layer
    Custom Security Roles (Deployment Descriptors)
    Encryption and Anonymization techniques
    Developing for Compliance (FISMA, FIPS 140, and PCI DSS)

  • 5
  • Semantic fundamentals
    OWL/RDF
    Open metadata and metadata API

  • 6
  • Cloud Testing Deployment and Goals
    Generic Stages of Cloud and Non-Cloud Testing and Development Life Cycles
    Utilization of Crowdsourcing for Massive Cross-Platform Testing
    Cloud Testing Automation (Testing Script Development)
    Cloud Component, Package, and Solution Testing
    Cloud Testing Frameworks
    Public Sandbox Versus Private Sandbox Features

  • 7
  • Polyglotism or Coding Languages in the Cloud
    Designing to Handle Massive Success (Agility of Developed Solution)
    Performance Engineering for Scalability, Reliability, and Recovery

  • 8
  • Service/application deployment into public, private and community clouds
    Automated cloud bursting

  • 9
  • Understand differences between native PaaS and CePaaS (Cloud-enabled Platform as a Service)
    Platform scalability and importance of open platform APIs
    Isolation of tenant customizations and extensions to business logic
    Horizontal scalability to support real-time addition of new tenants or users
    Isolation of tenant execution characteristics (performance, availability)
    Isolation of tenant workspace (memory)
    Tenant-aware error-tracking and recovery
    Multi-tenant data access controls

  • 10
  • Compare the choices of an appropriate application architecture concept in a given scenario.
    Open Source and Technology Driven PaaS
    Cloud Enabled Data Access Frameworks

  • 11
  • Understand Device Based Platforms
    Interoperable Platforms
    Code Share: Sharing Source Code Across Organizations
    Cloud Persistence Coding

  • 12
  • Developing Apps as SaaS solutions for Deploying to App Stores
    Cross-Platform Application Cloud Catalogs (Markets)
    Developing Apps as SaaS Solutions for Single and Multi-Tenancy Models
    BYOD Concepts

  • 13
  • API Development
    Mashup orchestration and workflows
    Mashup framework landscape
    Mobile Coding
    Social APIs
    Understanding Major Open APIs (Google, eBay, Youtube, and SoundCloud)

    Watch the full recording and find the slides from the proesentation

    About the Speaker

    Vladimir

    Vladimir Baranek

    Vladimir Baranek is an executive senior advisor for Fortune 500 companies and technology evangelist with more than 23 years of experience leading global professional services, consulting and delivery organizations. His extensive global experience includes work in 22 countries with projects spanning all over the world. He is author of the Cloud Credential Council Professional Cloud Developer certification syllabus and ITpreneurs courseware. Vladimir is author of MetaX methodology and InfoTrance theory, aimed to connect streams of semantically based information and concentrate them inside InfoHubs. His latest activities are focused on definition of 3 dimensional ecosystem based cloud architecture and integrated MetaSystem layers beneath.