Function as a Service (FaaS)

Function as a Service (FaaS) provides an approach to reduce IT operational costs, deploy services faster, and be more responsive to customer and mission demands. As part of the growing “as a service” models, FaaS provides high efficiencies in computer workflows and processes by utilizing cloud technologies (on-premise and/or public clouds) enabling serverless application development and management via event-based architecture. Application strings of code sit dormant until triggered by events from the user, at which time, the functions/tasks are spun up and outsourced to the serverless architecture. The code is able to execute and scale to meet the needs of the intended functions and then terminate until requested again, thereby reducing the overall infrastructure overhead.

Mission Impact

  • Reduce overall development costs by decoupling features from the managing infrastructure
  • Utilize functions to develop, run and manage applications functionalities without the complexity of building and maintaining their own infrastructure
  • Reduce IT Operational costs while increasing performance and eliminating idle capacity
  • Increase responsiveness to customer demand with expedited deployment and scalability
  • Optimize business logic with code and asynchronous event triggers
  • Replace traditional servers dedicated to specific applications by abstracting infrastructure functions to cloud architected serverless infrastructure

Features

  • Just-in-time applications
  • Simplified growth (reactive architecture versus reactive programing)
  • Reduces cost and speed of delivery (pay as you go with auto scaling)
  • Ephemeral functions-based (quickly spinning up and then down on invocation)
  • Reduces compute unit creation time from months to milliseconds

Use Cases

  • Organizations looking to simplify infrastructure management and reduce unused resources
  • Organizations that have functions driven by schedule, location, event and/or specific action
  • Organizations that perform frequent data transformations including mobile image manipulation, voice packets to JavaScript Object Notation (JSON) transformation, PDF generation
  • Organizations that leverage Clickstream and other real-time streaming data processes
  • Organizations that need to leverage the Internet of Things (IoT)
  • Organizations looking for faster ways to deploy new features

Infographic

FaaS Graphic

Considerations

  • Regulatory or corporate restrictions that do not allow functions to run in a shared environment
  • Operational overhead is still required to provision and deploy functions, data-stores, and connectors
  • FaaS refers to the runtime on which a serverless architecture is built that can be established on-premise or via cloud providers
  • Design for efficiencies for only single action functions, however they can be chained upon one another for more complex applications
  • Serverless architecture requires coordination and orchestration that can pose a challenge to existing tools and operating models
  • Auto-scaling of function may increase costs which can make it difficult to initially budget service offering without usage trending data

ValidaTek’s Process

  1. Define activities to develop and refine the project scope and constraints.
         a. Solution banding – constraining the solution in terms of scope
         b. Identifying stakeholders – programs, initiatives, and standards and management role
         c. Security classification – reviewing the stakeholders and requirements to develop classification guidance
  2. Perform analysis activities based on gap analysis
         a. Identify current as-is state
         b. Catalog current requirements (both satisfied and unmet)
         c. Identify future requirements including when required
  3. Synthesize results in heat map of solution candidates
         a. Analysis of Alternatives
         b. Critical Success Factors
  4. Perform validation activities to complete the alignment of the
         a. Threat/Ops Environment
         b. Functional Solutions Analysis
         c. Creation of Architecture products
         d. Completed solution design
  5. Perform integration, testing and implementation
         a. Establish environment
         b. Develop application
         c. Test
         d. Deploy
  6. Ensure continual operations 
         a. Implement Key Performance Indicators (KPIs)
         b. Train
         c. Monitor

 

 

For More Information

Email: [email protected]
Phone: 703-972-2272